diff options
| author | Shoaib Meenai <smeenai@fb.com> | 2018-08-28 23:47:22 +0000 |
|---|---|---|
| committer | Shoaib Meenai <smeenai@fb.com> | 2018-08-28 23:47:22 +0000 |
| commit | 1a890fcc72c7938f8d0e8b21f4715482de0899a9 (patch) | |
| tree | cc8ce10a4501a6210f2eef87f7ed33ed4483023e | |
| parent | 66eefee7ed831b8570d3b640dd810f53dc820b7c (diff) | |
| download | bcm5719-llvm-1a890fcc72c7938f8d0e8b21f4715482de0899a9.tar.gz bcm5719-llvm-1a890fcc72c7938f8d0e8b21f4715482de0899a9.zip | |
[LLDB] Fix script to work with GNU sed
GNU sed and BSD sed have a different command-line syntax for in-place
editing, and the current form of the script would only work with BSD
sed. The easiest way to get cross-platform behavior is to specify a
backup suffix and then just delete the backup file at the end. (BSD sed
is the default on macOS, but it's possible to acquire GNU coreutils and
have your `sed` be GNU sed even on macOS; I'm aware it's not officially
supported in any capacity, but it's easy enough to support here.)
An alternative would be using `perl -p -i -e` instead of `sed -i`, but I
figured it was best to make the minimal working change.
Differential Revision: https://reviews.llvm.org/D51374
llvm-svn: 340885
| -rwxr-xr-x | lldb/scripts/framework-header-fix.sh | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lldb/scripts/framework-header-fix.sh b/lldb/scripts/framework-header-fix.sh index c09d1458ff8..bb259d17561 100755 --- a/lldb/scripts/framework-header-fix.sh +++ b/lldb/scripts/framework-header-fix.sh @@ -2,12 +2,13 @@ # Usage: framework-header-fix.sh <source header dir> <LLDB Version> for file in `find $1 -name "*.h"` do - sed -i '' 's/\(#include\)[ ]*"lldb\/\(API\/\)\{0,1\}\(.*\)"/\1 <LLDB\/\3>/1' "$file" - sed -i '' 's|<LLDB/Utility|<LLDB|' "$file" + sed -i.bak 's/\(#include\)[ ]*"lldb\/\(API\/\)\{0,1\}\(.*\)"/\1 <LLDB\/\3>/1' "$file" + sed -i.bak 's|<LLDB/Utility|<LLDB|' "$file" LLDB_VERSION=`echo $2 | /usr/bin/sed -E 's/^([0-9]+).([0-9]+).([0-9]+)(.[0-9]+)?$/\\1/g'` LLDB_REVISION=`echo $2 | /usr/bin/sed -E 's/^([0-9]+).([0-9]+).([0-9]+)(.[0-9]+)?$/\\3/g'` LLDB_VERSION_STRING=`echo $2` - sed -i '' "s|//#define LLDB_VERSION$|#define LLDB_VERSION $LLDB_VERSION |" "$file" - sed -i '' "s|//#define LLDB_REVISION|#define LLDB_REVISION $LLDB_REVISION |" "$file" - sed -i '' "s|//#define LLDB_VERSION_STRING|#define LLDB_VERSION_STRING \"$LLDB_VERSION_STRING\" |" "$file" + sed -i.bak "s|//#define LLDB_VERSION$|#define LLDB_VERSION $LLDB_VERSION |" "$file" + sed -i.bak "s|//#define LLDB_REVISION|#define LLDB_REVISION $LLDB_REVISION |" "$file" + sed -i.bak "s|//#define LLDB_VERSION_STRING|#define LLDB_VERSION_STRING \"$LLDB_VERSION_STRING\" |" "$file" + rm -f "$file.bak" done |

