source: rtems/tools/build/lock-directory.in @ 11cfb6f7

4.104.114.84.95
Last change on this file since 11cfb6f7 was 11cfb6f7, checked in by Joel Sherrill <joel.sherrill@…>, on 10/14/98 at 20:19:30

Patch from Ralf Corsepius <corsepiu@…>:

  1. Rtems contains some perl scripts that use hard-coded paths to /usr/bin/perl or /usr/local/bin/perl I have already fixed these problems by adding some checks to configure.in. While doing this, I also cleaned up some more autoconf related problems for generating shell scripts. This patch might seem a bit scary to you, but I am quite confident it won't break something (I've been testing it for almost a week now, however it might introduce typos for a limited number configurations I don't have access to - But it shouldn't be a problem for you to test them :-).

I expect to get this finished tonight, hence you will very likely
have the patch when you get up tomorrow.

Changes:

  • Check for PERL and disable all PERL scripts if perl wasn't found.
  • Generate all KSHELL-scripts with autoconf instead of make-script
  • Automatic dependency handling for autoconf generated KSHELL or PERL scripts (make/rtems.cfg)

Notes:

  • this patch contains new files and deletes some other files.
  • The patch is relative to rtems-4.0.0-beta4 with my previous rtems-rc-981014-1.diff patch applied.

Testing:

I tested it with sh-rtems and posix under linux. Now all targets
which are touched by this patch and which are not used while building
for sh-rtems and posix still need to be tested. AFAIS, only the
sparc/erc32 BSP should be affected by this criterion. And if you
like to, you should also consider testing it on a Cygwin32 and a
Solaris host for one arbitrary BSP.

  • Property mode set to 100644
File size: 772 bytes
Line 
1#!@KSH@
2#
3# $Id$
4#
5# Make a directory write protected
6# Used to write protect the install point after a build
7# to prevent inadvertant overwriting.
8#
9
10# is a particular command available on this machine?
11#
12cmd_avail()
13{
14    set -- `type $1 2>&1`
15    if [ "$2" = "not" -a "$3" = "found" ] || [ "$3" = "not" -a "$4" = "found" ]
16    then
17        return 1
18    else
19        return 0
20    fi
21}
22
23lock_directory() {
24    l_dir=$1/.                  # get any symlink out of the way using '.'
25    if [ -d $l_dir ]
26    then
27        find $l_dir -type d -perm -0200 -print | $XARGS chmod -w
28    fi
29}
30
31# Use gnu xargs if available; faster, more reliable in general
32XARGS=xargs
33cmd_avail gxargs && XARGS=gxargs
34
35for dir
36do
37    lock_directory $dir
38done
39
40# Local Variables: ***
41# mode:ksh ***
42# End: ***
43
Note: See TracBrowser for help on using the repository browser.