1592213 [rkeene@sledge /home/rkeene/devel/autoconf]$ cat -n versionscript.m4
 1 AC_DEFUN(DC_SETVERSIONSCRIPT, [
 2     VERSIONSCRIPT="$1"
 3     SYMFILE="$2"
 4 
 5     delete_symfile='0'
 6     if test ! -f "${SYMFILE}"; then
 7         delete_symfile='1'
 8 
 9         echo '' > "${SYMFILE}"
10     fi
11 
12     SAVE_LDFLAGS="${LDFLAGS}"
13 
14     AC_MSG_CHECKING([for how to set version script])
15 
16     for tryaddldflags in "-Wl,--version-script -Wl,${VERSIONSCRIPT}" "-Wl,-exported_symbols_list -Wl,${SYMFILE}"; do
17         LDFLAGS="${SAVE_LDFLAGS} ${tryaddldflags}"
18         AC_TRY_LINK([], [], [
19             addldflags="${tryaddldflags}"
20 
21             break
22         ])
23     done
24 
25     if test "${delete_symfile}" = "1"; then
26         rm -f "${SYMFILE}"
27     fi
28 
29     if test -n "${addldflags}"; then
30         LDFLAGS="${SAVE_LDFLAGS} ${addldflags}"
31         AC_MSG_RESULT($addldflags)
32     else
33         LDFLAGS="${SAVE_LDFLAGS}"
34         AC_MSG_RESULT([don't know])
35     fi
36 ])
37 
38 AC_DEFUN(DC_FIND_STRIP_AND_REMOVESYMS, [
39     SYMFILE="$1"
40 
41     dnl Determine how to strip executables
42     AC_CHECK_TOOLS(OBJCOPY, objcopy gobjcopy, [false])
43     AC_CHECK_TOOLS(STRIP, strip gstrip, [false])
44 
45     if test "x${STRIP}" = "xfalse"; then
46         STRIP="${OBJCOPY}"
47     fi
48 
49     WEAKENSYMS='true'
50     REMOVESYMS='true'
51     SYMPREFIX=''
52 
53     case $host_os in
54         darwin*)
55             REMOVESYMS="${STRIP} -i -u -s ${SYMFILE}"
56             SYMPREFIX="_"
57             ;;
58         *)
59             if test "x${OBJCOPY}" != "xfalse"; then
60                 WEAKENSYMS="${OBJCOPY} --keep-global-symbols=${SYMFILE}"
61                 REMOVESYMS="${OBJCOPY} --discard-all"
62             elif test "x${STRIP}" != "xfalse"; then
63                 REMOVESYMS="${STRIP} -x"
64             fi
65             ;;
66     esac
67 
68     AC_SUBST(WEAKENSYMS)
69     AC_SUBST(REMOVESYMS)
70     AC_SUBST(SYMPREFIX)
71 ])
1592214 [rkeene@sledge /home/rkeene/devel/autoconf]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 2011-12-21 14:08:07