|
@@ -0,0 +1,70 @@
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+die_if_not_dir()
|
|
|
+{
|
|
|
+ for dir in "$@"; do
|
|
|
+ test -d "$dir" && continue
|
|
|
+ echo "Error: '$dir' is not a directory"
|
|
|
+ exit 1
|
|
|
+ done
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+umask 022
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+die_if_not_dir "$1"
|
|
|
+mkdir -p "$2" 2>/dev/null
|
|
|
+die_if_not_dir "$2"
|
|
|
+die_if_not_dir "$top_builddir"
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+eval `grep ^KERNEL_HEADERS "$top_builddir/.config"`
|
|
|
+if ! test "$KERNEL_HEADERS" \
|
|
|
+|| ! test -d "$KERNEL_HEADERS/asm" \
|
|
|
+|| ! test -d "$KERNEL_HEADERS/asm-generic" \
|
|
|
+|| ! test -d "$KERNEL_HEADERS/linux" \
|
|
|
+; then
|
|
|
+ echo "Error: '$KERNEL_HEADERS' is not a directory containing kernel headers."
|
|
|
+ echo "Check KERNEL_HEADERS= in your .config file."
|
|
|
+ exit 1
|
|
|
+fi
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+if test "`(cd "$KERNEL_HEADERS"; env pwd)`" != "`(cd "$2"; env pwd)`"; then
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ mkdir -p "$2/asm" 2>/dev/null
|
|
|
+ mkdir -p "$2/asm-generic" 2>/dev/null
|
|
|
+ mkdir -p "$2/linux" 2>/dev/null
|
|
|
+
|
|
|
+ die_if_not_dir "$2/asm" "$2/asm-generic" "$2/linux"
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ cp -RHL "$KERNEL_HEADERS/asm"/* "$2/asm" || exit 1
|
|
|
+ cp -RHL "$KERNEL_HEADERS/asm-generic"/* "$2/asm-generic" || exit 1
|
|
|
+ cp -RHL "$KERNEL_HEADERS/linux"/* "$2/linux" || exit 1
|
|
|
+ if ! test -f "$2/linux/version.h"; then
|
|
|
+ echo "Warning: '$KERNEL_HEADERS/linux/version.h' is not found"
|
|
|
+ echo "in kernel headers directory specified in .config."
|
|
|
+ echo "Some programs won't like that. Consider fixing it by hand."
|
|
|
+ fi
|
|
|
+fi
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+cd "$2" || exit 1
|
|
|
+chmod -R u=rwX,go=rX . >/dev/null 2>&1
|
|
|
+chown -R `id | sed 's/^uid=\([0-9]*\).*gid=\([0-9]*\).*$/\1:\2/'` . >/dev/null 2>&1
|