Files correlati : Commento : Spostamento in libraries delle librerie esterne di Campo per una maggiore pulizia e organizzazione git-svn-id: svn://10.65.10.50/branches/R_10_00@24150 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			165 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			165 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #---------------------------------------------------------------------------
 | |
| #
 | |
| # xc-translit.m4
 | |
| #
 | |
| # Copyright (c) 2011 Daniel Stenberg <daniel@haxx.se>
 | |
| #
 | |
| # Permission to use, copy, modify, and distribute this software for any
 | |
| # purpose with or without fee is hereby granted, provided that the above
 | |
| # copyright notice and this permission notice appear in all copies.
 | |
| #
 | |
| # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | |
| # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 | |
| # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | |
| # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | |
| # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 | |
| # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | |
| # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | |
| #
 | |
| #---------------------------------------------------------------------------
 | |
| 
 | |
| # File version for 'aclocal' use. Keep it a single number.
 | |
| # serial 2
 | |
| 
 | |
| 
 | |
| dnl XC_SH_TR_SH (expression)
 | |
| dnl -------------------------------------------------
 | |
| dnl Shell execution time transliteration of 'expression'
 | |
| dnl argument, where all non-alfanumeric characters are
 | |
| dnl converted to the underscore '_' character.
 | |
| dnl Normal shell expansion and substitution takes place
 | |
| dnl for given 'expression' at shell execution time before
 | |
| dnl transliteration is applied to it.
 | |
| 
 | |
| AC_DEFUN([XC_SH_TR_SH],
 | |
| [`echo "$1" | sed 's/[[^a-zA-Z0-9_]]/_/g'`])
 | |
| 
 | |
| 
 | |
| dnl XC_SH_TR_SH_EX (expression, [extra])
 | |
| dnl -------------------------------------------------
 | |
| dnl Like XC_SH_TR_SH but transliterating characters
 | |
| dnl given in 'extra' argument to lowercase 'p'. For
 | |
| dnl example [*+], [*], and [+] are valid 'extra' args.
 | |
| 
 | |
| AC_DEFUN([XC_SH_TR_SH_EX],
 | |
| [ifelse([$2], [],
 | |
|   [XC_SH_TR_SH([$1])],
 | |
|   [`echo "$1" | sed 's/[[$2]]/p/g' | sed 's/[[^a-zA-Z0-9_]]/_/g'`])])
 | |
| 
 | |
| 
 | |
| dnl XC_M4_TR_SH (expression)
 | |
| dnl -------------------------------------------------
 | |
| dnl m4 execution time transliteration of 'expression'
 | |
| dnl argument, where all non-alfanumeric characters are
 | |
| dnl converted to the underscore '_' character.
 | |
| 
 | |
| AC_DEFUN([XC_M4_TR_SH],
 | |
| [patsubst(XC_QPATSUBST(XC_QUOTE($1),
 | |
|                        [[^a-zA-Z0-9_]], [_]),
 | |
|           [\(_\(.*\)_\)], [\2])])
 | |
| 
 | |
| 
 | |
| dnl XC_M4_TR_SH_EX (expression, [extra])
 | |
| dnl -------------------------------------------------
 | |
| dnl Like XC_M4_TR_SH but transliterating characters
 | |
| dnl given in 'extra' argument to lowercase 'p'. For
 | |
| dnl example [*+], [*], and [+] are valid 'extra' args.
 | |
| 
 | |
| AC_DEFUN([XC_M4_TR_SH_EX],
 | |
| [ifelse([$2], [],
 | |
|   [XC_M4_TR_SH([$1])],
 | |
|   [patsubst(XC_QPATSUBST(XC_QPATSUBST(XC_QUOTE($1),
 | |
|                                       [[$2]],
 | |
|                                       [p]),
 | |
|                          [[^a-zA-Z0-9_]], [_]),
 | |
|             [\(_\(.*\)_\)], [\2])])])
 | |
| 
 | |
| 
 | |
| dnl XC_SH_TR_CPP (expression)
 | |
| dnl -------------------------------------------------
 | |
| dnl Shell execution time transliteration of 'expression'
 | |
| dnl argument, where all non-alfanumeric characters are
 | |
| dnl converted to the underscore '_' character and alnum
 | |
| dnl characters are converted to uppercase.
 | |
| dnl Normal shell expansion and substitution takes place
 | |
| dnl for given 'expression' at shell execution time before
 | |
| dnl transliteration is applied to it.
 | |
| 
 | |
| AC_DEFUN([XC_SH_TR_CPP],
 | |
| [`echo "$1" | dnl
 | |
| sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' | dnl
 | |
| sed 's/[[^A-Z0-9_]]/_/g'`])
 | |
| 
 | |
| 
 | |
| dnl XC_SH_TR_CPP_EX (expression, [extra])
 | |
| dnl -------------------------------------------------
 | |
| dnl Like XC_SH_TR_CPP but transliterating characters
 | |
| dnl given in 'extra' argument to uppercase 'P'. For
 | |
| dnl example [*+], [*], and [+] are valid 'extra' args.
 | |
| 
 | |
| AC_DEFUN([XC_SH_TR_CPP_EX],
 | |
| [ifelse([$2], [],
 | |
|   [XC_SH_TR_CPP([$1])],
 | |
|   [`echo "$1" | dnl
 | |
| sed 's/[[$2]]/P/g' | dnl
 | |
| sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' | dnl
 | |
| sed 's/[[^A-Z0-9_]]/_/g'`])])
 | |
| 
 | |
| 
 | |
| dnl XC_M4_TR_CPP (expression)
 | |
| dnl -------------------------------------------------
 | |
| dnl m4 execution time transliteration of 'expression'
 | |
| dnl argument, where all non-alfanumeric characters are
 | |
| dnl converted to the underscore '_' character and alnum
 | |
| dnl characters are converted to uppercase.
 | |
| 
 | |
| AC_DEFUN([XC_M4_TR_CPP],
 | |
| [patsubst(XC_QPATSUBST(XC_QTRANSLIT(XC_QUOTE($1),
 | |
|                                     [abcdefghijklmnopqrstuvwxyz],
 | |
|                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ]),
 | |
|                        [[^A-Z0-9_]], [_]),
 | |
|           [\(_\(.*\)_\)], [\2])])
 | |
| 
 | |
| 
 | |
| dnl XC_M4_TR_CPP_EX (expression, [extra])
 | |
| dnl -------------------------------------------------
 | |
| dnl Like XC_M4_TR_CPP but transliterating characters
 | |
| dnl given in 'extra' argument to uppercase 'P'. For
 | |
| dnl example [*+], [*], and [+] are valid 'extra' args.
 | |
| 
 | |
| AC_DEFUN([XC_M4_TR_CPP_EX],
 | |
| [ifelse([$2], [],
 | |
|   [XC_M4_TR_CPP([$1])],
 | |
|   [patsubst(XC_QPATSUBST(XC_QTRANSLIT(XC_QPATSUBST(XC_QUOTE($1),
 | |
|                                                    [[$2]],
 | |
|                                                    [P]),
 | |
|                                       [abcdefghijklmnopqrstuvwxyz],
 | |
|                                       [ABCDEFGHIJKLMNOPQRSTUVWXYZ]),
 | |
|                          [[^A-Z0-9_]], [_]),
 | |
|             [\(_\(.*\)_\)], [\2])])])
 | |
| 
 | |
| 
 | |
| dnl XC_QUOTE (expression)
 | |
| dnl -------------------------------------------------
 | |
| dnl Expands to quoted result of 'expression' expansion.
 | |
| 
 | |
| AC_DEFUN([XC_QUOTE],
 | |
| [[$@]])
 | |
| 
 | |
| 
 | |
| dnl XC_QPATSUBST (string, regexp[, repl])
 | |
| dnl -------------------------------------------------
 | |
| dnl Expands to quoted result of 'patsubst' expansion.
 | |
| 
 | |
| AC_DEFUN([XC_QPATSUBST],
 | |
| [XC_QUOTE(patsubst([$1], [$2], [$3]))])
 | |
| 
 | |
| 
 | |
| dnl XC_QTRANSLIT (string, chars, repl)
 | |
| dnl -------------------------------------------------
 | |
| dnl Expands to quoted result of 'translit' expansion.
 | |
| 
 | |
| AC_DEFUN([XC_QTRANSLIT],
 | |
| [XC_QUOTE(translit([$1], [$2], [$3]))])
 | |
| 
 |