|author||Joel Sherrill <joel.sherrill@OARcorp.com>||1998-10-14 20:19:30 +0000|
|committer||Joel Sherrill <joel.sherrill@OARcorp.com>||1998-10-14 20:19:30 +0000|
Patch from Ralf Corsepius <firstname.lastname@example.org>:
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.
Diffstat (limited to 'tools/build/scripts/lock-directory.in')
1 files changed, 43 insertions, 0 deletions
diff --git a/tools/build/scripts/lock-directory.in b/tools/build/scripts/lock-directory.in
new file mode 100644
@@ -0,0 +1,43 @@
+# Make a directory write protected
+# Used to write protect the install point after a build
+# to prevent inadvertant overwriting.
+# is a particular command available on this machine?
+ set -- `type $1 2>&1`
+ if [ "$2" = "not" -a "$3" = "found" ] || [ "$3" = "not" -a "$4" = "found" ]
+ return 1
+ return 0
+ l_dir=$1/. # get any symlink out of the way using '.'
+ if [ -d $l_dir ]
+ find $l_dir -type d -perm -0200 -print | $XARGS chmod -w
+# Use gnu xargs if available; faster, more reliable in general
+cmd_avail gxargs && XARGS=gxargs
+ lock_directory $dir
+# Local Variables: ***
+# mode:ksh ***
+# End: ***