Tue Apr 16 14:26:53 2024 UTC (23d)
nouveau: Rework nouveau2netbsd hack to get ACPI stuff.


(riastradh)
diff -r1.5 -r1.6 src/sys/external/bsd/drm2/nouveau/nouveau2netbsd

cvs diff -r1.5 -r1.6 src/sys/external/bsd/drm2/nouveau/nouveau2netbsd (expand / switch to unified diff)

--- src/sys/external/bsd/drm2/nouveau/nouveau2netbsd 2018/08/27 00:46:21 1.5
+++ src/sys/external/bsd/drm2/nouveau/nouveau2netbsd 2024/04/16 14:26:53 1.6
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1#!/bin/sh 1#!/bin/sh
2 2
3# $NetBSD: nouveau2netbsd,v 1.5 2018/08/27 00:46:21 riastradh Exp $ 3# $NetBSD: nouveau2netbsd,v 1.6 2024/04/16 14:26:53 riastradh Exp $
4# 4#
5# $ /path/to/nouveau2netbsd > /path/to/files.nouveau.new 5# $ /path/to/nouveau2netbsd > /path/to/files.nouveau.new
6# 6#
7# Run from the top-level Nouveau source directory. This stupid kludge 7# Run from the top-level Nouveau source directory. This stupid kludge
8# reinterprets the GNU makefile as a BSD makefile to extract the source 8# reinterprets the GNU makefile as a BSD makefile to extract the source
9# file names, renames the ones that have obscure and/or colliding 9# file names, renames the ones that have obscure and/or colliding
10# basenames to be less obscure and unlikely (though not guaranteed) to 10# basenames to be less obscure and unlikely (though not guaranteed) to
11# collide, and spits out config(5) directives for all of them. 11# collide, and spits out config(5) directives for all of them.
12 12
13set -Ceu 13set -Ceu
14 14
15: ${MV:=mv} 15: ${MV:=mv}
16 16
@@ -22,29 +22,33 @@ nouveau_flag=nouveau @@ -22,29 +22,33 @@ nouveau_flag=nouveau
22 22
23filemap= 23filemap=
24 24
25clean () 25clean ()
26{ 26{
27 [ -z "$filemap" ] || rm -f -- "$filemap" || : 27 [ -z "$filemap" ] || rm -f -- "$filemap" || :
28} 28}
29trap clean EXIT HUP INT TERM 29trap clean EXIT HUP INT TERM
30 30
31filemap="$(mktemp -t ${0##*/})" 31filemap="$(mktemp -t ${0##*/})"
32 32
33cat Kbuild \ 33cat Kbuild \
34| sed -e 's,^include \(.*\)$,.include "\1",' \ 34| sed -e 's,^include \(.*\)$,.include "\1",' \
35| sed -e 's,^ifdef \(.*\)$,.if !empty(\1:M[yY][eE][sS]),' \ 35| sed -e 's,^ifdef \(.*\)$,.if !empty(\1:M[yY]),' \
36| sed -e 's,^endif$,.endif,' \ 36| sed -e 's,^endif$,.endif,' \
37| make -f /dev/stdin -V '$(nouveau-y)' src=. \ 37| env \
 38 env CONFIG_ACPI=y \
 39 env CONFIG_X86=y \
 40 env src=. \
 41 make -f /dev/stdin -V '$(nouveau-y)' \
38| tr ' ' '\n' \ 42| tr ' ' '\n' \
39| sed -e 's,^$,,' \ 43| sed -e 's,^$,,' \
40| sort -u \ 44| sort -u \
41| sed -e 's,\.o$,.c,' \ 45| sed -e 's,\.o$,.c,' \
42| awk ' 46| awk '
43 BEGIN { 47 BEGIN {
44 duplicates = 0 48 duplicates = 0
45 } 49 }
46 $1 ~ "nouveau_[^/]*$" { 50 $1 ~ "nouveau_[^/]*$" {
47 if (seen[$1]) 51 if (seen[$1])
48 printf("Duplicate basename: %s\n", $1) 52 printf("Duplicate basename: %s\n", $1)
49 seen[$1] = $1 53 seen[$1] = $1
50 printf("%s %s\n", $1, $1) 54 printf("%s %s\n", $1, $1)