components/ccid/patches/00-ltmain.sh.patch
changeset 6133 73641150a4de
equal deleted inserted replaced
6132:7fb35b7d3c4d 6133:73641150a4de
       
     1 In-house patch created as a workaround until BugID: 22985199 is completed.
       
     2 
       
     3 This patch is Solaris buildenv specific and may not be suitable for upstream.
       
     4 
       
     5 --- ccid-1.4.20/ltmain.sh	2015-08-05 05:37:57.000000000 -0400
       
     6 +++ ccid-1.4.20/ltmain.sh	2016-05-09 11:29:47.649103701 -0400
       
     7 @@ -6146,7 +6146,7 @@
       
     8  	    func_basename "$deplib"
       
     9              deplib_base=$func_basename_result
       
    10  	    case " $weak_libs " in
       
    11 -	    *" $deplib_base "*) ;;
       
    12 +	    *" $deplib_base "*) ;;	    
       
    13  	    *) func_append deplibs " $deplib" ;;
       
    14  	    esac
       
    15  	  done
       
    16 @@ -6235,7 +6235,7 @@
       
    17  		    lib=$ladir/$old_library
       
    18  		    if test "$linkmode,$pass" = "prog,link"; then
       
    19  		      compile_deplibs="$deplib $compile_deplibs"
       
    20 -		      finalize_deplibs="$deplib $finalize_deplibs"
       
    21 +		      finalize_deplibs="$deplib $finalize_deplibs"                   
       
    22  		    else
       
    23  		      deplibs="$deplib $deplibs"
       
    24  		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
       
    25 @@ -6425,7 +6425,15 @@
       
    26  	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
       
    27  	    case " $new_inherited_linker_flags " in
       
    28  	      *" $tmp_inherited_linker_flag "*) ;;
       
    29 -	      *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
       
    30 +	      #
       
    31 +    	      # XXX: Special case handling for sunstudio and sunlinker on 
       
    32 +             #      Solaris 11 and 12 as -pthread is no longer needed and 
       
    33 +	      #      if passed as an arguement/option to ld, it will error 
       
    34 +             #      when parsed by ld
       
    35 +             #
       
    36 +              -pthread) func_append new_inherited_linker_flags "";;
       
    37 +	      *) func_append new_inherited_linker_flags " $new_inherited_linker_flag";;
       
    38 +
       
    39  	    esac
       
    40  	  done
       
    41  	fi
       
    42 @@ -7145,9 +7153,17 @@
       
    43  	    case $deplib in
       
    44  	    -L*) new_libs="$deplib $new_libs" ;;
       
    45  	    -R*) ;;
       
    46 +            #
       
    47 +            # XXX: Special case handling for sunstudio and sunlinker on 
       
    48 +            #      Solaris 11 and 12 as -pthread is no longer needed and 
       
    49 +	     #      if passed as an arguement/option to ld, it will error 
       
    50 +            #      when parsed by ld
       
    51 +            #
       
    52 +	    -mt) ;;
       
    53 +            -pthread) ;;
       
    54  	    *)
       
    55  	      # And here is the reason: when a library appears more
       
    56 -	      # than once as an explicit dependence of a library, or
       
    57 +	      # than once as an explicit dependence of a library, or    
       
    58  	      # is implicitly linked in more than once by the
       
    59  	      # compiler, it is considered special, and multiple
       
    60  	      # occurrences thereof are not removed.  Compare this