dnl -------------------------------------------------------------------------- dnl PA_SYM(prefix, string) dnl dnl Convert a (semi-) arbitrary string to a CPP symbol dnl Compact underscores and convert non-C characters to underscore, dnl except + which is converted to X (so C++ -> CXX). dnl -------------------------------------------------------------------------- AC_DEFUN([PA_SYM], [m4_bpatsubsts(m4_quote(m4_toupper([$*])), [,],[],[\+],[X],[[^ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]+],[_],dnl [^._?\(.*\)_.$],[[\1]])])