2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
[grub2.git] / genkernsyms.sh.in
blob3dec5828d5478531cddcabd82c096f3be1362c3e
1 #! /bin/sh
3 # Copyright (C) 2002,2006,2008 Free Software Foundation, Inc.
5 # This gensymlist.sh is free software; the author
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
14 ### The configure script will replace these variables.
16 : ${srcdir=@srcdir@}
17 : ${CC=@CC@}
20 grep "^#define HAVE_ASM_USCORE" config.h >/dev/null 2>&1 && u="_"
22 $CC -DGRUB_SYMBOL_GENERATOR=1 -E -I. -Iinclude -I"$srcdir/include" $* \
23 | grep -v '^#' \
24 | sed -n \
25 -e '/EXPORT_FUNC *([a-zA-Z0-9_]*)/{s/.*EXPORT_FUNC *(\([a-zA-Z0-9_]*\)).*/'"$u"'\1 kernel/;p;}' \
26 -e '/EXPORT_VAR *([a-zA-Z0-9_]*)/{s/.*EXPORT_VAR *(\([a-zA-Z0-9_]*\)).*/'"$u"'\1 kernel/;p;}' \
27 | sort -u