components/apr-1_5/patches/parfait.patch
branchs11-update
changeset 3668 614657dc60eb
equal deleted inserted replaced
3666:f6b2b3066ff4 3668:614657dc60eb
       
     1 Patch origin: in-house
       
     2 Patch status: Solaris-specific; not suitable for upstream
       
     3 
       
     4 Fixes problem where APR-util Parfait build wouldn't analyze mysql and
       
     5 sqlite3 modules as apr_dbd_sqlite3.o.bc and apr_dbd_mysql.o.bc were
       
     6 removed here.
       
     7 
       
     8 It also creates bc equivalents for static library archives as used for
       
     9 linking Apache httpd binary.
       
    10 
       
    11 --- build/ltmain.sh
       
    12 +++ build/ltmain.sh
       
    13 @@ -7548,7 +7548,7 @@
       
    14  	tempremovelist=`$ECHO "$output_objdir/*"`
       
    15  	for p in $tempremovelist; do
       
    16  	  case $p in
       
    17 -	    *.$objext | *.gcno)
       
    18 +	    *.$objext | *.$objext.bc | *.gcno)
       
    19  	       ;;
       
    20  	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
       
    21  	       if test "X$precious_files_regex" != "X"; then
       
    22 @@ -9123,6 +9123,14 @@
       
    23  	  func_append oldobjs " $func_extract_archives_result"
       
    24  	fi
       
    25  
       
    26 +	# Create also list of Parfait objects.
       
    27 +	for obj in $oldobjs
       
    28 +	do
       
    29 +	    if test -f $obj.bc; then
       
    30 +	      oldobjs_bc+=" $obj.bc"
       
    31 +	fi
       
    32 +	done
       
    33 +
       
    34  	# POSIX demands no paths to be encoded in archives.  We have
       
    35  	# to avoid creating archives with duplicate basenames if we
       
    36  	# might have to extract them afterwards, e.g., when creating a
       
    37 @@ -9170,12 +9178,19 @@
       
    38  	fi
       
    39  	func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
       
    40  	tool_oldlib=$func_to_tool_file_result
       
    41 -	eval cmds=\"$old_archive_cmds\"
       
    42 +	if test -z "$oldobjs_bc"; then
       
    43 +	  eval cmds=\"$old_archive_cmds\"
       
    44 +	else
       
    45 +	  eval cmds=\"$old_archive_cmds~$old_archive_bc_cmds\"
       
    46 +	fi
       
    47  
       
    48  	func_len " $cmds"
       
    49  	len=$func_len_result
       
    50  	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
       
    51  	  cmds=$old_archive_cmds
       
    52 +	  if test -n "$oldobjs_bc"; then
       
    53 +	    cmds+="~$old_archive_bc_cmds"
       
    54 +	  fi
       
    55  	elif test -n "$archiver_list_spec"; then
       
    56  	  func_verbose "using command file archive linking..."
       
    57  	  for obj in $oldobjs
       
    58 --- build/libtool.m4
       
    59 +++ build/libtool.m4
       
    60 @@ -1465,6 +1465,7 @@
       
    61  
       
    62  # Determine commands to create old-style static archives.
       
    63  old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
       
    64 +old_archive_bc_cmds='$AR $AR_FLAGS $oldlib.bc$oldobjs_bc'
       
    65  old_postinstall_cmds='chmod 644 $oldlib'
       
    66  old_postuninstall_cmds=
       
    67  
       
    68 @@ -1478,6 +1479,7 @@
       
    69      ;;
       
    70    esac
       
    71    old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
       
    72 +  old_archive_bc_cmds="$old_archive_bc_cmds~\$RANLIB \$tool_oldlib.bc"
       
    73  fi
       
    74  
       
    75  case $host_os in
       
    76 @@ -1490,6 +1492,8 @@
       
    77  _LT_DECL([], [old_postuninstall_cmds], [2])
       
    78  _LT_TAGDECL([], [old_archive_cmds], [2],
       
    79      [Commands used to build an old-style archive])
       
    80 +_LT_TAGDECL([], [old_archive_bc_cmds], [2],
       
    81 +    [Commands used to build an old-style archive from Parfait bc files])
       
    82  _LT_DECL([], [lock_old_archive_extraction], [0],
       
    83      [Whether to use a lock for old archive extraction])
       
    84  ])# _LT_CMD_OLD_ARCHIVE