Raaah!!1¡! Why does this still SUCK SO MUCH?
If only Unices would have shipped with an interpreter for a sensible language instead of shell scripts, then I would not have to write macros for basic language constructs (why hasn't anybody else?!):
# SYNOPSIS # # AX_LET([VAR1],[EXPR1], # [VAR2],[EXPR2],... # [...]) # m4_define([AX_LET_counter_],0) m4_define([AX_LET_AUX], [dnl m4_if([$#], 2, [$1 $2], [dnl ax_let_$2_AX_LET_counter__tmp_=$3 AX_LET_AUX([m4_if([$1],,,[$1 ])dnl ax_let_$2_AX_LET_counter_="[$]$2" $2="[$]ax_let_$2_AX_LET_counter__tmp_"], m4_shiftn(3,$@)) $2="[$]ax_let_$2_AX_LET_counter_"])])dnl AC_DEFUN([AX_LET], [m4_define([AX_LET_counter_], m4_incr(AX_LET_counter_))dnl # AX_LET AX_LET_AUX(,$@)])
That is all. Also, another proof that you can write Lisp in any language.
…and don't get me started on the umpteen ways to make gcc compile with pthreads on different platforms, or what will happen when you want to combine pthreads with MPI on AIX (think cc_r vs. mpicc). Thankfully, it is unlikely that we have to support AIX anytime soon.
…or that developers appear to assume you can mix options and file arguments in the rm command. Which MacOS X's rm does not support.