1
# asm-underscore.m4 serial 1
2
dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
3
dnl This file is free software; the Free Software Foundation
4
dnl gives unlimited permission to copy and/or distribute it,
5
dnl with or without modifications, as long as this notice is preserved.
7
dnl From Bruno Haible. Based on as-underscore.m4 in GNU clisp.
10
# Tests for the prefix of C symbols at the assembly language level and the
11
# linker level. This prefix is either an underscore or empty. Defines the
12
# C macro USER_LABEL_PREFIX to this prefix, and sets ASM_SYMBOL_PREFIX to
13
# a stringified variant of this prefix.
15
AC_DEFUN([gl_ASM_SYMBOL_PREFIX],
17
dnl We don't use GCC's __USER_LABEL_PREFIX__ here, because
18
dnl 1. It works only for GCC.
19
dnl 2. It is incorrectly defined on some platforms, in some GCC versions.
21
[whether C symbols are prefixed with underscore at the linker level],
22
[gl_cv_prog_as_underscore],
23
[cat > conftest.c <<EOF
25
extern "C" int foo (void);
27
int foo(void) { return 0; }
29
# Look for the assembly language name in the .s file.
30
AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS -S conftest.c) >/dev/null 2>&1
31
if grep _foo conftest.s >/dev/null ; then
32
gl_cv_prog_as_underscore=yes
34
gl_cv_prog_as_underscore=no
38
if test $gl_cv_prog_as_underscore = yes; then
43
AC_DEFINE_UNQUOTED([USER_LABEL_PREFIX], [$USER_LABEL_PREFIX],
44
[Define to the prefix of C symbols at the assembler and linker level,
45
either an underscore or empty.])
46
ASM_SYMBOL_PREFIX='"'${USER_LABEL_PREFIX}'"'
47
AC_SUBST([ASM_SYMBOL_PREFIX])