summary refs log tree commit diff
path: root/ports/sysdeps/arm/preconfigure
blob: d98c167a95e87513931fdd4c2e01926034e819ef (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
case "$machine" in
arm*)
	base_machine=arm
	case $config_os in
	linux-gnueabi*)
		# Lets ask the compiler which ARM family we've got
		# Unfortunately it doesn't define any flags for implementations
		# that you might pass to -mcpu or -mtune
		# Note if you add patterns here you must ensure that
		# an appropriate directory exists in sysdeps/arm
		archcppflag=`echo "" |
		$CC $CFLAGS $CPPFLAGS -E -dM - |
		  grep __ARM_ARCH |
		  sed -e 's/^#define //' -e 's/ .*//'`

		case x$archcppflag in
		x__ARM_ARCH_[89]*__)
		  machine=armv7
		  echo "Found compiler is configured for something newer than v7 - using v7"
		  ;;

		x__ARM_ARCH_7A__)
		  machine=armv7
		  echo "Found compiler is configured for $machine"
		  ;;

		x__ARM_ARCH_6T2__)
		  machine=armv6t2
		  echo "Found compiler is configured for $machine"
		  ;;

		*)
		  machine=arm
		  echo 2>&1 "arm/preconfigure: Did not find ARM architecture type; using default"
		  ;;
		esac

		machine=arm/$machine
		if [ "${CFLAGS+set}" != "set" ]; then
		  CFLAGS="-g -O2"
		fi
		CFLAGS="$CFLAGS -fno-unwind-tables"
		;;
	*)
		echo "Old ABI no longer supported" 2>&1
		exit 1
		;;
	esac
	;;
esac