File: global.h.sh

package info (click to toggle)
oskit 0.97.20000202-1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 58,008 kB
  • ctags: 172,612
  • sloc: ansic: 832,827; asm: 7,640; sh: 3,920; yacc: 3,664; perl: 1,457; lex: 427; makefile: 337; csh: 141; awk: 78
file content (55 lines) | stat: -rwxr-xr-x 1,871 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/bin/sh
#
# Copyright (c) 1996-1999 The University of Utah and the Flux Group.
# 
# This file is part of the OSKit Linux Glue Libraries, which are free
# software, also known as "open source;" you can redistribute them and/or
# modify them under the terms of the GNU General Public License (GPL),
# version 2, as published by the Free Software Foundation (FSF).
# 
# The OSKit is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GPL for more details.  You should have
# received a copy of the GPL along with the OSKit; see the file COPYING.  If
# not, write to the FSF, 59 Temple Place #330, Boston, MA 02111-1307, USA.
#

# This is used to generate the shared/global.h file.
# It is meant to be run by hand,
# not from a makefile or anything.
# You would run it where the .o files for the shared stuff have
# already been built.
# What it does is go look in the shared src tree for the filenames that
# comprise the shared portion of the linux fs and dev libraries,
# and then runs `nm' on them to figure out which symbols need to be
# prefixed with OSKIT_LINUX_.

OSKIT_SRCDIR=$HOME/oskit
files=

#
# Edit these ...
# 
nm=nm					# $prefix depends on this too
prefix=_				# for a.out nm
linux_arch=i386
oskit_arch=x86

for d in 	${OSKIT_SRCDIR}/linux/shared				\
		${OSKIT_SRCDIR}/linux/shared/${oskit_arch}		\
		${OSKIT_SRCDIR}/linux/src/lib				\
		${OSKIT_SRCDIR}/linux/src/arch/${linux_arch}/lib	\
		${OSKIT_SRCDIR}/linux/src/arch/${linux_arch}/kernel	
do
	files="$files `find $d -name '*.[csS]' -print | sed 's-.*/--;s-\.[csS]-.o-'`"
done

echo $files

$nm $files \
| grep ' [TDRC] ' \
| awk '{ print $3 }' \
| egrep -vi '^(oskit_|fs_linux|fdev_)' \
| sed "s/^$prefix//" \
| awk '{ printf "#define "$1" OSKIT_LINUX_"$1"\n"; }' \
| sort