Updated build scripts to Irix when not using gcc. Thanks to

Rainer M. Canavan for the patch.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2338 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2012-01-06 22:38:09 +00:00
parent 35255514c8
commit 3c94923720
2 changed files with 124 additions and 49 deletions

View File

@ -49,13 +49,18 @@ ifdef CXXFLAGS
else else
CXXFLAGS:= -O2 CXXFLAGS:= -O2
endif endif
CXXFLAGS+= -Wall -Wno-multichar -Wunused -fno-rtti CXXFLAGS+= -Wall
ifdef HAVE_GCC
CXXFLAGS+= -Wno-multichar -Wunused -fno-rtti
endif
ifdef PROFILE ifdef PROFILE
PROF:= -g -pg -fprofile-arcs -ftest-coverage PROF:= -g -pg -fprofile-arcs -ftest-coverage
CXXFLAGS+= $(PROF) CXXFLAGS+= $(PROF)
else else
CXXFLAGS+= -fomit-frame-pointer ifdef HAVE_GCC
CXXFLAGS+= -fomit-frame-pointer
endif
endif endif
# Even more warnings... # Even more warnings...
@ -121,19 +126,22 @@ clean:
.PHONY: all clean dist distclean .PHONY: all clean dist distclean
.SUFFIXES: .cxx .SUFFIXES: .cxx
ifndef HAVE_GCC3
ifndef CXX_UPDATE_DEP_FLAG
# If you use GCC, disable the above and enable this for intelligent # If you use GCC, disable the above and enable this for intelligent
# dependency tracking. # dependency tracking.
CXX_UPDATE_DEP_FLAG = -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d2"
.cxx.o: .cxx.o:
$(MKDIR) $(*D)/$(DEPDIR) $(MKDIR) $(*D)/$(DEPDIR)
$(CXX) -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d2" $(CXXFLAGS) $(CPPFLAGS) -c $(<) -o $*.o $(CXX) $(CXX_UPDATE_DEP_FLAG) $(CXXFLAGS) $(CPPFLAGS) -c $(<) -o $*.o
$(ECHO) "$(*D)/" > $(*D)/$(DEPDIR)/$(*F).d $(ECHO) "$(*D)/" > $(*D)/$(DEPDIR)/$(*F).d
$(CAT) "$(*D)/$(DEPDIR)/$(*F).d2" >> "$(*D)/$(DEPDIR)/$(*F).d" $(CAT) "$(*D)/$(DEPDIR)/$(*F).d2" >> "$(*D)/$(DEPDIR)/$(*F).d"
$(RM) "$(*D)/$(DEPDIR)/$(*F).d2" $(RM) "$(*D)/$(DEPDIR)/$(*F).d2"
.c.o: .c.o:
$(MKDIR) $(*D)/$(DEPDIR) $(MKDIR) $(*D)/$(DEPDIR)
$(CXX) -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d2" $(CXXFLAGS) $(CPPFLAGS) -c $(<) -o $*.o $(CXX) $(CXX_UPDATE_DEP_FLAG) $(CXXFLAGS) $(CPPFLAGS) -c $(<) -o $*.o
$(ECHO) "$(*D)/" > $(*D)/$(DEPDIR)/$(*F).d $(ECHO) "$(*D)/" > $(*D)/$(DEPDIR)/$(*F).d
$(CAT) "$(*D)/$(DEPDIR)/$(*F).d2" >> "$(*D)/$(DEPDIR)/$(*F).d" $(CAT) "$(*D)/$(DEPDIR)/$(*F).d2" >> "$(*D)/$(DEPDIR)/$(*F).d"
$(RM) "$(*D)/$(DEPDIR)/$(*F).d2" $(RM) "$(*D)/$(DEPDIR)/$(*F).d2"
@ -144,11 +152,11 @@ else
# which ensures a smooth compilation even if said headers become obsolete. # which ensures a smooth compilation even if said headers become obsolete.
.cxx.o: .cxx.o:
$(MKDIR) $(*D)/$(DEPDIR) $(MKDIR) $(*D)/$(DEPDIR)
$(CXX) -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP $(CXXFLAGS) $(CPPFLAGS) -c $(<) -o $*.o $(CXX) $(CXX_UPDATE_DEP_FLAG) $(CXXFLAGS) $(CPPFLAGS) -c $(<) -o $*.o
.c.o: .c.o:
$(MKDIR) $(*D)/$(DEPDIR) $(MKDIR) $(*D)/$(DEPDIR)
$(CXX) -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP $(CXXFLAGS) $(CPPFLAGS) -c $(<) -o $*.o $(CXX) $(CXX_UPDATE_DEP_FLAG) $(CXXFLAGS) $(CPPFLAGS) -c $(<) -o $*.o
endif endif
# Include the dependency tracking files. We add /dev/null at the end # Include the dependency tracking files. We add /dev/null at the end

151
configure vendored
View File

@ -68,14 +68,27 @@ cc_check() {
echo >> "$TMPLOG" echo >> "$TMPLOG"
cat "$TMPC" >> "$TMPLOG" cat "$TMPC" >> "$TMPLOG"
echo >> "$TMPLOG" echo >> "$TMPLOG"
echo "$CXX $TMPC -o $TMPO$EXEEXT $@" >> "$TMPLOG" echo "$CXX $TMPC $LDFLAGS -o $TMPO$EXEEXT $@" >> "$TMPLOG"
rm -f "$TMPO$EXEEXT" rm -f "$TMPO$EXEEXT"
( $CXX "$TMPC" -o "$TMPO$EXEEXT" "$@" ) >> "$TMPLOG" 2>&1 ( $CXX "$TMPC" $LDFLAGS -o "$TMPO$EXEEXT" "$@" ) >> "$TMPLOG" 2>&1
TMP="$?" TMP="$?"
echo >> "$TMPLOG" echo >> "$TMPLOG"
return "$TMP" return "$TMP"
} }
cc_check_define() {
cat > $TMPC << EOF
int main(void) {
#ifndef $1
syntax error
#endif
return 0;
}
EOF
cc_check -c
return $?
}
echocheck () { echocheck () {
echo_n "Checking for $@... " echo_n "Checking for $@... "
} }
@ -99,12 +112,19 @@ EOF
if test -n "$_host"; then if test -n "$_host"; then
# In cross-compiling mode, we cannot run the result # In cross-compiling mode, we cannot run the result
eval "$1 -o tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp 2> /dev/null" && rm -f tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp eval "$1 $LDFLAGS -o tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp 2> /dev/null" && rm -f tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp
else else
eval "$1 -o tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp 2> /dev/null" && eval "./tmp_cxx_compiler 2> /dev/null" && rm -f tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp eval "$1 $LDFLAGS -o tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp 2> /dev/null" && eval "./tmp_cxx_compiler 2> /dev/null" && rm -f tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp
fi fi
} }
# Add a line of data to config.mk.
add_line_to_config_mk() {
_config_mk_data="$_config_mk_data"'
'"$1"
}
# #
# Determine sdl-config # Determine sdl-config
# #
@ -376,57 +396,102 @@ fi
echocheck "compiler version" echocheck "compiler version"
cxx_name=`( $cc -v ) 2>&1 | tail -n 1 | cut -d ' ' -f 1` have_gcc=no
cxx_version=`( $CXX -dumpversion ) 2>&1` cc_check_define __GNUC__ && have_gcc=yes
if test "$?" -gt 0; then
cxx_version="not found" if test "$have_gcc" = yes; then
cxx_name=`( $cc -v ) 2>&1 | tail -n 1 | cut -d ' ' -f 1`
cxx_version=`( $CXX -dumpversion ) 2>&1`
if test "$?" -gt 0; then
cxx_version="not found"
fi
case $cxx_version in
2.95.[2-9]|2.95.[2-9][-.]*|3.[0-9]|3.[0-9].[0-9]|3.[0-9].[0-9][-.]*|4.[0-9]|4.[0-9].[0-9]|4.[0-9].[0-9][-.]*)
_cxx_major=`echo $cxx_version | cut -d '.' -f 1`
_cxx_minor=`echo $cxx_version | cut -d '.' -f 2`
cxx_version="$cxx_version, ok"
cxx_verc_fail=no
;;
# whacky beos version strings
2.9-beos-991026*|2.9-beos-000224*)
_cxx_major=2
_cxx_minor=95
cxx_version="$cxx_version, ok"
cxx_verc_fail=no
;;
3_4)
_cxx_major=3
_mxx_minor=4
;;
'not found')
cxx_verc_fail=yes
;;
*)
cxx_version="$cxx_version, bad"
cxx_verc_fail=yes
;;
esac
if test "$_cxx_major" -ge "3" ; then
CXXFLAGS="$CXXFLAGS"
_make_def_HAVE_GCC3='HAVE_GCC3 = 1'
add_line_to_config_mk 'CXX_UPDATE_DEP_FLAG = -MMD -MF "$(*D)/$(DEPDIR)/$(*F).d" -MQ "$@" -MP'
fi;
_make_def_HAVE_GCC='HAVE_GCC = 1'
echo "$cxx_version"
else
cxx_version=`( $CXX -version ) 2>&1`
if test "$?" -eq 0; then
cxx_version="`echo "${cxx_version}" | sed -ne 's/^.*[^0-9]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/gp'`"
if test -z "${cxx_version}"; then
cxx_version="not found"
cxx_verc_fail=yes
fi
echo non-gcc compiler version ${cxx_version}
else
cxx_version="not found"
cxx_verc_fail=yes
echo found non-gcc compiler version ${cxx_version}
fi
CXXFLAGS="$CXXFLAGS"
case $_host_os in
irix*)
case $cxx_version in
7.4.4*)
# We just assume this is SGI MIPSpro
_cxx_major=7
_cxx_minor=4
cxx_verc_fail=no
add_line_to_config_mk 'CXX_UPDATE_DEP_FLAG = -MDupdate "$(*D)/$(DEPDIR)/$(*F).d"'
add_line_to_config_mk '-include Makedepend'
;;
*)
cxx_version="$cxx_version, bad"
cxx_verc_fail=yes
;;
esac
;;
*)
cxx_version="$cxx_version, bad"
cxx_verc_fail=yes
;;
esac
fi fi
case $cxx_version in
2.95.[2-9]|2.95.[2-9][-.]*|3.[0-9]|3.[0-9].[0-9]|3.[0-9].[0-9][-.]*|4.[0-9]|4.[0-9].[0-9]|4.[0-9].[0-9][-.]*)
_cxx_major=`echo $cxx_version | cut -d '.' -f 1`
_cxx_minor=`echo $cxx_version | cut -d '.' -f 2`
cxx_version="$cxx_version, ok"
cxx_verc_fail=no
;;
# whacky beos version strings
2.9-beos-991026*|2.9-beos-000224*)
_cxx_major=2
_cxx_minor=95
cxx_version="$cxx_version, ok"
cxx_verc_fail=no
;;
3_4)
_cxx_major=3
_mxx_minor=4
;;
'not found')
cxx_verc_fail=yes
;;
*)
cxx_version="$cxx_version, bad"
cxx_verc_fail=yes
;;
esac
echo "$cxx_version"
if test "$cxx_verc_fail" = yes ; then if test "$cxx_verc_fail" = yes ; then
echo echo
echo "The version of your compiler is not supported at this time" echo "The version of your compiler is not supported at this time"
echo "Please ensure you are using GCC 2.95.x or GCC 3.x" echo "Please ensure you are using GCC 2.95.x or GCC 3.x"
exit 1 #exit 1
fi fi
# #
# Do CXXFLAGS now we know the compiler version # Do CXXFLAGS now we know the compiler version
# #
if test "$_cxx_major" -ge "3" ; then
CXXFLAGS="$CXXFLAGS"
_make_def_HAVE_GCC3='HAVE_GCC3 = 1'
fi;
if test -n "$_host"; then if test -n "$_host"; then
# Cross-compiling mode - add your target here if needed # Cross-compiling mode - add your target here if needed
case "$_host" in case "$_host" in
@ -821,12 +886,14 @@ DOCDIR := $_docdir
DATADIR := $_datadir DATADIR := $_datadir
PROFILE := $_build_profile PROFILE := $_build_profile
$_make_def_HAVE_GCC
$_make_def_HAVE_GCC3 $_make_def_HAVE_GCC3
INCLUDES += $INCLUDES INCLUDES += $INCLUDES
OBJS += $OBJS OBJS += $OBJS
DEFINES += $DEFINES DEFINES += $DEFINES
LDFLAGS += $LDFLAGS LDFLAGS += $LDFLAGS
$_config_mk_data
EOF EOF
# This should be taken care of elsewhere, but I'm not sure where # This should be taken care of elsewhere, but I'm not sure where