diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2012-03-24 11:51:49 +0100 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2012-03-24 11:51:53 +0100 |
commit | 8602e821a6dcc5d9cc430d3f108345d2292eb171 (patch) | |
tree | 827efb3c713b1f42385f82080987257244b6b9e2 /scripts | |
parent | f7d05a2a2d715e63e9abfb87876a57f7b1c809bb (diff) | |
download | ptxdist-8602e821a6dcc5d9cc430d3f108345d2292eb171.tar.gz ptxdist-8602e821a6dcc5d9cc430d3f108345d2292eb171.tar.xz |
be consistent when calling gcc to query toolchain data
This means always use the configured CFLAGS/CPPFLAGS
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/install_copy_toolchain.sh | 14 | ||||
-rw-r--r-- | scripts/lib/ptxd_make_00-init.sh | 26 |
2 files changed, 26 insertions, 14 deletions
diff --git a/scripts/install_copy_toolchain.sh b/scripts/install_copy_toolchain.sh index 726cc6171..7b91fc40d 100755 --- a/scripts/install_copy_toolchain.sh +++ b/scripts/install_copy_toolchain.sh @@ -53,11 +53,9 @@ ptxd_get_lib_path() { local lib lib_dir lib_path extra_cflags lib="${1}" - extra_cppflags="$(ptxd_get_ptxconf PTXCONF_TARGET_EXTRA_CPPFLAGS)" - extra_cflags="$(ptxd_get_ptxconf PTXCONF_TARGET_EXTRA_CFLAGS)" # ask the compiler for the lib - lib_path="$(${CC} ${extra_cppflags} ${extra_cflags} -print-file-name=${lib})" + lib_path="$(ptxd_cross_cc -print-file-name=${lib})" if test "${lib_path}" = "${lib}"; then echo "install_copy_toolchain_lib: ${lib} not found" >&2 return 1 @@ -79,11 +77,8 @@ ptxd_get_lib_path() { # ptxd_get_dl() { local dl - extra_cppflags="$(ptxd_get_ptxconf PTXCONF_TARGET_EXTRA_CPPFLAGS)" - extra_cflags="$(ptxd_get_ptxconf PTXCONF_TARGET_EXTRA_CFLAGS)" - dl="$(echo 'int main(void){return 0;}' | \ - ${CC} ${extra_cppflags} ${extra_cflags} -x c -o /dev/null -v - 2>&1 | \ + dl="$(ptxd_cross_cc_v | \ sed -n -e 's/.* -dynamic-linker \([^ ]*\).*/\1/p')" echo "${dl##*/}" @@ -243,8 +238,7 @@ ptxd_install_toolchain_lib() { _ptxd_get_sysroot_usr_by_sysroot() { local sysroot - sysroot="$(echo 'int main(void){return 0;}' | \ - ${CC} -x c -o /dev/null -v - 2>&1 | \ + sysroot="$(ptxd_cross_cc_v | \ sed -ne "/.*collect2.*/s,.*--sysroot=\([^[:space:]]*\).*,\1,p")" test -n "${sysroot}" || return 1 @@ -256,7 +250,7 @@ _ptxd_get_sysroot_usr_by_sysroot() { _ptxd_get_sysroot_usr_by_progname() { local prog_name - prog_name="$(${CC} -print-prog-name=gcc)" + prog_name="$(ptxd_cross_cc -print-prog-name=gcc)" case "${prog_name}" in /*) prog_name="$(ptxd_abspath ${prog_name%/bin/gcc})" diff --git a/scripts/lib/ptxd_make_00-init.sh b/scripts/lib/ptxd_make_00-init.sh index da72d2950..eed2a2e4d 100644 --- a/scripts/lib/ptxd_make_00-init.sh +++ b/scripts/lib/ptxd_make_00-init.sh @@ -56,6 +56,27 @@ ptxd_init_arch() { export PTXDIST_IPKG_ARCH_STRING } +# +# run cross-gcc with flags +# +ptxd_cross_cc() { + local compiler_prefix extra_cppflags extra_cflags + compiler_prefix="$(ptxd_get_ptxconf PTXCONF_COMPILER_PREFIX)" + extra_cppflags="$(ptxd_get_ptxconf PTXCONF_TARGET_EXTRA_CPPFLAGS)" + extra_cflags="$(ptxd_get_ptxconf PTXCONF_TARGET_EXTRA_CFLAGS)" + + ${compiler_prefix}gcc ${extra_cppflags} ${extra_cflags} "${@}" +} +export -f ptxd_cross_cc + +# +# run cross-gcc with flags and -v +# +ptxd_cross_cc_v() { + echo 'int main(void){return 0;}' | \ + ptxd_cross_cc -x c -o /dev/null -v - 2>&1 +} +export -f ptxd_cross_cc_v # # figure out the toolchain's sysroot @@ -63,8 +84,6 @@ ptxd_init_arch() { # out: PTXDIST_SYSROOT_TOOLCHAIN # ptxd_init_sysroot_toolchain() { - local compiler_prefix="$(ptxd_get_ptxconf PTXCONF_COMPILER_PREFIX)" - # # no compiler prefix specified means using plain "gcc" # which comes from the distribution, so no sysroot here @@ -74,8 +93,7 @@ ptxd_init_sysroot_toolchain() { else local sysroot - sysroot="$(echo 'int main(void){return 0;}' | \ - ${compiler_prefix}gcc -x c -o /dev/null -v - 2>&1 | \ + sysroot="$(ptxd_cross_cc_v | \ sed -ne "/.*collect2.*/s,.*--sysroot=\([^[:space:]]*\).*,\1,p" && \ check_pipe_status)" |