Ignore:
Timestamp:
Mar 10, 2014, 11:50:03 PM (6 years ago)
Author:
cal@…
Message:

aclocal: Remove dangerous flags in MP_FLAGS_SCAN from $ac_configure_args and the $ac_env_* and $ac_cv_env_* variables, too. Fixes #42756.

Also rename some variables to avoid conflicts and fix some sed expressions (because we're in m4 with [] as quote characters).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/base/aclocal.m4

    r117731 r117754  
    9494dnl  - The (quoted, if necessary) key-value pair
    9595AC_DEFUN([_MP_EXTRACT_KEY], [dnl
    96         $1=$(AS_ECHO([$2]) | sed -E 's/^--?([^=]+)=.*$/\1/')dnl
     96        $1=$(AS_ECHO([$2]) | sed -E 's/^--?([[^=]]+)=.*$/\1/')dnl
    9797])
    9898
     
    994994
    995995                # Clean CFLAGS CPPFLAGS OBJCFLAGS and LDFLAGS
    996                 for flagname in CFLAGS CPPFLAGS OBJCFLAGS LDFLAGS; do
     996                for mp_flags_flagname in CFLAGS CPPFLAGS OBJCFLAGS LDFLAGS; do
    997997                        mp_flags_scan_flag_cleaned=
    998                         eval "set x \$$flagname"
     998                        eval "set x \$$mp_flags_flagname"
    999999                        shift
    10001000                        for mp_flags_scan_val; do
    10011001                                case "$mp_flags_scan_val" in
    10021002                                        -I$prefix/* | -L$prefix/*)
    1003                                                 AC_MSG_NOTICE([Removing `$mp_flags_scan_val' from \$$flagname because it might cause a self-dependency])
     1003                                                AC_MSG_NOTICE([Removing `$mp_flags_scan_val' from \$$mp_flags_flagname because it might cause a self-dependency])
    10041004                                                mp_flags_scan_found=1
    10051005                                                ;; #(
    10061006                                        *)
    1007                                                 AS_VAR_APPEND([mp_flags_scan_flag_cleaned], [" $mp_flags_scan_val"])
     1007                                                if test -z "$mp_flags_scan_flag_cleaned"; then
     1008                                                        mp_flags_scan_flag_cleaned=$mp_flags_scan_val
     1009                                                else
     1010                                                        AS_VAR_APPEND([mp_flags_scan_flag_cleaned], [" $mp_flags_scan_val"])
     1011                                                fi
    10081012                                                ;;
    10091013                                esac
    10101014                        done
    10111015                        if test -z "$mp_flags_scan_flag_cleaned"; then
    1012                                 (unset $flagname) >/dev/null 2>&1 && unset $flagname
     1016                                (unset $mp_flags_flagname) >/dev/null 2>&1 && unset $mp_flags_flagname
     1017                                (export -n $mp_flags_flagname) >/dev/null 2>&1 && export -n $mp_flags_flagname
    10131018                        else
    1014                                 eval "$flagname=\"$mp_flags_scan_flag_cleaned\""
     1019                                eval "$mp_flags_flagname=\"$mp_flags_scan_flag_cleaned\""
     1020                                export $mp_flags_flagname
    10151021                        fi
     1022                        eval "ac_env_${mp_flags_flagname}_set=\${${mp_flags_flagname}+set}"
     1023                        eval "ac_env_${mp_flags_flagname}_value=\${${mp_flags_flagname}}"
     1024                        eval "ac_cv_env_${mp_flags_flagname}_set=\${${mp_flags_flagname}+set}"
     1025                        eval "ac_cv_env_${mp_flags_flagname}_value=\${${mp_flags_flagname}}"
     1026                done
     1027
     1028                # Since those are all precious variables they have been saved into config.cache and put into $ac_configure_args
     1029                # We need to remove them at least from $ac_configure_args, because that's being passed to sub-configures
     1030                eval "set x $ac_configure_args"
     1031                shift
     1032                ac_configure_args=
     1033                for mp_flags_configure_arg; do
     1034                        case "$mp_flags_configure_arg" in
     1035                                CFLAGS=* | CPPFLAGS=* | OBJCFLAGS=* | LDFLAGS=*)
     1036                                        mp_flags_configure_arg_key=$(AS_ECHO(["$mp_flags_configure_arg"]) | sed -E 's/^([[^=]]+)=.*$/\1/')
     1037                                        eval "mp_flags_configure_arg_newval=\$$mp_flags_configure_arg_key"
     1038                                        if test -n "$mp_flags_configure_arg_newval"; then
     1039                                                AS_VAR_APPEND([ac_configure_args], [" '$mp_flags_configure_arg_key=$mp_flags_configure_arg_newval'"])
     1040                                        fi
     1041                                        ;;
     1042                                *)
     1043                                        AS_VAR_APPEND([ac_configure_args], [" '$mp_flags_configure_arg'"])
     1044                                        ;;
     1045                        esac
    10161046                done
    10171047
Note: See TracChangeset for help on using the changeset viewer.