Mercurial > ecos
changeset 2748:644d2e82078f
Add architectural CFLAGS and LDFLAGS
| author | bartv |
|---|---|
| date | Mon, 02 Feb 2009 19:02:40 +0000 |
| parents | 26f2d00fc565 |
| children | 82f1df43f011 |
| files | packages/hal/arm/arch/current/ChangeLog packages/hal/arm/arch/current/cdl/hal_arm.cdl |
| diffstat | 2 files changed, 43 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/hal/arm/arch/current/ChangeLog +++ b/packages/hal/arm/arch/current/ChangeLog @@ -1,3 +1,8 @@ +2009-02-02 Bart Veer <bartv@ecoscentric.com> + + * cdl/hal_arm.cdl: add new architectural CFLAGS and LDFLAGS + options. + 2008-10-07 Jonathan Larmour <jifl@eCosCentric.com> * src/arm.ld: Discard C++ EH-related sections when we can't
--- a/packages/hal/arm/arch/current/cdl/hal_arm.cdl +++ b/packages/hal/arm/arch/current/cdl/hal_arm.cdl @@ -130,6 +130,44 @@ cdl_package CYGPKG_HAL_ARM { Use the CPU in big-endian mode." } + cdl_option CYGBLD_ARCH_CFLAGS { + display "Architecture-specific compiler flags" + parent CYGBLD_GLOBAL_OPTIONS + flavor data + no_define + calculated { (CYGHWR_THUMB ? "-mthumb " : "") . + (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "-mno-thumb-interwork ") . + (CYGHWR_HAL_ARM_BIGENDIAN ? "-mbig-endian " : "") + } + requires { CYGHWR_THUMB implies is_substr(CYGBLD_GLOBAL_CFLAGS, "-mthumb ") } + requires { !CYGHWR_THUMB implies !is_substr(CYGBLD_GLOBAL_CFLAGS, "-mthumb ") } + requires { CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies is_substr(CYGBLD_GLOBAL_CFLAGS, "-mthumb-interwork") } + requires { CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies !is_substr(CYGBLD_GLOBAL_CFLAGS, "-mno-thumb-interwork") } + requires { !CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies !is_substr(CYGBLD_GLOBAL_CFLAGS, "-mthumb-interwork") } + requires { !CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies is_substr(CYGBLD_GLOBAL_CFLAGS, "-mno-thumb-interwork") } + requires { CYGHWR_HAL_ARM_BIGENDIAN implies is_substr(CYGBLD_GLOBAL_CFLAGS, "-mbig-endian") } + requires { !CYGHWR_HAL_ARM_BIGENDIAN implies !is_substr(CYGBLD_GLOBAL_CFLAGS, "-mbig-endian") } + } + + cdl_option CYGBLD_ARCH_LDFLAGS { + display "Architecture-specific linker flags" + parent CYGBLD_GLOBAL_OPTIONS + flavor data + no_define + calculated { (CYGHWR_THUMB ? "-mthumb " : "") . + (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "-mno-thumb-interwork ") . + (CYGHWR_HAL_ARM_BIGENDIAN ? "-mbig-endian " : "") + } + requires { CYGHWR_THUMB implies is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mthumb ") } + requires { !CYGHWR_THUMB implies !is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mthumb ") } + requires { CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mthumb-interwork") } + requires { CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies !is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mno-thumb-interwork") } + requires { !CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies !is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mthumb-interwork") } + requires { !CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mno-thumb-interwork") } + requires { CYGHWR_HAL_ARM_BIGENDIAN implies is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mbig-endian") } + requires { !CYGHWR_HAL_ARM_BIGENDIAN implies !is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mbig-endian") } + } + cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 { display "The platform uses a processor with an ARM7 core" }
