[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
09-add-depend2.patch
From: |
Akim Demaille |
Subject: |
09-add-depend2.patch |
Date: |
Sun, 28 Jan 2001 17:15:06 +0100 |
Index: ChangeLog
from Akim Demaille <address@hidden>
* automake.in (add_depend2): Use &transform.
Index: automake.in
--- automake.in Sat, 27 Jan 2001 02:29:11 +0100 akim (am/f/39_automake.i 1.12
755)
+++ automake.in Sun, 28 Jan 2001 07:36:10 +0100 akim (am/f/39_automake.i 1.12
755)
@@ -2949,6 +2949,9 @@ sub handle_dist
&handle_dist_worker ($makefile);
}
+
+# add_depend2 ($LANG)
+# -------------------
# A subroutine of handle_dependencies. This function includes
# `depend2' with appropriate transformations.
sub add_depend2
@@ -2961,10 +2964,10 @@ sub add_depend2
local ($pfx) = $language_map{$key};
local ($fpfx) = ($pfx eq '') ? 'CC' : $pfx;
- $xform = ('s/address@hidden@/' . $pfx . '/g;'
- . 's/address@hidden@/' . $fpfx . '/g;'
- . ($seen_objext ? 's/^OBJEXT//;' : 's/^OBJEXT.*$//;')
- . ($seen_libtool ? 's/^LIBTOOL//;' : 's/^LIBTOOL.*$//;'));
+ $xform = &transform ('PFX' => $pfx,
+ 'FPFX' => $fpfx);
+ $xform .= $seen_objext ? 's/^OBJEXT//;' : 's/^OBJEXT.*$//;';
+ $xform .= $seen_libtool ? 's/^LIBTOOL//;' : 's/^LIBTOOL.*$//;';
# This function can be called even when we don't want dependency
# tracking. This happens when we need an explicit rule for some
@@ -2972,16 +2975,17 @@ sub add_depend2
if ($use_dependencies)
{
local ($xform1) = ($xform
- . 's/address@hidden@/\$\*/g;'
- . 's/address@hidden@/\$\</g;'
- . 's/\@(LT|OBJ)?OBJ\@/\$\@/g;');
+ . &transform ('BASE' => '$*',
+ 'SOURCE' => '$<',
+ 'OBJ' => '$@',
+ 'LTOBJ' => '$@',
+ 'OBJOBJ' => '$@'));
foreach $ext (&lang_extensions ($lang))
{
- $output_rules .= (&file_contents_with_transform
('s/address@hidden@/'
- . $ext . '/g;'
- . $xform1,
- 'depend2')
+ $output_rules .= (&file_contents_with_transform
+ (&transform ('EXT' => $ext) . $xform1,
+ 'depend2')
. "\n");
}
}
@@ -3002,8 +3006,8 @@ sub add_depend2
while ($i < $max)
{
$derived = $list[$i];
- ($source = $list[$i + 1]) =~ s,([/\$]),\\$1,g;
- ($obj = $list[$i + 2]) =~ s,([/\$]),\\$1,g;
+ $source = $list[$i + 1];
+ $obj = $list[$i + 2];
$i += 3;
local ($flag) = $language_map{$lang . '-flags'};
@@ -3011,42 +3015,31 @@ sub add_depend2
($rule = $language_map{$lang . '-compile'}) =~
s/\(AM_$flag/$val/;
- $rule =~ s,([/\$]),\\$1,g;
-
# Generate a transform which will turn suffix targets in
# depend2.am into real targets for the particular objects we
# are building.
$output_rules .=
- &file_contents_with_transform ($xform
- . 's/\$\(' . $pfx . 'COMPILE\)/'
- . $rule . '/g;'
- . 's/\$\(LT' . $pfx . 'COMPILE\)/'
- . '\$(LIBTOOL) --mode=compile '
- . $rule . '/g;'
- # Generate rule for `.o'.
- . 's/address@hidden@\.o:/'
- . $obj . '.o: ' . $source
- . '/g;'
- # Maybe generate rule for `.lo'.
- # Might be eliminated by
- # $XFORM.
- . 's/address@hidden@\.lo:/'
- . $obj . '.lo: ' . $source
- . '/g;'
- # Maybe generate rule for `.obj'.
- # Might be eliminated by
- # $XFORM.
- . 's/address@hidden@\.obj:/'
- . $obj . '.obj: ' . $source
- . '/g;'
- # Handle source and obj
- # transforms.
- . 's/address@hidden@/' . $obj .
'.o/g;'
- . 's/address@hidden@/' . $obj .
'.obj/g;'
- . 's/address@hidden@/' . $obj .
'.lo/g;'
- . 's/address@hidden@/' . $obj . '/g;'
- . 's/address@hidden@/' . $source .
'/g;',
- 'depend2');
+ &file_contents_with_transform
+ ($xform
+ . &transform ('$(' . $pfx . 'COMPILE)'
+ => $rule,
+ '$(LT' . $pfx . 'COMPILE)'
+ => '$(LIBTOOL) --mode=compile ' . $rule,
+ # Handle source and obj transforms.
+ 'OBJ' => $obj . '.o',
+ 'OBJOBJ' => $obj . '.obj',
+ 'LTOBJ' => $obj . '.lo',
+ 'BASE' => $obj,
+ 'SOURCE' => $source)
+ # Generate rule for `.o'.
+ . 's/address@hidden@\.o:/' . $obj . '.o: ' . $source . '/g;'
+ # Maybe generate rule for `.lo'. Might be eliminated
+ # by $XFORM.
+ . 's/address@hidden@\.lo:/' . $obj . '.lo: ' . $source . '/g;'
+ # Maybe generate rule for `.obj'. Might be
+ # eliminated by $XFORM.
+ . 's/address@hidden@\.obj:/' . $obj . '.obj: ' . $source .
'/g;',
+ 'depend2');
}
}
- 09-add-depend2.patch,
Akim Demaille <=