ifeq ($(ARCH),i386)
CFLAGS+=-fomit-frame-pointer
-OP_CFLAGS=$(CFLAGS) -malign-functions=0 -mpreferred-stack-boundary=2
+OP_CFLAGS=$(CFLAGS) -mpreferred-stack-boundary=2
+ifeq ($(GCC_MAJOR),3)
+OP_CFLAGS+= -falign-functions=0
+else
+OP_CFLAGS+= -malign-functions=0
+endif
endif
ifeq ($(ARCH),ppc)
OP_CFLAGS=$(CFLAGS)
endif
+ifeq ($(GCC_MAJOR),3)
+# very important to generate a return at the end of every operation
+OP_CFLAGS+=-fno-reorder-blocks -fno-optimize-sibling-calls
+endif
+
#########################################################
DEFINES+=-D_GNU_SOURCE
TMPC="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.c"
TMPO="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.o"
+TMPE="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}"
TMPS="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.S"
TMPH="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.h"
fi
+# check gcc version
+gcc_major="2"
+gcc_version="$($cc -v 2>&1 | grep version | cut -d ' ' -f3-)"
+case "$gcc_version" in
+3.*) gcc_major="3";
+;;
+esac
+
if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
cat << EOF
echo "#define CONFIG_GEMU_PREFIX \"$prefix\"" >> $TMPH
echo "MAKE=$make" >> config.mak
echo "CC=$cc" >> config.mak
+echo "GCC_MAJOR=$gcc_major" >> config.mak
echo "HOST_CC=$host_cc" >> config.mak
echo "AR=$ar" >> config.mak
echo "STRIP=$strip -s -R .comment -R .note" >> config.mak