Split FLAGS into CFLAGS and LDFLAGS.

The clang compiler on MacOS 10.9 (Maverick) generated a warning when
LDFLAGS where passed on the command line. This change lets the RSB
build RTEMS GCC tools on a clean Maverick install.
This commit is contained in:
Chris Johns
2013-10-26 10:12:15 +11:00
parent 3bc9e31df6
commit 4a59eb9562

View File

@@ -175,12 +175,13 @@ export SB_ORIG_PATH=${PATH}
%{?_prefix:SB_PREFIX_CLEAN=$(echo "%{_prefix}" | %{__sed} -e 's/^\///')}
SB_SOURCE_DIR="%{_sourcedir}"
SB_BUILD_DIR="%{_builddir}"
SB_OPT_HOST_FLAGS="%{optflags} %{?_tmproot:-I%{_tmproot}/${SB_PREFIX_CLEAN}/include -L%{_tmproot}/${SB_PREFIX_CLEAN}/lib}"
SB_OPT_BUILD_FLAGS="%{optflags} %{optincludes}"
SB_OPT_FLAGS="${SB_OPT_HOST_FLAGS} %{optincludes}"
SB_OPT_HOST_CFLAGS="%{optflags} %{?_tmproot:-I%{_tmproot}/${SB_PREFIX_CLEAN}/include}"
SB_OPT_HOST_LDFLAGS="%{?_tmproot:-L%{_tmproot}/${SB_PREFIX_CLEAN}/lib}"
SB_OPT_BUILD_CFLAGS="%{optflags} %{optincludes}"
SB_OPT_CFLAGS="${SB_OPT_HOST_CFLAGS} %{optincludes}"
SB_ARCH="%{_arch}"
SB_OS="%{_os}"
export SB_SOURCE_DIR SB_BUILD_DIR SB_OPT_HOST_FLAGS SB_OPT_BUILD_FLAGS SB_OPT_FLAGS SB_ARCH SB_OS
export SB_SOURCE_DIR SB_BUILD_DIR SB_OPT_HOST_CFLAGS SB_OPT_BUILD_CFLAGS SB_OPT_CFLAGS SB_ARCH SB_OS
# Documentation
SB_DOC_DIR="%{_docdir}"
export SB_DOC_DIR
@@ -236,9 +237,9 @@ ___build_template: none, none, '''#!%{___build_shell}
# Configure command
configure: none, none, '''
CFLAGS="${CFLAGS:-${SB_OPT_FLAGS}" ; export CFLAGS ;
CXXFLAGS="${CXXFLAGS:-${SB_OPT_FLAGS}}" ; export CXXFLAGS ;
FFLAGS="${FFLAGS:-${SB_OPT_FLAGS}}" ; export FFLAGS ;
CFLAGS="${CFLAGS:-${SB_OPT_CFLAGS}" ; export CFLAGS ;
CXXFLAGS="${CXXFLAGS:-${SB_OPT_CFLAGS}}" ; export CXXFLAGS ;
FFLAGS="${FFLAGS:-${SB_OPT_CFLAGS}}" ; export FFLAGS ;
./configure --build=%{_build} --host=%{_host} \
--target=%{_target_platform} \
--program-prefix=%{?_program_prefix} \
@@ -268,30 +269,33 @@ fi'''
host_build_flags: none, none, '''
# Host and build flags
if test "%{_build}" != "%{_host}" ; then
CFLAGS_FOR_BUILD="${SB_OPT_HOST_FLAGS}"
CC=$(echo "%{_host}-gcc ${SB_OPT_HOST_FLAGS}" | sed -e 's,-std=gnu99 ,,')
CXXFLAGS_FOR_BUILD="${SB_OPT_HOST_FLAGS}"
CXX=$(echo "%{_host}-g++ ${SB_OPT_HOST_FLAGS}" | sed -e 's,-std=gnu99 ,,')
CC_FOR_BUILD=$(echo "%{__cc} ${SB_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,')
CXX_FOR_BUILD=$(echo "%{__cxx} ${SB_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,')
CFLAGS_FOR_BUILD="${SB_OPT_HOST_CFLAGS}"
LDFLAGS_FOR_BUILD="${SB_OPT_HOST_LDFLAGS}"
CC=$(echo "%{_host}-gcc ${SB_OPT_HOST_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
CXXFLAGS_FOR_BUILD="${SB_OPT_HOST_CFLAGS}"
CXX=$(echo "%{_host}-g++ ${SB_OPT_HOST_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
CC_FOR_BUILD=$(echo "%{__cc} ${SB_OPT_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
CXX_FOR_BUILD=$(echo "%{__cxx} ${SB_OPT_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
else
# gcc is not ready to be compiled with -std=gnu99
CC=$(echo "%{__cc} ${SB_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,')
CXX=$(echo "%{__cxx} ${SB_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,')
LDFLAGS="${SB_OPT_HOST_LDFLAGS}"
CC=$(echo "%{__cc} ${SB_OPT_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
CXX=$(echo "%{__cxx} ${SB_OPT_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
CC_FOR_BUILD=${CC}
CXX_FOR_BUILD=${CXX}
fi
export CC CXX CC_FOR_BUILD CXX_FOR_BUILD CFLAGS CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD'''
export CC CXX CC_FOR_BUILD CXX_FOR_BUILD CFLAGS CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD LDFLAGS LDFLAGS_FOR_BUILD'''
# Build/build flags.
build_build_flags: none, none, '''
# Build and build flags means force build == host
# gcc is not ready to be compiled with -std=gnu99
CC=$(echo "%{__cc} ${SB_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,')
CXX=$(echo "%{__cxx} ${SB_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,')
LDFLAGS="${SB_OPT_HOST_LDFLAGS}"
CC=$(echo "%{__cc} ${SB_OPT_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
CXX=$(echo "%{__cxx} ${SB_OPT_CFLAGS}" | sed -e 's,-std=gnu99 ,,')
CC_FOR_BUILD=${CC}
CXX_FOR_BUILD=${CXX}
export CC CXX CC_FOR_BUILD CXX_FOR_BUILD CFLAGS'''
export CC CXX CC_FOR_BUILD CXX_FOR_BUILD CFLAGS LDFLAGS'''
# Default package settings
_forced_static: none, none, '-Xlinker -Bstatic ${LIBS_STATIC} -Xlinker -Bdynamic'