[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