#
#   
#
# Copyright 1990-2006 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
#

#
# Build Linux/ARM for Linux 2.6 with VFP support, but by-pass the VFP
# support code in the Linux kernel. All FP operations that (1) are
# "bounced" by the VFP hardware, or (2) cause FP exceptions, are
# re-executed by the FP software emulation code built into the VM.
# This configuration makes it possible to provide TCK-compilant FP
# math inside a process that's configured to run in the VFP "RunFast"
# mode. Please refer to the VM Porting Guide for more information.
#
# The gcc flags below are based on the GCC released on
# www.codesourcery.com. If you use another GCC distribution, you may
# need to change the flags.
#

export ENABLE_SOFT_FLOAT               := true
export ENABLE_SOFT_FLOAT__BY           := linux_arm_vfp_soft.cfg
export ENABLE_FLOAT                    := true
export ENABLE_FLOAT__BY                := linux_arm_vfp_soft.cfg
export ENABLE_ARM_VFP                  := true
export ENABLE_ARM_VFP__BY              := linux_arm_vfp_soft.cfg
export ENABLE_ARM9_VFP_BUG_WORKAROUND  := false
export ENABLE_ARM9_VFP_BUG_WORKAROUND__BY  := linux_arm_vfp_soft.cfg


ifndef GNU_TOOLS_DIR 
GNU_TOOLS_DIR = /export/arm/linux2.6.12/bin/gcc/2005Q1B/arm-none-linux-gnueabi
endif

# This is required by new ARM EABI in order to support VFP on
# little-endian platforms. If you have a big-endian platform, you need
# to change this accordingly.
# (MSW_FIRST_FOR_DOUBLE was used only by the deprecated FPA architecture).
ifndef ALWAYS_LSW_FIRST_FOR_DOUBLE
export ALWAYS_LSW_FIRST_FOR_DOUBLE := true
endif

# Linux-arm generic configuration setting.
include $(JVMWorkSpace)/build/linux_arm/linux_arm.cfg

ifeq ($(IsTarget),true)
    CPP_DEF_FLAGS += -mfloat-abi=softfp -mfpu=vfp
    ASM_FLAGS += -mfpu=vfp
endif
