12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #!/bin/sh
- if test $# -eq 0; then
- echo "user_settings_asm.sh requires one argument specifying compiler flags to pull include directories from." 1>&2
- exit 1
- fi
- # Compress multiple spaces to single spaces, then replace instances of
- # "-I " with "-I" (i.e. remove spaces between -I and the include path).
- search_string=$(echo "$1" | sed -e 's/ */ /g' -e 's/-I /-I/g')
- for token in $search_string
- do
- case "$token" in
- -I*)
- # Trim off the leading "-I".
- path="${token#-I}"
- # Trim off the trailing "/".
- path="${path%/}"
- if test -e "$path/user_settings.h"; then
- user_settings_dir="$path"
- user_settings_path="$path/user_settings.h"
- break
- fi
- ;;
- *)
- ;;
- esac
- done
- # Fall back to user_settings.h in the current directory.
- if test -z "${user_settings_path-}"; then
- if test -e "user_settings.h"; then
- user_settings_dir="."
- user_settings_path="user_settings.h"
- fi
- fi
- if test -z "${user_settings_path-}"; then
- echo "Unable to find user_settings.h." 1>&2
- exit 1
- else
- # Strip out anything from user_settings.h that isn't a preprocessor
- # directive (i.e. any lines not starting with #). Put the result in
- # user_settings_asm.h in the same directory as user_settings.h.
- # user_settings_asm.h is safe to include in assembly files (e.g. .S
- # files).
- sed -e '/^ *#/!d' -e :a -e '$!N;s/\\\n/ /;ta' -e 'P;D' < "$user_settings_path" > "$user_settings_dir/user_settings_asm.h"
- fi
|