Hi folks I hacked ppc64 support into l-k-h, it uses the same hack than sparc. Bastian -- You canna change the laws of physics, Captain; I've got to have thirty minutes!
=== debian/generate-asm.sh
==================================================================
--- debian/generate-asm.sh (/linux-kernel-headers/debian/current) (revision 44)
+++ debian/generate-asm.sh (/linux-kernel-headers/trunk) (revision 44)
@@ -2,67 +2,87 @@
# Idea borrowed from RedHat's kernel package
-if [ -n "$1" ]; then
- if [ ! -d "$1" ]; then
- echo "$1" does not exist, or is not a directory
- exit 1
- fi
- cd $1
-else
- cd /usr/include
+arch="$1"
+dir_in="$2"
+dir_out="$3"
+
+if [ ! -d "$dir_in" ]; then
+ echo "$dir_in" does not exist, or is not a directory
+ exit 1
fi
-if [ ! -d asm-sparc ] || [ ! -d asm-sparc64 ] ; then
- echo E: asm-sparc and asm-sparc64 must exist, or you will have problems
+case "$arch" in
+ powerpc)
+ define_biarch="__powerpc64__"
+ kernel_arch="ppc"
+ kernel_arch_biarch="ppc64"
+ ;;
+ sparc)
+ define_biarch="__arch64__"
+ kernel_arch="sparc"
+ kernel_arch_biarch="sparc64"
+ ;;
+ *)
+ echo Invalid architeture >&2
+ exit 1
+esac
+
+asm_dir="asm-$kernel_arch"
+asm_dir_biarch="asm-$kernel_arch_biarch"
+
+if [ ! -d "$dir_in/$asm_dir" ] || [ ! -d "$dir_in/$asm_dir_biarch" ] ; then
+ echo E: $asm_dir and $asm_dir_biarch must exist, or you will have problems
exit 1
fi
-rm -rf asm
-mkdir asm
+mkdir -p $dir_out/asm
+cp -a $dir_in/$asm_dir $dir_out/$asm_dir
+cp -a $dir_in/$asm_dir_biarch $dir_out/$asm_dir_biarch
-for h in `( ls asm-sparc; ls asm-sparc64 ) | grep '\.h$' | sort -u`; do
- name=`echo $h | tr a-z. A-Z_`
+dirs=$((( cd "$dir_in/$asm_dir"; find . -type d ); ( cd "$dir_in/$asm_dir_biarch"; find . -type d )) | sort -u )
+files=$((( cd "$dir_in/$asm_dir"; find . -name "*.h" -type f ); ( cd "$dir_in/$asm_dir_biarch"; find . -name "*.h" -type f )) | sort -u )
+
+for h in $dirs; do
+ mkdir -p "$dir_out/asm/$h"
+done
+
+for h in $files; do
+ name=$(echo $h | tr a-z. A-Z_)
+ file_out="$dir_out/asm/$h"
# common header
- cat > asm/$h << EOF
+ cat > $file_out << EOF
/* All asm/ files are generated and point to the corresponding
- * file in asm-sparc or asm-sparc64. To regenerate, run "generate-asm"
+ * file in $asm_dir or $asm_dir_biarch.
*/
-#ifndef __SPARCSTUB__${name}__
-#define __SPARCSTUB__${name}__
-
EOF
# common for sparc and sparc64
- if [ -f asm-sparc/$h ] && [ -f asm-sparc64/$h ]; then
- cat >> asm/$h <<EOF
-#ifdef __arch64__
-#include <asm-sparc64/$h>
+ if [ -f $dir_in/$asm_dir/$h ] && [ -f $dir_in/$asm_dir_biarch/$h ]; then
+ cat >> $file_out <<EOF
+#ifdef $define_biarch
+# include <$asm_dir_biarch/$h>
#else
-#include <asm-sparc/$h>
+# include <$asm_dir/$h>
#endif
EOF
- # sparc only
- elif [ -f asm-sparc/$h ]; then
- cat >> asm/$h <<EOF
-#ifndef __arch64__
-#include <asm-sparc/$h>
+ elif [ -f $dir_in/$asm_dir/$h ]; then
+ cat >> $file_out <<EOF
+#ifdef $define_biarch
+# error This header is not available for $kernel_arch_biarch
+#else
+# include <$asm_dir/$h>
#endif
EOF
- # sparc64 only
else
- cat >> asm/$h <<EOF
-#ifdef __arch64__
-#include <asm-sparc64/$h>
+ cat >> $file_out <<EOF
+#ifdef $define_biarch
+# include <$asm_dir_biarch/$h>
+#else
+# error This header is not available for $kernel_arch
#endif
EOF
fi
- # common footer
- cat >> asm/$h <<EOF
-
-#endif /* !__SPARCSTUB__${name}__ */
-EOF
-
done
=== debian/changelog
==================================================================
--- debian/changelog (/linux-kernel-headers/debian/current) (revision 44)
+++ debian/changelog (/linux-kernel-headers/trunk) (revision 44)
@@ -1,3 +1,9 @@
+linux-kernel-headers (2.5.999-test7-bk-17.0powerpc64.1) local; urgency=low
+
+ * Add powerpc64 support.
+
+ -- Bastian Blank <waldi@debian.org> Tue, 15 Mar 2005 15:29:28 +0000
+
linux-kernel-headers (2.5.999-test7-bk-17) unstable; urgency=low
* GOTO Masanori <gotom@debian.org>
=== debian/rules
==================================================================
--- debian/rules (/linux-kernel-headers/debian/current) (revision 44)
+++ debian/rules (/linux-kernel-headers/trunk) (revision 44)
@@ -27,17 +27,13 @@
lkh-install: stamp-lkh-install
stamp-lkh-install: build
+ rm -rf $(includedir)
install -d $(includedir)
install -d $(includedir)/linux
-ifeq ($(kernel_arch),sparc)
- # Sparc and Sparc64 have separate headers. Generate wrappers.
- cp -a include/asm-sparc $(includedir)/asm-sparc
- cp -a include/asm-sparc64 $(includedir)/asm-sparc64
- mkdir include/asm
- sh debian/generate-asm.sh $(includedir)
+ifneq (,$(findstring $(DEB_HOST_ARCH), powerpc sparc))
+ sh debian/generate-asm.sh $(DEB_HOST_ARCH) include $(includedir)
else
- rm -rf $(includedir)/asm
cp -a include/asm-$(kernel_arch) $(includedir)/asm
endif
Attachment:
signature.asc
Description: Digital signature