]> sourceware.org Git - automake.git/commitdiff
Partial fix for PR automake/40:
authorTom Tromey <tromey@redhat.com>
Sun, 19 Dec 1999 04:09:23 +0000 (04:09 +0000)
committerTom Tromey <tromey@redhat.com>
Sun, 19 Dec 1999 04:09:23 +0000 (04:09 +0000)
* lisp.am (install-@DIR@LISP): Handle nobase_ case.
(uninstall-@DIR@LISP): Likewise.
* header.am (install-@DIR@HEADERS): Handle nobase_ case.
(uninstall-@DIR@HEADERS): Likewise.
* data.am (install-@DIR@DATA): Handle nobase_ case.
(uninstall-@DIR@DATA): Likewise.
* automake.in (am_primary_prefixes): Recognize `nobase_' prefix.
(am_install_var): Recognize and handle `nobase_' prefix.

ChangeLog
automake.in
data.am
header.am
lib/am/data.am
lib/am/header.am
lib/am/lisp.am
lisp.am

index f8fffce25caba5b48b55d69c7cf92000165aa5a0..ed08abd18f50a6bc3416ca79ced5d126f86e95be 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+1999-12-18  Tom Tromey  <tromey@cygnus.com>
+
+       Partial fix for PR automake/40:
+       * lisp.am (install-@DIR@LISP): Handle nobase_ case.
+       (uninstall-@DIR@LISP): Likewise.
+       * header.am (install-@DIR@HEADERS): Handle nobase_ case.
+       (uninstall-@DIR@HEADERS): Likewise.
+       * data.am (install-@DIR@DATA): Handle nobase_ case.
+       (uninstall-@DIR@DATA): Likewise.
+       * automake.in (am_primary_prefixes): Recognize `nobase_' prefix.
+       (am_install_var): Recognize and handle `nobase_' prefix.
+
 1999-12-17  Tom Tromey  <tromey@cygnus.com>
 
        * automake.in (get_object_extension): Added space before `-I.'.
index d43e9966dd922b36d6db56d8782704255f312d94..69dc9c39d18c024429b3913127bca122aa4c367c 100755 (executable)
@@ -6983,11 +6983,11 @@ sub am_primary_prefixes
     $valid{'EXTRA'} = 0;
     foreach $varname (keys %contents)
     {
-       if ($varname =~ /^(dist_|nodist_)?(.*)_$primary$/)
+       if ($varname =~ /^(nobase_)?(dist_|nodist_)?(.*)_$primary$/)
        {
-           if (($1 ne '' && ! $can_dist)
-               || (! defined $valid{$2}
-                   && ! &variable_defined ($2 . 'dir')
+           if (($2 ne '' && ! $can_dist)
+               || (! defined $valid{$3}
+                   && ! &variable_defined ($3 . 'dir')
                    # Note that a configure variable is always
                    # legitimate.  It is natural to name such
                    # variables after the primary, so we explicitly
@@ -6999,7 +6999,7 @@ sub am_primary_prefixes
            else
            {
                # Ensure all extended prefixes are actually used.
-               $valid{$1 . $2} = 1;
+               $valid{$1 . $2 . $3} = 1;
            }
        }
     }
@@ -7108,11 +7108,19 @@ sub am_install_var
     local ($one_name);
     local ($X);
     local ($nodir_name);
+    local ($strip_subdir) = 1;
     foreach $X (sort keys %valid)
     {
        $one_name = $X . '_' . $primary;
        if (&variable_defined ($one_name))
        {
+           # If subdir prefix should be preserved, do so.
+           if ($X =~ /^nobase_/)
+           {
+               $strip_subdir = 0;
+               $X =~ s/^nobase_//;
+           }
+
            # If files should be distributed, do so.
            if ($can_dist)
            {
@@ -7262,10 +7270,21 @@ sub am_install_var
                next;
            }
 
+           local ($subdir_xform);
+           if ($strip_subdir)
+           {
+               $subdir_xform = 's/^NOBASE.*$//; s/^BASE//;';
+           }
+           else
+           {
+               $subdir_xform = 's/^BASE.*$//; s/^NOBASE//;';
+           }
+
            $output_rules .=
                &file_contents_with_transform ('s/\@DIR\@/' . $X . '/g;'
                                               . 's/\@NDIR\@/' . $nodir_name . '/go;'
-                                              . $ltxform . $cygxform,
+                                              . $ltxform . $cygxform
+                                              . $subdir_xform,
                                               $file);
 
            push (@uninstall, 'uninstall-' . $X . $primary);
diff --git a/data.am b/data.am
index 416d28797e200e83db9bd9f2ad6d02713415094f..37b8eb7c07057e1aa92f89a453e28f88edf9f97a 100644 (file)
--- a/data.am
+++ b/data.am
@@ -25,7 +25,8 @@ install-@DIR@DATA: $(@DIR@_DATA)
 ## If the _DATA variable has an entry like foo/bar, install it as
 ## $(destdir)/bar, not $(destdir)/foo/bar.  The user can always make a
 ## new dir variable for the latter case.
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE     f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE   f="$$p"; \
          echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f"; \
          $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f; \
        done
@@ -33,7 +34,8 @@ install-@DIR@DATA: $(@DIR@_DATA)
 uninstall-@DIR@DATA:
        @$(NORMAL_UNINSTALL)
        @list='$(@DIR@_DATA)'; for p in $$list; do \
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE     f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE   f="$$p"; \
          echo " rm -f $(DESTDIR)$(@NDIR@dir)/$$f"; \
          rm -f $(DESTDIR)$(@NDIR@dir)/$$f; \
        done
index 3b437d242f992b26b0caebd39bc77e8c80d82e58..5cf5e8c34709cbe1652532f87b22343971094f0a 100644 (file)
--- a/header.am
+++ b/header.am
@@ -23,7 +23,8 @@ install-@DIR@HEADERS: $(@DIR@_HEADERS)
        @list='$(@DIR@_HEADERS)'; for p in $$list; do \
 ## A header file can be in the source directory or the build directory.
          if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE     f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE   f="$$p"; \
          echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f"; \
          $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f; \
        done
@@ -31,7 +32,8 @@ install-@DIR@HEADERS: $(@DIR@_HEADERS)
 uninstall-@DIR@HEADERS:
        @$(NORMAL_UNINSTALL)
        @list='$(@DIR@_HEADERS)'; for p in $$list; do \
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE     f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE   f="$$p"; \
          echo " rm -f $(DESTDIR)$(@NDIR@dir)/$$f"; \
          rm -f $(DESTDIR)$(@NDIR@dir)/$$f; \
        done
index 416d28797e200e83db9bd9f2ad6d02713415094f..37b8eb7c07057e1aa92f89a453e28f88edf9f97a 100644 (file)
@@ -25,7 +25,8 @@ install-@DIR@DATA: $(@DIR@_DATA)
 ## If the _DATA variable has an entry like foo/bar, install it as
 ## $(destdir)/bar, not $(destdir)/foo/bar.  The user can always make a
 ## new dir variable for the latter case.
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE     f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE   f="$$p"; \
          echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f"; \
          $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f; \
        done
@@ -33,7 +34,8 @@ install-@DIR@DATA: $(@DIR@_DATA)
 uninstall-@DIR@DATA:
        @$(NORMAL_UNINSTALL)
        @list='$(@DIR@_DATA)'; for p in $$list; do \
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE     f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE   f="$$p"; \
          echo " rm -f $(DESTDIR)$(@NDIR@dir)/$$f"; \
          rm -f $(DESTDIR)$(@NDIR@dir)/$$f; \
        done
index 3b437d242f992b26b0caebd39bc77e8c80d82e58..5cf5e8c34709cbe1652532f87b22343971094f0a 100644 (file)
@@ -23,7 +23,8 @@ install-@DIR@HEADERS: $(@DIR@_HEADERS)
        @list='$(@DIR@_HEADERS)'; for p in $$list; do \
 ## A header file can be in the source directory or the build directory.
          if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE     f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE   f="$$p"; \
          echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f"; \
          $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f; \
        done
@@ -31,7 +32,8 @@ install-@DIR@HEADERS: $(@DIR@_HEADERS)
 uninstall-@DIR@HEADERS:
        @$(NORMAL_UNINSTALL)
        @list='$(@DIR@_HEADERS)'; for p in $$list; do \
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE     f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE   f="$$p"; \
          echo " rm -f $(DESTDIR)$(@NDIR@dir)/$$f"; \
          rm -f $(DESTDIR)$(@NDIR@dir)/$$f; \
        done
index 9dc9de286738513e7a22e7b3c49695d5c7de5511..b737a6dda011f49240f1bba7b808014d9392b4b2 100644 (file)
@@ -23,7 +23,8 @@ install-@DIR@LISP: $(@DIR@_LISP) $(ELCFILES)
        @list='$(@DIR@_LISP)'; for p in $$list; do \
 ## A lisp file can be in the source directory or the build directory.
          if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE     f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE   f="$$p"; \
          echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f"; \
          $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f; \
 ## Only install .elc file if it exists.
@@ -36,7 +37,8 @@ install-@DIR@LISP: $(@DIR@_LISP) $(ELCFILES)
 uninstall-@DIR@LISP:
        @$(NORMAL_UNINSTALL)
        @list='$(@DIR@_LISP)'; for p in $$list; do \
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE     f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE   f="$$p"; \
          echo " rm -f $(@NDIR@dir)/$$f $(DESTDIR)$(@NDIR@dir)/$${f}c"; \
          rm -f $(@NDIR@dir)/$$f $(DESTDIR)$(@NDIR@dir)/$${f}c; \
        done
diff --git a/lisp.am b/lisp.am
index 9dc9de286738513e7a22e7b3c49695d5c7de5511..b737a6dda011f49240f1bba7b808014d9392b4b2 100644 (file)
--- a/lisp.am
+++ b/lisp.am
@@ -23,7 +23,8 @@ install-@DIR@LISP: $(@DIR@_LISP) $(ELCFILES)
        @list='$(@DIR@_LISP)'; for p in $$list; do \
 ## A lisp file can be in the source directory or the build directory.
          if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE     f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE   f="$$p"; \
          echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f"; \
          $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f; \
 ## Only install .elc file if it exists.
@@ -36,7 +37,8 @@ install-@DIR@LISP: $(@DIR@_LISP) $(ELCFILES)
 uninstall-@DIR@LISP:
        @$(NORMAL_UNINSTALL)
        @list='$(@DIR@_LISP)'; for p in $$list; do \
-         f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE     f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE   f="$$p"; \
          echo " rm -f $(@NDIR@dir)/$$f $(DESTDIR)$(@NDIR@dir)/$${f}c"; \
          rm -f $(@NDIR@dir)/$$f $(DESTDIR)$(@NDIR@dir)/$${f}c; \
        done
This page took 0.048937 seconds and 5 git commands to generate.