| | 6 | |
| | 7 | == version 1.4.12 == |
| | 8 | |
| | 9 | ||R5||untested|| |
| | 10 | ||BONE||untested|| |
| | 11 | ||Haiku||stable|| |
| | 12 | |
| | 13 | === revision 1 (bonefish) - [Haiku] === |
| | 14 | |
| | 15 | ==== Changes ([http://ports.haiku-files.org/svn/haikuports/trunk/sys-devel/m4/m4-1.4.12.diff patch]) ==== |
| | 16 | |
| | 17 | {{{lib/binary-io.h}}}, {{{lib/fcntl.in.h}}}: |
| | 18 | - The usual "Haiku has O_BINARY and O_TEXT, but it isn't DOSish". |
| | 19 | {{{lib/c-stack.c}}}: |
| | 20 | - If SA_ONSTACK is available, use it, even if there's no siginfo support. This avoids a second SIGSEGV on a stack overflow. |
| | 21 | {{{lib/config.charset}}}: |
| | 22 | - Haiku is UTF-8, too. |
| | 23 | {{{lib/freadahead.c}}}: |
| | 24 | - Use the same freadahead() implementation as BeOS. Haiku's libio is binary compatible. |
| | 25 | {{{lib/regex_internal.h}}}: |
| | 26 | - Don't define RE_ENABLE_I18N for Haiku. This would require working wchar support, which is broken ATM. Not upstreamable! |
| | 27 | {{{src/m4.c}}}: |
| | 28 | - SIGBUS == SIGSEGV -- no need for a separate string for SIGBUS. |
| | 29 | - Don't install signal handler for SIGBUS as that unsets the signal handler for SIGSEGV, which is set by the stack overflow handling code. |
| | 30 | |
| | 31 | ==== Configuring/Building ==== |
| | 32 | {{{ |
| | 33 | ./configure --prefix=/boot/common --enable-changeword |
| | 34 | echo '#define HAVE_SYS_WAIT_H 1' >> lib/config.h |
| | 35 | make |
| | 36 | }}} |
| | 37 | |
| | 38 | Note: The HAVE_SYS_WAIT_H part is a hack that add works around the problem that <sys/wait.h> is actually used (and the macro checked) in code (src/builtin.c), but configure never checks it. I'm way too annoyed with the autotools stuff to find out where I have to add the check so that autoheader generates the macro and configure does the check. I'll simply report that as a bug to the M4 folks, if it still exists in the current version. |
| | 39 | |
| | 40 | Also note: "make" might feel like rerunning configure, which overwrites lib/config.h again. If that happens, rerun the HAVE_SYS_WAIT_H line and "make". |
| | 41 | |
| | 42 | ==== Tests ==== |
| | 43 | |
| | 44 | {{{ |
| | 45 | make check |
| | 46 | }}} |
| | 47 | |
| | 48 | {{{stackovf.test}}} fails. This is due to missing siginfo support in Haiku. |