mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-21 06:24:07 +08:00
clang: Keep -qrtems and -B for compilers without -specs support
This is needed for building rtems correctly with Clang. Note that this change does not mean rtems can build correctly with mainline clang. However the change allows building rtems with a Clang toolchain that has a rtems frontend similar that of GCC's builtin rtems specs.
This commit is contained in:
committed by
Daniel Hellstrom
parent
9ed109cc7f
commit
5cbc9c5922
@@ -28,10 +28,12 @@ test "$rtems_cv_gcc_pipe" = "yes" && CC="$CC --pipe"
|
||||
dnl check if the compiler supports --specs
|
||||
RTEMS_GCC_SPECS
|
||||
|
||||
AS_IF([test x"$rtems_cv_gcc_specs" = xyes],[
|
||||
dnl Compilers that does not support --specs (Clang) still needs -B and -qrtems
|
||||
GCCSPECS="-B\$(RTEMS_SOURCE_ROOT)/bsps/\$(RTEMS_CPU)/\$(RTEMS_BSP_FAMILY)/start"
|
||||
GCCSPECS="${GCCSPECS} -specs bsp_specs -qrtems"])
|
||||
AS_IF([test x"$rtems_cv_gcc_specs" = xyes],[
|
||||
GCCSPECS="${GCCSPECS} -specs bsp_specs"])
|
||||
AC_SUBST(GCCSPECS)
|
||||
GCCSPECS="${GCCSPECS} -qrtems"
|
||||
|
||||
AS_IF([test "$GCC" = yes],[
|
||||
RTEMS_RELLDFLAGS="-qnolinkcmds -nostdlib -r"
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
dnl Check whether the target compiler accepts -specs
|
||||
|
||||
AC_DEFUN([RTEMS_GCC_SPECS],
|
||||
[AC_REQUIRE([RTEMS_PROG_CC])
|
||||
AC_CACHE_CHECK(whether $CC accepts -specs,rtems_cv_gcc_specs,
|
||||
[
|
||||
rtems_cv_gcc_specs=no
|
||||
if test x"$GCC" = x"yes"; then
|
||||
touch confspec
|
||||
echo 'void f(){}' >conftest.c
|
||||
if test -z "`${CC} -specs confspec -c conftest.c 2>&1`";then
|
||||
rtems_cv_gcc_specs=yes
|
||||
fi
|
||||
fi
|
||||
rm -f confspec conftest*
|
||||
])])
|
||||
@@ -24,9 +24,14 @@ AC_DEFUN([RTEMS_PROG_CC_FOR_TARGET],
|
||||
dnl check target cc
|
||||
RTEMS_PROG_CC
|
||||
|
||||
dnl check if the compiler supports -specs
|
||||
RTEMS_GCC_SPECS
|
||||
|
||||
AS_IF([test x"$GCC" = xyes],[
|
||||
GCCSPECS="-B\$(RTEMS_SOURCE_ROOT)/bsps/\$(RTEMS_CPU)/\$(RTEMS_BSP_FAMILY)/start"
|
||||
GCCSPECS="${GCCSPECS} -specs bsp_specs -qrtems"])
|
||||
AS_IF([test x"$rtems_cv_gcc_specs" = xyes],[
|
||||
GCCSPECS="${GCCSPECS} -specs bsp_specs"])
|
||||
GCCSPECS="${GCCSPECS} -qrtems"])
|
||||
AC_SUBST(GCCSPECS)
|
||||
|
||||
RTEMS_INCLUDES
|
||||
|
||||
Reference in New Issue
Block a user