[Glibc-bsd-commits] r1829 - trunk/kfreebsd-kernel-headers/debian
Aurelien Jarno
aurel32 at alioth.debian.org
Tue Jan 2 00:46:09 CET 2007
Author: aurel32
Date: 2007-01-02 00:46:09 +0100 (Tue, 02 Jan 2007)
New Revision: 1829
Added:
trunk/kfreebsd-kernel-headers/debian/generate-asm.sh
Modified:
trunk/kfreebsd-kernel-headers/debian/changelog
trunk/kfreebsd-kernel-headers/debian/control
trunk/kfreebsd-kernel-headers/debian/rules
Log:
* Add bi-arch support for i386 and amd64.
* Bumped build-dependency on kfreebsd-source-6.1 to (>= 6.1-3)
to make sure the CVS/ directories are removed.
Modified: trunk/kfreebsd-kernel-headers/debian/changelog
===================================================================
--- trunk/kfreebsd-kernel-headers/debian/changelog 2007-01-01 23:43:24 UTC (rev 1828)
+++ trunk/kfreebsd-kernel-headers/debian/changelog 2007-01-01 23:46:09 UTC (rev 1829)
@@ -1,3 +1,11 @@
+kfreebsd-kernel-headers (0.25) unreleased; urgency=low
+
+ * Add bi-arch support for i386 and amd64.
+ * Bumped build-dependency on kfreebsd-source-6.1 to (>= 6.1-3)
+ to make sure the CVS/ directories are removed.
+
+ -- Aurelien Jarno <aurel32 at debian.org> Mon, 1 Jan 2007 23:23:37 +0100
+
kfreebsd-kernel-headers (0.24) unreleased; urgency=low
* Small fix for kfreebsd-amd64.
Modified: trunk/kfreebsd-kernel-headers/debian/control
===================================================================
--- trunk/kfreebsd-kernel-headers/debian/control 2007-01-01 23:43:24 UTC (rev 1828)
+++ trunk/kfreebsd-kernel-headers/debian/control 2007-01-01 23:46:09 UTC (rev 1829)
@@ -3,7 +3,7 @@
Priority: standard
Maintainer: GNU/kFreeBSD Maintainers <debian-bsd at lists.debian.org>
Uploaders: Aurelien Jarno <aurel32 at debian.org>, Guillem Jover <guillem at debian.org>
-Build-Depends: debhelper (>= 4.1.0), kfreebsd-source-6.1
+Build-Depends: debhelper (>= 4.1.0), kfreebsd-source-6.1 (>= 6.1-3)
Standards-Version: 3.7.2
Package: kfreebsd-kernel-headers
Added: trunk/kfreebsd-kernel-headers/debian/generate-asm.sh
===================================================================
--- trunk/kfreebsd-kernel-headers/debian/generate-asm.sh 2007-01-01 23:43:24 UTC (rev 1828)
+++ trunk/kfreebsd-kernel-headers/debian/generate-asm.sh 2007-01-01 23:46:09 UTC (rev 1829)
@@ -0,0 +1,92 @@
+#!/bin/sh -e
+
+# Idea borrowed from RedHat's kernel package
+
+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
+
+case "$arch" in
+ amd64)
+ define_biarch="#ifdef __i386__"
+ arch="amd64"
+ biarch="i386"
+ ;;
+ i386)
+ define_biarch="#ifdef __x86_64__"
+ arch="i386"
+ biarch="amd64"
+ ;;
+ *)
+ echo Invalid architecture >&2
+ exit 1
+esac
+
+machine_dir="$arch/include"
+machine_dir_biarch="$biarch/include"
+
+# The directory to create in /usr/include.
+machine_dir_out="machine-$arch"
+machine_dir_out_biarch="machine-$biarch"
+
+if [ ! -d "$dir_in/$machine_dir" ] || [ ! -d "$dir_in/$machine_dir_biarch" ] ; then
+ echo E: $machine_dir and $machine_dir_biarch must exist, or you will have problems
+ exit 1
+fi
+
+mkdir -p $dir_out/machine
+cp -a $dir_in/$machine_dir $dir_out/$machine_dir_out
+cp -a $dir_in/$machine_dir_biarch $dir_out/$machine_dir_out_biarch
+
+dirs=$( (( cd "$dir_in/$machine_dir"; find . -type d ); ( cd "$dir_in/$machine_dir_biarch"; find . -type d )) | sort -u )
+files=$( (( cd "$dir_in/$machine_dir"; find . -name "*.h" -type f ); ( cd "$dir_in/$machine_dir_biarch"; find . -name "*.h" -type f )) | sed 's/^.\///g' | sort -u )
+
+for h in $dirs; do
+ mkdir -p "$dir_out/machine/$h"
+done
+
+for h in $files; do
+ name=$(echo $h | tr a-z. A-Z_)
+ file_out="$dir_out/machine/$h"
+ # common header
+ cat > $file_out << EOF
+/* All machine/ files are generated and point to the corresponding
+ * file in $machine_dir_out or $machine_dir_biarch.
+ */
+
+EOF
+
+ if [ -f $dir_in/$machine_dir/$h ] && [ -f $dir_in/$machine_dir_biarch/$h ]; then
+ cat >> $file_out <<EOF
+$define_biarch
+# include <$machine_dir_out_biarch/$h>
+#else
+# include <$machine_dir_out/$h>
+#endif
+EOF
+
+ elif [ -f $dir_in/$machine_dir/$h ]; then
+ cat >> $file_out <<EOF
+$define_biarch
+# error This header is not available for $biarch
+#else
+# include <$machine_dir_out/$h>
+#endif
+EOF
+ else
+ cat >> $file_out <<EOF
+$define_biarch
+# include <$machine_dir_out_biarch/$h>
+#else
+# error This header is not available for $arch
+#endif
+EOF
+ fi
+
+done
+
Property changes on: trunk/kfreebsd-kernel-headers/debian/generate-asm.sh
___________________________________________________________________
Name: svn:executable
+ *
Modified: trunk/kfreebsd-kernel-headers/debian/rules
===================================================================
--- trunk/kfreebsd-kernel-headers/debian/rules 2007-01-01 23:43:24 UTC (rev 1828)
+++ trunk/kfreebsd-kernel-headers/debian/rules 2007-01-01 23:46:09 UTC (rev 1829)
@@ -38,8 +38,8 @@
dh_clean -k
dh_installdirs
- mkdir -p $(HEADERS_PACKAGE)/usr/include/machine
-
+ mkdir -p $(HEADERS_PACKAGE)/usr/include
+
cd $(SRC_DIR)/sys \
&& for file in `cat $(CURDIR)/debian/includes.list` ; do \
if [ -d $$file ] ; then \
@@ -49,8 +49,13 @@
fi ;\
done
+ifneq ($(filter i386 amd64, $(kfreebsd_cpu)),)
+ sh debian/generate-asm.sh $(kfreebsd_cpu) $(SRC_DIR)/sys $(HEADERS_PACKAGE)/usr/include
+else
+ mkdir -p $(HEADERS_PACKAGE)/usr/include/machine
cd $(SRC_DIR)/sys/$(kfreebsd_cpu)/include \
&& find . -type f -name "*.h" -exec cp --parents {} $(HEADERS_PACKAGE)/usr/include/machine \;
+endif
# Build architecture-independent files here.
binary-indep: build install
More information about the Glibc-bsd-commits
mailing list