diff options
author | Jing Yu <jingyu@google.com> | 2010-07-22 14:03:48 -0700 |
---|---|---|
committer | Jing Yu <jingyu@google.com> | 2010-07-22 14:03:48 -0700 |
commit | b094d6c4bf572654a031ecc4afe675154c886dc5 (patch) | |
tree | 89394c56b05e13a5413ee60237d65b0214fd98e2 /gcc-4.4.3/fixincludes | |
parent | dc34721ac3bf7e3c406fba8cfe9d139393345ec5 (diff) | |
download | toolchain_gcc-b094d6c4bf572654a031ecc4afe675154c886dc5.tar.gz toolchain_gcc-b094d6c4bf572654a031ecc4afe675154c886dc5.tar.bz2 toolchain_gcc-b094d6c4bf572654a031ecc4afe675154c886dc5.zip |
commit gcc-4.4.3 which is used to build gcc-4.4.3 Android toolchain in master.
The source is based on fsf gcc-4.4.3 and contains local patches which
are recorded in gcc-4.4.3/README.google.
Change-Id: Id8c6d6927df274ae9749196a1cc24dbd9abc9887
Diffstat (limited to 'gcc-4.4.3/fixincludes')
110 files changed, 28456 insertions, 0 deletions
diff --git a/gcc-4.4.3/fixincludes/ChangeLog b/gcc-4.4.3/fixincludes/ChangeLog new file mode 100644 index 000000000..7b78a687c --- /dev/null +++ b/gcc-4.4.3/fixincludes/ChangeLog @@ -0,0 +1,857 @@ +2010-01-21 Release Manager + + * GCC 4.4.3 released. + +2009-10-15 Release Manager + + * GCC 4.4.2 released. + +2009-07-22 Release Manager + + * GCC 4.4.1 released. + +2009-04-21 Release Manager + + * GCC 4.4.0 released. + +2009-04-09 Jakub Jelinek <jakub@redhat.com> + + * Makefile.in: Change copyright header to refer to version + 3 of the GNU General Public License and to point readers at the + COPYING3 file and the FSF's license web page. + * fixfixes.c: Likewise. + * fixinc.in: Likewise. + * fixincl.c: Likewise. + * fixlib.c: Likewise. + * fixlib.h: Likewise. + * fixopts.c: Likewise. + * fixtests.c: Likewise. + * genfixes: Likewise. + * mkheaders.in: Likewise. + * system.h: Likewise. + +2009-03-01 Bruce Korb <bkorb@gnu.org> + Apply a positively ancient patch: + + 2004-10-15 Giovanni Bajo <giovannibajo@libero.it> + + * inclhack.def (alpha_if_semicolon): new fix from long, long ago + * tests/base/net/if.h: Add new test. + +2009-01-06 Andreas Tobler <a.tobler@schweiz.org> + + * tests/base/locale.h: Add new test. + * tests/base/stdarg.h: Likewise. + +2009-01-05 Steve Ellcey <sje@cup.hp.com> + + * inclhack.def (hpux_spu_info): Add files line. + * fixincl.x: Regenerate. + +2009-01-01 Andreas Tobler <a.tobler@schweiz.org> + + * inclhack.def (openbsd_null_definition): Redefine NULL to (void *)0 + in case of C. + * fixincl.x: Regenerate. + +2008-12-31 Andreas Tobler <a.tobler@schweiz.org> + + PR target/35460 + * inclhack.def (openbsd_va_start): Use __builtin_va_start + for OpenBSD. + * fixincl.x: Regenerate. + +2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * configure: Regenerate. + +2008-12-15 Steve Ellcey <sje@cup.hp.com> + + * inclhack.def (hpux_spu_info): Match PA as well as IA64. + * fixincl.x: Regenerate. + +2008-09-06 H.J. Lu <hongjiu.lu@intel.com> + + * configure.ac: Fix a typo. + * configured: Regenerate. + +2008-09-06 Bruce Korb <bkorb@gnu.org> + + * fixincl.tpl (sed): make the program executable configurable. + Some platforms have some rather oddball defaults. + * config.h.in (SED_PROGRAM): define the default sed. + * fixincl.x: regenerated + * tests/base/internal/wchar_core.h: fix bad sample text + * tests/base/math.h: fix bad sample text + * configure.ac: search for working sed + * inclhack.def (glibc_mutex_init): fix non-portable construct + and re-order a few misordered entries. + +2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * configure: Regenerate. + +2008-06-07 Joseph Myers <joseph@codesourcery.com> + + * inclhack.def (AAB_svr4_replace_byteorder, + AAB_ultrix_ansi_compat, AAB_ultrix_limits, AAB_ultrix_memory, + libc1_G_va_list, libc1_ifdefd_memx, nested_motorola, + ptx_sys_mc_param_h, sco_regset, sco_static_func, sco_utime, + solaris_mutex_init_1, solaris_socket, solaris_unistd, + solaris_widec, svr4_krnl, ultrix_atexit_param, ultrix_atof_param, + ultrix_const3, ultrix_fix_fixproto, ultrix_ifdef, ultrix_locale, + ultrix_math_ifdef, ultrix_nested_ioctl, ultrix_nested_svc, + ultrix_stat, ultrix_static, ultrix_stdlib, ultrix_strings, + ultrix_strings2, ultrix_sys_time, ultrix_unistd, + unicosmk_restrict, uw7_byteorder_fix, windiss_math1, + windiss_math2, windiss_valist): Remove. + * fixincl.x: Regenerate. + * mkfixinc.sh: (arm-semi-aof, hppa1.1-*-osf*, hppa1.1-*-bsd*, + i370-*-openedition, i?86-*-moss*, i?86-*-uwin*, + powerpc-*-eabiaix*): Remove. + * tests/base/math.h: Update. + * tests/base/pthread.h: Update. + * tests/base/stdio.h: Update. + * tests/base/stdlib.h: Update. + * tests/base/string.h: Update. + * tests/base/strings.h: Update. + * tests/base/sys/file.h: Update. + * tests/base/sys/limits.h: Update. + * tests/base/sys/socket.h: Update. + * tests/base/sys/stat.h: Update. + * tests/base/sys/time.h: Update. + * tests/base/testing.h: Update. + * tests/base/unistd.h: Update. + * tests/base/_G_config.h: Remove. + * tests/base/arpa: Remove directory. + * tests/base/fs: Remove directory. + * tests/base/locale.h: Remove. + * tests/base/machine: Remove directory. + * tests/base/rpc/svc.h: Remove. + * tests/base/sys/ioctl.h: Remove. + * tests/base/sys/regset.h: Remove. + * tests/base/sys/times.h: Remove. + * tests/base/sys/utsname.h: Remove. + * tests/base/widec.h: Remove. + +2008-05-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * inclhack.def (solaris_math_4): Use GCC's __builtin_fpclassify. + * tests/base/iso/math_c99.h: Update. + * fixincl.x: Regenerate. + +2008-05-14 Joseph Myers <joseph@codesourcery.com> + + * inclhack.def (AAB_fd_zero_asm_posix_types_h): Bypass on + posix_types_64. + * fixincl.x: Regenerate. + +2008-04-25 Kai Tietz <kai.tietz@onvision.com> + + * fixincl.c (fix_with_system): Cast pointer difference to long. + * fixlib.c (make_raw_shell_str): Cast compare to avoid sign warning. + +2008-04-18 Paolo Bonzini <bonzini@gnu.org> + + PR bootstrap/35457 + * Makefile.in: Rewrite aclocal.m4 rule. + * aclocal.m4: Regenerate. + * configure: Regenerate. + +2008-03-07 Peter O'Gorman <pogma@thewrittenword.com> + + PR c++/20366 + * inclhack.def (AAB_aix_stdio): Hack stdio.h for -D_LARGE_FILES. + * fixincl.x: Regenerate. + * tests/base/stdio.h: Add test. + +2008-02-25 Ben Elliston <bje@au.ibm.com> + + PR other/32948 + * fixincl.c (fix_applies): Remove unused variable `name_len'. + +2008-02-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * inclhack.def (solaris_math_10): New. + * tests/base/iso/math_c99.h: Update. + + * fixincl.x: Regenerate. + +2008-02-04 Ismail Dönmez <ismail@pardus.org.tr> + + * inclhack.def: (bsd_stdio_attrs_conflict, freebsd_gcc3_breakage, + freebsd_gcc4_breakage, hppa_hpux_fp_macros, hpux11_abs, + netbsd_c99_inline_1, netbsd_c99_inline_2, netbsd_extra_semicolon): Add + quotes around mach entries. + * fixincl.x: Regenerate with latest autogen (5.9.4), updating license + to GPLv3. + +2008-02-04 Hans-Peter Nilsson <hp@axis.com> + + PR other/31405 + * inclhack.def: (glibc_c99_inline_1a): Re-add last change. + (glibc_c99_inline_3) <bypass>: Change from __STDC_VERSION__ to + __extern_inline|__GNU_STDC_INLINE__. + (glibc_c99_inline_4) <files>: Add wchar.h and */wchar.h. + <bypass>: Change from __STDC_VERSION__ to + __extern_inline|__GNU_STDC_INLINE__. + <first c_fix_arg>: Change from #ifdef-wrapping the extern part to + appending attribute-gnu_inline. + <second c_fix_arg>: Remove. + <test_text>: Remove __extern_inline line. + * tests/base/features.h: Re-add. + * tests/base/sys/sysmacros.h: Adjust. + * fixincl.x: Regenerate. + +2008-01-06 Hans-Peter Nilsson <hp@axis.com> + + Revert last change. + +2007-12-18 Hans-Peter Nilsson <hp@axis.com> + + * inclhack.def: (glibc_c99_inline_1a, glibc_c99_inline_5): New. + * fixincl.x: Regenerate. + * tests/base/wchar.h: Update. + * tests/base/features.h: New. + +2007-10-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR target/33700 + * inclhack.def (hpux11_pthread_const): New. + * fixincl.x: Regenerate. + * tests/base/sys/pthread.h: Update. + +2007-10-12 Kai Tietz <kai.tietz@onevision.com> + + * configure.ac: x86_64 mingw target uses twoprocess. + * mkfixinc.sh: Add x86_64 mingw target. + * configure: Regenerate. + +2007-10-09 Geoffrey Keating <geoffk@apple.com> + + * inclhack.def (darwin_externc): New. + * fixincl.x: Regenerate. + * tests/base/mach-o/swap.h: New. + +2007-08-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * inclhack.def (solaris_math_5, solaris_math_6, solaris_math_7): + Delete fixes. + * tests/base/iso/math_c99.h: Delete associated test baselines. + * fixincl.x: Regenerate. + +2007-07-24 Krister Walfridsson <cato@df.lth.se> + + PR target/30058 + * inclhack.def (netbsd_c99_inline_2): New. + * fixincl.x: Regenerate. + * tests/base/signal.h: Update. + +2007-07-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + PR target/32641 + + * inclhack.def (solaris_math_4, solaris_math_5, solaris_math_6, + solaris_math_7): Constify and make FP exception-safe. + * tests/base/iso/math_c99.h: Update. + + * fixincl.x: Regenerate. + +2007-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + PR libgcj/28190 + * inclhack.def (irix_stdint_c99): New fix. + * fixincl.x: Regenerate. + * tests/base/stdint.h: New test. + +2007-06-06 Steve Ellcey <sje@cup.hp.com> + + PR testsuite/31828 + * inclhack.def (hppa_hpux_fp_macros): New. + * fixincl.x: Regenerate. + * tests/base/math.h: Update. + +2007-03-26 Jakub Jelinek <jakub@redhat.com> + + * inclhack.def (glibc_c99_inline_1): Define __USE_EXTERN_INLINES + if __extern_inline or __GNUC_GNU_INLINE__ is defined rather than + __STDC_VERSION__ < 199901L. + (glibc_c99_inline_2): Replace #if __STDC_VERSION__ < 199901L + with #ifdef __GNUC_GNU_INLINE__. + (glibc_c99_inline_3): Add select. Replace __STDC_VERSION__ >= 199901L + with defined(__GNUC_STDC_INLINE__). + (glibc_c99_inline_4): Change select, add second c_fix_arg. + Replace #if __STDC_VERSION__ < 199901L with + #ifdef __GNUC_GNU_INLINE__. + * fixincl.x: Regenerated. + * tests/base/bits/string2.h: Update. + * tests/base/sys/sysmacros.h: Update. + * tests/base/sys/stat.h: Update. + +2007-03-18 Krister Walfridsson <cato@df.lth.se> + + PR target/30058 + * inclhack.def (netbsd_c99_inline_1): New. + * fixincl.x: Regenerate. + * tests/base/signal.h: New. + +2007-03-12 Brooks Moses <brooks.moses@codesourcery.com> + + * Makefile.in: Add dummy "install-info" target. + +2007-03-06 Joseph Myers <joseph@codesourcery.com> + + * mkheaders.in: Fix headers for each multilib required. + +2007-03-01 Brooks Moses <brooks.moses@codesourcery.com> + + * Makefile.in: Add dummy install-pdf target. + +2007-02-27 Joseph Myers <joseph@codesourcery.com> + + * mkheaders.in (incdir): Use include-fixed not include. + +2007-02-15 Brooks Moses <brooks.moses@codesourcery.com> + + * Makefile.in: Added "pdf" target to .PHONY. + +2007-02-05 Richard Guenther <rguenther@suse.de> + + * inclhack.def (glibc_c99_inline_4): Adjust selector to cope + with older glibc. Adjust version number for C99. + * fixincl.x: Regenerated. + +2007-02-04 Mike Stump <mrs@apple.com> + + * mkheaders.in: Allow optional isysroot parameter. + +2007-02-03 Bruce Korb <bkorb@gnu.org> + + * inclhack.def (glibc_c99_inline_4): replace "extern" only if + surrounded by space characters. + +2007-01-25 Daniel Franke <franke.daniel@gmail.com> + + PR target/30272 + * inclhack.def(broken_cabs): Also remove definition of cabsl. + * fixincl.x: Regenerate. + * tests/base/math.h: Update. + +2007-01-05 Bruce Korb <bkorb@gnu.org>, + Daniel Franke <franke.daniel@gmail.com> + + PR target/30008 + * fixincl.tpl (List): separate file name patterns with a NUL byte instead + of a vertical bar ("|"). + * fixincl.c (fix_applies, machine_matches): Use fnmatch for name + matching. Set SKIP_TEST flag if we are not to run a test. + * fixincl.x: Regenerate. + * inclhack.def (glibc_c99_inline_[1234], broken_cabs, broken_nan, + kandr_concat, sco_math): Replace lists of specfic file names by search + patterns. + +2006-12-12 Olivier Hainque <hainque@adacore.com> + + * fixincludes/mkfixinc.sh: Add "*-*-vxworks*" to the list of + targets for which a no-op fixer is appropriate. + +2006-11-07 Richard Guenther <rguenther@suse.de> + + * inclhack.def (glibc_c99_inline_2): Adjust for glibc 2.3 + systems. + * fixincl.x: Regenerate. + +2006-11-02 Geoffrey Keating <geoffk@apple.com> + + * inclhack.def (glibc_c99_inline_1): New. + * inclhack.def (glibc_c99_inline_2): New. + * inclhack.def (glibc_c99_inline_3): New. + * inclhack.def (glibc_c99_inline_4): New. + * fixincl.x: Regenerate. + * tests/base/bits/string2.h: New. + * tests/base/sys/sysmacros.h: New. + * tests/base/sys/stat.h: Update. + +2006-11-01 Steve Ellcey <sje@cup.hp.com> + + * tests/base/sys/socket.h: Update. + +2006-10-31 Steve Ellcey <sje@cup.hp.com> + + * inclhack.def (hpux11_extern_sendfile): New. + (hpux11_extern_sendpath): New. + * fixincl.x: Regenerate. + +2006-10-29 Joseph Myers <joseph@codesourcery.com> + + * inclhack.def (AAB_fd_zero_asm_posix_types_h): Bypass on x86_64. + * fixincl.x: Regenerate. + +2006-10-10 Brooks Moses <bmoses@stanford.edu> + + * Makefile.in: Added empty "pdf" target. + +2006-10-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR target/29300 + * inclhack.def (hpux_pthread_initializers): New hack. + * tests/base/sys/pthread.h: New file. + + * fixincl.x: Regenerate. + +2006-10-03 Uros Bizjak <uros@kss-loka.si> + + * inclhack.def (glibc_mutex_init): Also fix + PTHREAD_MUTEX_(RECURSIVE|ERRORCHECK|ADAPTIVE)_NP and + PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP initializers. + * tests/base/pthread.h: Update. + + * fixincl.x: Regenerate. + +2006-10-01 Uros Bizjak <uros@kss-loka.si> + + * inclhack.def (glibc_mutex_init): New fix. + * tests/base/pthread.h: Update. + + * fixincl.x: Regenerate. + +2006-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * inclhack.def (solaris_mutex_init_2): Update for Solaris9. + Prevent it from running on solaris10 or later. + (solaris_once_init_2): Fix comment. + * tests/base/pthread.h: Update. + + * fixincl.x: Regenerate. + +2006-09-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * inclhack.def (solaris_once_init_2): New fix. + * tests/base/pthread.h: Update. + + * fixincl.x: Regenerate. + +2006-09-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * inclhack.def (solaris_mutex_init_2): Remove test for + PTHREAD_RWLOCK_INITIALIZER. + (solaris_rwlock_init_1): New. + * tests/base/pthread.h: Update. + + * inclhack.def (solaris_once_init_1): New. + * tests/base/pthread.h: Adjust for new fix. + + * fixincl.x: Regenerate. + +2006-07-17 Roger Sayle <roger@eyesopen.com> + + * tests/base/errno.h: New file. + * tests/base/architecture/ppc/math.h: Likewise. + * tests/base/ia64/sys/getppdp.h: Likewise. + +2006-07-10 Laurynas Biveinis <laurynas.biveinis@gmail.com> + + PR bootstrap/20437 + * Makefile.in (configure, config.h.in): Change into $(srcdir) + before autoconf or autoheader call. + +2006-06-23 Steve Ellcey <sje@cup.hp.com> + + PR target/28084 + * inclhack.def (hpux_extern_errno): New. + * fixincl.x: Regenerate. + +2006-05-23 Carlos O'Donell <carlos@codesourcery.com> + + * Makefile.in: Add dvi info html and install-html to .PHONY + Add install-html target. + +2006-05-16 Mike Stump <mrs@apple.com> + + * configure.ac: Add -Wno-overlength-strings. + * configure: Regenerate. + +2006-05-14 Bernhard Fischer <aldot@gcc.gnu.org> + + * README: Fix typo. + +2006-02-18 Steve Ellcey <sje@cup.hp.com> + + PR target/26189 + * inclhack.def (hpux_spu_info): New. + * fixincl.x: Regenerate + +2006-01-31 Marcin Dalecki <martin@dalecki.de> + + * configure.ac: Check for asprintf, basename, vasprintf. + * config.h.in: Regenerate. + * configure: Regenerate. + +2006-01-19 Andrew Pinski <pinskia@physics.uc.edu> + + PR target/15642 + * inclhack.def (AAB_darwin7_9_long_double_funcs [replace]): Define + __APPLE_CC_ as 1345. + (broken_nan): New. + * fixincl.x: Regenerate. + +2005-11-24 Bruce Korb <bkorb@gnu.org> + + * fixincl.c (write_replacement): "here strings" in AutoGen + often/generally don't have a terminating newline. Check the + last byte for '\n'. + +2005-11-13 Andreas Jaeger <aj@suse.de> + + * check.tpl: Handle CVS additionally. + +2005-11-05 Andreas Jaeger <aj@suse.de> + + * check.tpl: Adopt for move to subversion. + +2005-09-15 Joseph S. Myers <joseph@codesourcery.com> + + PR c++/23139 + * inclhack.def (huge_val_hex, huge_valf_hex, huge_vall_hex): New + fixes. + * fixincl.x: Regenerate. + * tests/base/bits/huge_val.h: New file. + +2005-08-14 Kelley Cook <kcook@gcc.gnu.org> + + * All files: Update with new FSF address. + +2005-07-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (WARN_CFLAGS): New. + (.c.o): Add $(WARN_CFLAGS). + * aclocal.m4: Include ../config/warnings.m4. + * configure.ac: Invoke ACX_PROG_CC_WARNING_OPTS, + ACX_PROG_CC_WARNING_ALMOST_PEDANTIC and + ACX_PROG_CC_WARNINGS_ARE_ERRORS. + * fixopts.c (initialize_opts): Fix old-style definintion. + + * configure: Regenerate. + +2005-06-24 Geoffrey Keating <geoffk@geoffk.org> + + * inclhack.def (AAB_darwin7_9_long_double_funcs): New. + (AAB_darwin7_9_long_double_funcs_2): New. + * fixincl.x: Regenerate. + +2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + PR libfortran/15266 + * inclhack.def (broken_cabs): Mention IRIX 5/6 problem. + Use double quotes in select so \t matches tabs. + Add IRIX testcase. + * fixincl.x: Regenerate. + * tests/base/math.h [BROKEN_CABS_CHECK]: Adapt for new testcase. + +2005-05-22 Danny Smith <dannysmith@users.souceforge.net> + + PR target/21683 + * fixincl.c: Don't include <sys/wait.h> if SEPARATE_FIX_PROC. + +2005-05-19 Eric Botcazou <ebotcazou@libertysurf.fr> + Joseph S. Myers <joseph@codesourcery.com> + + PR target/19933 + PR target/21315 + * inclhack.def: New fixes solaris_math_[1-9]. + * fixincl.x: Regenerate. + * tests/base/iso/math_c99.h: New. + +2005-05-19 Kelley Cook <kcook@gcc.gnu.org> + + * aclocal.m4: Remove superfluous reference to accross.m4. + +2005-05-15 Gabriel Dos Reis <gdr@integrable-solutions.net> + + * fixlib.c (load_file_data): Use XRESIZVEC in lieu of xrealloc. + * server.c (load_data): Likewise. + (run_shell): Use XCNEW (char) in lieu of xcalloc (1, 1). + * fixincl.c: #include <sys/wait.h> + (run_compiles): Use XCNEWVEC instead of xcalloc. + (fix_with_system, start_fixer): Use XNEWVEC instead of xmalloc. + * fixfixes.c (FIX_PROC_HEAD, main): Likewise. + +2005-05-10 Joseph S. Myers <joseph@codesourcery.com> + + * inclhack.def (stdio_stdarg_h, stdio_va_list): Bypass on + *-*-solaris2.1[0-9]*, not just *-*-solaris2.1[0-9]. + * fixincl.x: Regenerate. + +2005-05-06 Bruce Korb <bkorb@gnu.org> + Joseph S. Myers <joseph@codesourcery.com> + + * fixinc/inclhack.def: Correct backslashes + * fixinc/fixincl.x: regen + +2005-04-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * system.h (fopen, fdopen, freopen): Define these to the unlocked + libiberty functions. + +2005-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * configure.ac (fixincludes_UNLOCKED_FUNCS): New. + (AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for fixincludes_UNLOCKED_FUNCS. + * system.h (putchar, getc, getchar, clearerr, feof, fileno, + fflush, fgetc, fgets, ferror, fread): Redefine to the associated + _unlocked function. + (fwrite_unlocked): Fix prototype. + + * configure, config.h.in: Regenerate. + +2005-03-21 Zack Weinberg <zack@codesourcery.com> + + * Makefile.in: Set gcc_version directly, not via substitution. + (libsubdir): Use $(gcc_version), not $(version). + (mkheaders.almost): New rule. + (mkheaders): Generate from mkheaders.almost. + (clean): Also delete mkheaders.almost. + * aclocal.m4: Do not include ../config/gcc-version.m4. + * configure.ac: Do not invoke TL_AC_GCC_VERSION. Generate + mkheaders.almost from mkheaders.in. + * configure: Regenerate. + +2005-03-21 Richard Guenther <rguenth@gcc.gnu.org> + + PR target/20166 + * inclhack.def: Add fix for array of incomplete structures + in function prototype in pthread.h. + * fixincl.x: Regenerate. + * tests/base/pthread.h: Adjust. + +2005-03-15 Joseph S. Myers <joseph@codesourcery.com> + + * inclhack.def (hpux_htonl): New fix. + * tests/base/netinet/in.h: New test. + * fixincl.x: Regenerate. + +2005-02-23 James E Wilson <wilson@specifixinc.com> + + * Makefile.in (full-stamp, test-stamp, $(AF)): Add $(CFLAGS) to link. + +2004-12-13 Andrew Pinski <pinskia@physics.uc.edu> + + PR 18458 + * Makefile.in (install): Add @EXEEXT@ to the end of the program name, + fixincl. + +2004-12-02 Richard Sandiford <rsandifo@redhat.com> + + * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version. + * aclocal.m4: Include ../config/gcc-version.m4. + * configure: Regenerate. + +2004-11-26 Mark Mitchell <mark@codesourcery.com> + + * inclhack.def (gnu_types): Do not use on Solaris 2.1x. + (stdio_va_list): Likewise. + (stdio_stdarg.h): Likewise. + (solaris_stdio_tag): Add bypass. + * fixincl.x: Regenerated. + +2004-11-23 Geoffrey Keating <geoffk@apple.com> + + * mkfixinc.sh: Check error code from 'cat'. Don't try running + built fixincl program. + * mkheaders.in: Use @SHELL@ rather than ${SHELL} to avoid picking + up csh from user. + +2004-11-20 Roger Sayle <roger@eyesopen.com> + + * inclhack.def (alpha_pthread_init): Fix technical problems with + the last check-in caused by CVS variable substitution. + * fixincl.x: Likewise. + * tests/base/pthread.h: Likewise. + +2004-11-20 Roger Sayle <roger@eyesopen.com> + Bruce Korb <bkorb@gnu.org> + + * inclhack.def (alpha_pthread_init): New fix. + * fixincl.x: Regenerate. + * tests/base/pthread.h: Update for new test. + +2004-11-15 Bruce Korb <bkorb@gnu.org> + + * fixincl.c(fix_with_system): correct misuse of variables and + incorrect application of "sizeof()". + +2004-11-13 Joseph S. Myers <joseph@codesourcery.com> + + * inclhack.def (hpux_maxint, limits_ifndefs, math_huge_val_ifndef, + svr4__p, undefine_null): Remove. + * fixincl.x: Regenerate. + * tests/base/AvailabilityMacros.h, tests/base/com_err.h: New. + * tests/base/sys/param.h: Remove. + * tests/base/curses.h, tests/base/math.h, tests/base/testing.h, + tests/base/sys/limits.h: Update. + +2004-11-12 Mike Stump <mrs@apple.com> + + * Makefile.in (html): Add html generation support. + +2004-11-12 Joseph S. Myers <joseph@codesourcery.com> + + * inclhack.def (sco_math): Bypass on __GNUG__. + (sysz_stdlib_for_sun): Bypass on _CLASSIC_ANSI_TYPES. + * fixincl.x: Regenerate. + +2004-11-09 Joseph S. Myers <joseph@codesourcery.com> + + * inclhack.def (hpux8_bogus_inlines): Bypass on __GNUG__. + (int_abort_free_and_exit, sun_malloc, sysv68_string): Bypass on + _CLASSIC_ANSI_TYPES. + (sun_auth_proto): Bypass on __cplusplus. + * fixincl.x: Regenerate. + +2004-11-05 Geoffrey Keating <geoffk@apple.com> + + * Makefile.in (mostlyclean): Add fixinc.sh. + (clean): Add mkheaders. + (distclean): New. + (dvi): New. + (info): New. + (installcheck): New. + +2004-11-05 Paolo Bonzini <bonzini@gnu.org> + + * Makefile.in (mostlyclean, distclean): New targets. + +2004-11-04 Geoffrey Keating <geoffk@apple.com> + + * configure.ac: Add code to determine noncanonical_target, + local_prefix, gcc_version; process mkheaders.in to make mkheaders. + * configure: Regenerate. + * fixinc.in: Move here from gcc/; fix many cross-hosting bugs. + * mkfixinc.sh: Move here from gcc/; update for changes to fixinc.in. + * mkheaders.in: Move here from gcc/; remove some unnecessary macros; + update for changes to fixinc.in. + * Makefile.in: Add many new macros. + (install): New target. + (mkheaders): New target. + (fixinc.sh): New target. + (all): Add mkheaders and fixinc.sh. + * README-fixinc: Move here from gcc/. + +2004-11-01 Mike Stump <mrs@apple.com> + + * inclhack.def (stdio_va_list): Break out clients from here... + (stdio_va_list_clients): ...to here. Also, don't fix if stdarg.h is + included or ifdef va_start. + * fixincl.x: Regenerate. + +2004-10-28 Mike Stump <mrs@apple.com> + + * inclhack.def (void_null): Avoid changing NULL on C++ friendly + systems. + * fixincl.x: Regenerate. + +2004-10-27 Geoffrey Keating <geoffk@apple.com> + + * inclhack.def (darwin_gcc4_breakage): New. + * fixincl.x: Regenerate. + +2004-10-27 Aaron W. LaFramboise <aaronavay62@aaronwl.com> + + PR bootstrap/17832 + + * fixfixes.c (main): Check for _PC_NAME_MAX. + +2004-10-27 Paolo Bonzini <bonzini@gnu.org> + + PR other/17991 + + * configure.ac: Fix typo. + * configure: Regenerate. + * fixincl.c (fix_with_system): tSCC is not a pointer. Fix. + +2004-10-20 Aaron W. LaFramboise <aaronavay62@aaronwl.com> + + PR bootstrap/17832 + + * fixincl.c (SIGCHLD): Remove definition. + (initialize): Remove SIGIOT and SIGPIPE checks. + (create_file): Fix mkdir() for Win32. + (internal_fix): Use dup2() instead of fcntl(). + + * fixlib.h (SIGQUIT): Define if undefined. + (SIGIOT): Same. + (SIGPIPE): Same. + (SIGALRM): Same. + (SIGKILL): Same. + + * procopen.c (chain_open): Use dup2() instead of fcntl(). + +2004-08-14 Paolo Bonzini <bonzini@gnu.org> + + PR other/17991 + + * Makefile.in (ALLOBJ, TESTOBJ, FIXOBJ): Add fixopts.o. + Update copyright year. + * fixfixes.c (main): Call initialize_opts from fixopts.c. + * fixincl.c (initialize): Call initialize_opts from fixopts.c, + do not include code for parsing options (environment vars). + (fix_with_system): Use a search path for applyfix, so that you + can run the test suite with two-process fixincludes. + * fixopts.c: New file. + * configure.ac: Add --enable-twoprocess. Export ac_exeext + to config.h. Default to --enable-twoprocess for MinGW32. + * config.h.in: Regenerate. + * configure: Regenerate. + +2004-10-04 Loren J. Rittle <ljrittle@acm.org> + + * tests/base/sys/cdefs.h: Update from test area. + +2004-09-17 Roger Sayle <roger@eyesopen.com> + + * inclhack.def (linux_ia64_ucontext): New fix. + * fixincl.x: Regenerate. + * tests/base/sys/ucontext.h: New file. + +2004-09-15 Roger Sayle <roger@eyesopen.com> + + * tests/base/sys/time.h: Correct mismatch in 2004-09-10 check-in. + * tests/base/stdlib.h: Likewise. + +2004-09-13 Loren J. Rittle <ljrittle@acm.org> + + * inclhack.def (freebsd_gcc4_breakage): Add. + * fixincl.x: Regenerate. + * tests/base/sys/cdefs.h: Update for new test. + +2004-09-10 Adam Nemet <anemet@lnxw.com> + + * inclhack.def (lynx_void_int): Remove. + (lynxos_fcntl_proto): Remove. + (lynxos_no_warning_in_sys_time_h): New fix. + (lynxos_missing_putenv): New fix. + * fixincl.x: Regenerate. + * tests/base/fcntl.h: Remove. + * tests/base/sys/time.h: Update from test area. + * tests/base/curses.h: Likewise. + * tests/base/stdlib.h: Likewise. + +2004-09-03 Jan Beulich <jbeulich@novell.com> + + * inclhack.def: Suppress exception_structure and math_exception + for NetWare headers. + * fixincl.x: Regenerate. + +2004-08-31 Paolo Bonzini <bonzini@gnu.org> + + * .cvsignore: New. + * Makefile.in: From gcc/fixinc/Makefile.in, making it fully + autoconfiscated. + * configure.ac: New. + * config.h.in: Generate. + * configure: Generate. + * aclocal.m4: New. + * fixlib.h: Remove inclusions of gcc files. + * system.h: New. + + Other files copied from gcc/fixinc. diff --git a/gcc-4.4.3/fixincludes/Makefile.in b/gcc-4.4.3/fixincludes/Makefile.in new file mode 100644 index 000000000..1f89cf9ed --- /dev/null +++ b/gcc-4.4.3/fixincludes/Makefile.in @@ -0,0 +1,195 @@ +# Makefile for fixincludes. +# +# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2009 +# Free Software Foundation, Inc. + +#This file is part of fixincludes. + +#fixincludes is free software; you can redistribute it and/or modify +#it under the terms of the GNU General Public License as published by +#the Free Software Foundation; either version 3, or (at your option) +#any later version. + +#fixincludes is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU General Public License for more details. + +#You should have received a copy of the GNU General Public License +#along with fixincludes; see the file COPYING3. If not see +#<http://www.gnu.org/licenses/>. + +SHELL=@SHELL@ + +# Some versions of `touch' (such as the version on Solaris 2.8) +# do not correctly set the timestamp due to buggy versions of `utime' +# in the kernel. So, we use `echo' instead. +STAMP = echo timestamp > + +CC = @CC@ +CFLAGS = @CFLAGS@ +WARN_CFLAGS = @WARN_CFLAGS@ @WARN_PEDANTIC@ @WERROR@ +LDFLAGS = @LDFLAGS@ +INCLUDES = -I. -I$(srcdir) -I../include -I$(srcdir)/../include +FIXINC_CFLAGS = -DHAVE_CONFIG_H $(INCLUDES) + +# Directory where sources are, from where we are. +srcdir = @srcdir@ +VPATH = $(srcdir) + +# Directory in which to put the directories used by the compiler. +libdir = @libdir@ +# Directory in which GCC puts its executables. +libexecdir = @libexecdir@ + +# End of variables for you to override. + +# The target that we're configured for. +target = @target@ +target_noncanonical:=@target_noncanonical@ + +# The version of GCC in this tree +gcc_version := $(shell cat $(srcdir)/../gcc/BASE-VER) + +# Directory in which the compiler finds libraries etc. +libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version) +# Directory in which the compiler finds executables +libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) +# Where our executable files go +itoolsdir = $(libexecsubdir)/install-tools +# Where our data files go +itoolsdatadir = $(libsubdir)/install-tools + +# Locate mkinstalldirs. +mkinstalldirs=$(SHELL) $(srcdir)/../mkinstalldirs + +default : all + +# Now figure out from those variables how to compile and link. + +.c.o: + $(CC) -c $(CFLAGS) $(WARN_CFLAGS) $(CPPFLAGS) $(FIXINC_CFLAGS) $< + +# The only suffixes we want for implicit rules are .c and .o. +.SUFFIXES: +.SUFFIXES: .c .o + +# + +## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # +## +## Makefile for constructing the "best" include fixer we can +## +## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + +LIBIBERTY=../libiberty/libiberty.a + +ALLOBJ = fixincl.o fixtests.o fixfixes.o server.o procopen.o \ + fixlib.o fixopts.o + +TESTOBJ = fixincl.o fixlib.o fixtests.o fixopts.o +FIXOBJ = fixfixes.o fixlib.o fixopts.o + +HDR = server.h fixlib.h +FI = fixincl@EXEEXT@ +AF = applyfix@EXEEXT@ + +all : @TARGET@ fixinc.sh mkheaders +gen : $(srcdir)/fixincl.x + + +oneprocess : full-stamp +twoprocess : test-stamp $(AF) + +full-stamp : $(ALLOBJ) $(LIBIBERTY) + $(CC) $(CFLAGS) $(LDFLAGS) -o $(FI) $(ALLOBJ) $(LIBIBERTY) + $(STAMP) $@ + +test-stamp : $(TESTOBJ) $(LIBIBERTY) + $(CC) $(CFLAGS) $(LDFLAGS) -o $(FI) $(TESTOBJ) $(LIBIBERTY) + $(STAMP) $@ + +$(AF): $(FIXOBJ) $(LIBIBERTY) + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(FIXOBJ) $(LIBIBERTY) + +$(ALLOBJ) : $(HDR) +fixincl.o : fixincl.c $(srcdir)/fixincl.x +fixtests.o : fixtests.c +fixfixes.o : fixfixes.c $(srcdir)/fixincl.x +server.o : server.c +procopen.o : procopen.c +fixlib.o : fixlib.c + +fixinc.sh : fixinc.in mkfixinc.sh Makefile + srcdir="$(srcdir)" $(SHELL) $(srcdir)/mkfixinc.sh $(target) + +$(srcdir)/fixincl.x: @MAINT@ fixincl.tpl inclhack.def + cd $(srcdir) ; $(SHELL) ./genfixes + +mostlyclean : + rm -f *.o *-stamp $(AF) $(FI) *~ fixinc.sh + +clean: mostlyclean + rm -f mkheaders mkheaders.almost + +distclean: clean + rm -f Makefile config.h config.log config.status stamp-h + +maintainer-clean: distclean + rm -f $(srcdir)/fixincl.x + +distclean : clean + +Makefile: $(srcdir)/Makefile.in config.status + $(SHELL) ./config.status Makefile + +mkheaders.almost: $(srcdir)/mkheaders.in config.status + CONFIG_FILES=mkheaders.almost:mkheaders.in \ + CONFIG_HEADERS= ./config.status + +mkheaders: mkheaders.almost $(srcdir)/../gcc/BASE-VER + sed -e 's/@gcc_version@/$(gcc_version)/' < $< > $@T + mv -f $@T $@ + +config.h: stamp-h +stamp-h: $(srcdir)/config.h.in config.status + $(SHELL) ./config.status config.h + +config.status: $(srcdir)/configure + $(SHELL) ./config.status --recheck + +$(srcdir)/configure: @MAINT@ $(srcdir)/configure.ac $(srcdir)/aclocal.m4 + cd $(srcdir) && autoconf + +$(srcdir)/config.h.in: @MAINT@ $(srcdir)/configure.ac + cd $(srcdir) && autoheader + +$(srcdir)/aclocal.m4: @MAINT@ $(srcdir)/configure.ac + cd $(srcdir) && aclocal -I ../gcc -I .. -I ../config + +check : all + autogen -T $(srcdir)/check.tpl $(srcdir)/inclhack.def + $(SHELL) ./check.sh $(srcdir)/tests/base + @rm -f ./check.sh + +install : all + -rm -rf $(DESTDIR)$(itoolsdir) + $(mkinstalldirs) $(DESTDIR)$(itoolsdir) + $(mkinstalldirs) $(DESTDIR)$(itoolsdatadir)/include + $(INSTALL_DATA) $(srcdir)/README-fixinc \ + $(DESTDIR)$(itoolsdatadir)/include/README + $(INSTALL_SCRIPT) fixinc.sh $(DESTDIR)$(itoolsdir)/fixinc.sh + $(INSTALL_PROGRAM) fixincl@EXEEXT@ \ + $(DESTDIR)$(itoolsdir)/fixincl@EXEEXT@ + $(INSTALL_SCRIPT) mkheaders $(DESTDIR)$(itoolsdir)/mkheaders + +.PHONY: dvi pdf info html install-pdf install-info install-html + +dvi : +pdf : +info : +html : +install-pdf : +install-info : +install-html : +installcheck : diff --git a/gcc-4.4.3/fixincludes/README b/gcc-4.4.3/fixincludes/README new file mode 100644 index 000000000..50f408f9e --- /dev/null +++ b/gcc-4.4.3/fixincludes/README @@ -0,0 +1,325 @@ + +FIXINCLUDES OPERATION +===================== + +See also: http://autogen.SourceForge.net/fixinc.html + +The set of fixes required was distilled down to just the data required +to specify what needed to happen for each fix. Those data were edited +into a file named gcc/fixinc/inclhack.def. A program called AutoGen +(http://autogen.SourceForge.net) uses these definitions to instantiate +several different templates that then produces code for a fixinclude +program (fixincl.x) and a shell script to test its functioning. On +certain platforms (viz. those that do not have functional bidirectional +pipes), the fixincl program is split into two. This should only concern +you on DOS and BeOS. + +Regards, + Bruce <bkorb@gnu.org> + + + +GCC MAINTAINER INFORMATION +========================== + +If you are having some problem with a system header that is either +broken by the manufacturer, or is broken by the fixinclude process, +then you will need to alter or add information to the include fix +definitions file, ``inclhack.def''. Please also send relevant +information to gcc-bugs@gcc.gnu.org, gcc-patches@gcc.gnu.org and, +please, to me: bkorb@gnu.org. + +To make your fix, you will need to do several things: + +1. Obtain access to the AutoGen program on some platform. It does + not have to be your build platform, but it is more convenient. + +2. Edit "inclhack.def" to reflect the changes you need to make. + See below for information on how to make those changes. + +3. Run the "genfixes" shell script to produce a new copy of + the "fixincl.x" file. + +4. Rebuild the compiler and check the header causing the issue. + Make sure it is now properly handled. Add tests to the + "test_text" entry(ies) that validate your fix. This will + help ensure that future fixes won't negate your work. + +5. Go into the fixinc build directory and type, "make check". + You are guaranteed to have issues printed out as a result. + Look at the diffs produced. Make sure you have not clobbered + the proper functioning of a different fix. Make sure your + fix is properly tested and it does what it is supposed to do. + +6. Now that you have the right things happening, syncronize the + $(srcdir)/tests/base directory with the $(builddir)/tests/res + directory. The output of "make check" will be some diffs that + should give you some hints about what to do. + +7. Rerun "make check" and verify that there are no issues left. + + +MAKING CHANGES TO INCLHACK.DEF +============================== + +0. If you are not the fixincludes maintainer, please send that + person email about any changes you may want to make. Thanks! + +1. Every fix must have a "hackname" that is compatible with C syntax + for variable names and is unique without regard to alphabetic case. + Please keep them alphabetical by this name. :-) + +2. If the problem is known to exist only in certain files, then + identify the files with "files = " entries. If you use fnmatch(3C) + wild card characters in a "files" entry, be certain that the first + "files" entry has no such character. Otherwise, the "make check" + machinery will attempt to create files with those characters in the + name. That is inconvenient. + +3. It is relatively expensive to fire off a process to fix a source + file, therefore write apply tests to avoid unnecessary fix + processes. The preferred apply tests are "select", "bypass", "mach" + and "c-test" because they are performed internally: + + * select - Run a regex on the contents of the file being considered. + All such regex-es must match. + + * bypass - Run a regex on the contents of the file being considered. + No such regex may match. + + * c-test - call a function in fixtests.c. See that file. + + * mach - Match the output of config.conf against a series of fnmatch + patterns. It must match at least one of the patterns, unless + "not-machine" has also been specified. In that case, the + config.conf output must not match any of the patterns. + + The next test is relatively slow because it must be handled in a + separate shell process. Some platforms do not support server shells, + so the whole process is even slower and more cumbersome there. + + * test - These should be arguments to the program, "/bin/test". + You may perform multiple commands, if you enclose them + in backquotes and echo out valid test arguments. For + example, you might echo out '0 -eq 1' if you want a false + result, or '0 -eq 0' for a true result. + + These tests are required to: + + 1. Be positive for all header files that require the fix. + + It is desireable to: + + 2. Be negative as often as possible whenever the fix is not + required, avoiding the process overhead. + + It is nice if: + + 3. The expression is as simple as possible to both + process and understand by people. :-) + + Please take advantage of the fact AutoGen will glue + together string fragments. It helps. Also take note + that double quote strings and single quote strings have + different formation rules. Double quote strings are a + tiny superset of ANSI-C string syntax. Single quote + strings follow shell single quote string formation + rules, except that the backslash is processed before + '\\', '\'' and '#' characters (using C character syntax). + + Each test must pass or the fix is not applied. For example, + all "select" expressions must be found and not one "bypass" + selection may be found. + + Examples of test specifications: + + hackname = broken_assert_stdio; + files = assert.h; + select = stderr; + bypass = "include.*stdio.h"; + + The ``broken_assert_stdio'' fix will be applied only to a file + named "assert.h" if it contains the string "stderr" _and_ it + does _not_ contain the expression "include.*stdio.h". + + hackname = no_double_slash; + c_test = "double_slash"; + + The ``no_double_slash'' fix will be applied if the + ``double_slash_test()'' function says to. See ``fixtests.c'' + for documentation on how to include new functions into that + module. + +4. There are currently four methods of fixing a file: + + 1. a series of sed expressions. Each will be an individual + "-e" argument to a single invocation of sed. + + 2. a shell script. These scripts are _required_ to read all + of stdin in order to avoid pipe stalls. They may choose to + discard the input. + + 3. Replacement text. If the replacement is empty, then no + fix is applied. Otherwise, the replacement text is + written to the output file and no further fixes are + applied. If you really want a no-op file, replace the + file with a comment. + + Replacement text "fixes" must be first in this file!! + + 4. A C language subroutine method for both tests and fixes. + See ``fixtests.c'' for instructions on writing C-language + applicability tests and ``fixfixes.c'' for C-language fixing. + These files also contain tables that describe the currently + implemented fixes and tests. + + If at all possible, you should try to use one of the C language + fixes as it is far more efficient. There are currently five + such fixes, three of which are very special purpose: + + i) char_macro_def - This function repairs the definition of an + ioctl macro that presumes CPP macro substitution within + pairs of single quote characters. + + ii) char_macro_use - This function repairs the usage of ioctl + macros that no longer can wrap an argument with single quotes. + + iii) machine_name - This function will look at "#if", "#ifdef", + "#ifndef" and "#elif" directive lines and replace the first + occurrence of a non-reserved name that is traditionally + pre-defined by the native compiler. + + The next two are for general use: + + iv) wrap - wraps the entire file with "#ifndef", "#define" and + "#endif" self-exclusionary text. It also, optionally, inserts + a prolog after the "#define" and an epilog just before the + "#endif". You can use this for a fix as follows: + + c_fix = wrap; + c_fix_arg = "/* prolog text */"; + c_fix_arg = "/* epilog text */"; + + If you want an epilog without a prolog, set the first "c_fix_arg" + to the empty string. Both or the second "c_fix_arg"s may be + omitted and the file will still be wrapped. + + THERE IS A SPECIAL EXCEPTION TO THIS, HOWEVER: + + If the regular expression '#if.*__need' is found, then it is + assumed that the file needs to be read and interpreted more + than once. However, the prolog and epilog text (if any) will + be inserted. + + v) format - Replaces text selected with a regular expression with + a specialized formating string. The formatting works as follows: + The format text is copied to the output until a '%' character + is found. If the character after the '%' is another '%', then + one '%' is output and processing continues. If the following + character is not a digit, then the '%' and that character are + copied and processing continues. Finally, if the '%' *is* + followed by a digit, that digit is used as an index into the + regmatch_t array to replace the two characters with the matched + text. i.e.: "%0" is replaced by the full matching text, "%1" + is the first matching sub-expression, etc. + + This is used as follows: + + c_fix = format; + c_fix_arg = "#ifndef %1\n%0\n#endif"; + c_fix_arg = "#define[ \t]+([A-Z][A-Z0-9a-z_]*).*"; + + This would wrap a one line #define inside of a "#ifndef"/"#endif" + pair. The second "c_fix_arg" may be omitted *IF* there is at least + one select clause and the first one identifies the text you wish to + reformat. It will then be used as the second "c_fix_arg". You may + delete the selected text by supplying an empty string for the + replacement format (the first "c_fix_arg"). + + Note: In general, a format c_fix may be used in place of one + sed expression. However, it will need to be rewritten by + hand. For example: + + sed = 's@^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$' + '@& || __GNUC__ >= 3@'; + + may be rewritten using a format c_fix as: + + c_fix = format; + c_fix_arg = '%0 || __GNUC__ >= 3'; + c_fix_arg = '^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$'; + + Multiple sed substitution expressions probably ought to remain sed + expressions in order to maintain clarity. Also note that if the + second sed expression is the same as the first select expression, + then you may omit the second c_fix_arg. The select expression will + be picked up and used in its absence. + +EXAMPLES OF FIXES: +================== + + hackname = AAA_ki_iface; + replace; /* empty replacement -> no fixing the file */ + + When this ``fix'' is invoked, it will prevent any fixes + from being applied. + + ------------------ + + hackname = AAB_svr4_no_varargs; + replace = "/* This file was generated by fixincludes. */\n" + "#ifndef _SYS_VARARGS_H\n" + "#define _SYS_VARARGS_H\n\n" + + "#ifdef __STDC__\n" + "#include <stdarg.h>\n" + "#else\n" + "#include <varargs.h>\n" + "#endif\n\n" + + "#endif /* _SYS_VARARGS_H */\n"; + + When this ``fix'' is invoked, the replacement text will be + emitted into the replacement include file. No further fixes + will be applied. + + ------------------ + + hackname = hpux11_fabsf; + files = math.h; + select = "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*"; + bypass = "__cplusplus"; + + c_fix = format; + c_fix_arg = "#ifndef __cplusplus\n%0\n#endif"; + + test_text = + "# define fabsf(x) ((float)fabs((double)(float)(x)))\n"; + + This fix will ensure that the #define for fabs is wrapped + with C++ protection, providing the header is not already + C++ aware. + + ------------------ + +5. Testing fixes. + + The brute force method is, of course, to configure and build + GCC. But you can also: + + cd ${top_builddir}/gcc + rm -rf fixinc.sh include/ stmp-fixinc + make stmp-fixinc + + I would really recommend, however: + + cd ${top_builddir}/gcc/fixinc + make check + + To do this, you *must* have autogen installed on your system. + The "check" step will proceed to construct a shell script that + will exercise all the fixes, using the sample test_text + provided with each fix. Once done, the changes made will + be compared against the changes saved in the source directory. + If you are changing the tests or fixes, the change will likely + be highlighted. diff --git a/gcc-4.4.3/fixincludes/README-fixinc b/gcc-4.4.3/fixincludes/README-fixinc new file mode 100644 index 000000000..7086a7782 --- /dev/null +++ b/gcc-4.4.3/fixincludes/README-fixinc @@ -0,0 +1,14 @@ +This README file is copied into the directory for GCC-only header files +when fixincludes is run by the makefile for GCC. + +Many of the files in this directory were automatically edited from the +standard system header files by the fixincludes process. They are +system-specific, and will not work on any other kind of system. They +are also not part of GCC. The reason we have to do this is because +GCC requires ANSI C headers and many vendors supply ANSI-incompatible +headers. + +Because this is an automated process, sometimes headers get "fixed" +that do not, strictly speaking, need a fix. As long as nothing is broken +by the process, it is just an unfortunate collateral inconvenience. +We would like to rectify it, if it is not "too inconvenient". diff --git a/gcc-4.4.3/fixincludes/aclocal.m4 b/gcc-4.4.3/fixincludes/aclocal.m4 new file mode 100644 index 000000000..60193f24a --- /dev/null +++ b/gcc-4.4.3/fixincludes/aclocal.m4 @@ -0,0 +1,17 @@ +# generated automatically by aclocal 1.9.6 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_include([../config/acx.m4]) +m4_include([../config/override.m4]) +m4_include([../config/warnings.m4]) +m4_include([../gcc/acinclude.m4]) diff --git a/gcc-4.4.3/fixincludes/check.tpl b/gcc-4.4.3/fixincludes/check.tpl new file mode 100644 index 000000000..bb93bcc3e --- /dev/null +++ b/gcc-4.4.3/fixincludes/check.tpl @@ -0,0 +1,177 @@ +[= autogen5 template sh=check.sh =] +[= +# +# This file contanes the shell template to run tests on the fixes +# +=]#!/bin/sh + +set -e +TESTDIR=tests +TESTBASE=`cd $1;${PWDCMD-pwd}` + +[ -d ${TESTDIR} ] || mkdir ${TESTDIR} +cd ${TESTDIR} +TESTDIR=`${PWDCMD-pwd}` + +TARGET_MACHINE='*' +DESTDIR=`${PWDCMD-pwd}`/res +SRCDIR=`${PWDCMD-pwd}`/inc +FIND_BASE='.' +VERBOSE=[=` echo ${VERBOSE-1} `=] +INPUT=`${PWDCMD-pwd}` +ORIGDIR=${INPUT} + +export TARGET_MACHINE DESTDIR SRCDIR FIND_BASE VERBOSE INPUT ORIGDIR + +rm -rf ${DESTDIR} ${SRCDIR} +mkdir ${DESTDIR} ${SRCDIR} +( +[= + (shellf + "for f in %s + do case $f in + */* ) echo $f | sed 's;/[^/]*$;;' ;; + esac + done | sort -u | \ + while read g + do echo \" mkdir \\${SRCDIR}/$g || mkdir -p \\${SRCDIR}/$g || exit 1\" + done" (join " " (stack "fix.files")) ) =] +) 2> /dev/null[= # suppress 'No such file or directory' messages =] +cd inc +[= +(define sfile "") +(define HACK "") +(define dfile "") =][= + +FOR fix =][= + + IF (> (count "test_text") 1) =][= + (set! HACK (string-upcase! (get "hackname"))) + (set! sfile (if (exist? "files") (get "files[]") "testing.h")) + (set! dfile (string-append + (if (*==* sfile "/") + (shellf "echo \"%s\"|sed 's,/[^/]*,/,'" sfile ) + "" ) + (string-tr! (get "hackname") "_A-Z" "-a-z") + ) ) =][= + + FOR test_text (for-from 1) =] +cat >> [=(. sfile)=] <<_HACK_EOF_ + + +#if defined( [=(. HACK)=]_CHECK_[=(for-index)=] ) +[=test_text=] +#endif /* [=(. HACK)=]_CHECK_[=(for-index)=] */ +_HACK_EOF_ +echo [=(. sfile)=] | ../../fixincl +mv -f [=(. sfile)=] [=(. dfile)=]-[=(for-index)=].h +[ -f ${DESTDIR}/[=(. sfile)=] ] && [=# + =]mv ${DESTDIR}/[=(. sfile)=] ${DESTDIR}/[=(. dfile)=]-[=(for-index)=].h[= + + ENDFOR test_text =][= + + ENDIF multi-test =][= + +ENDFOR fix + +=][= + +FOR fix =][= + (set! HACK (string-upcase! (get "hackname"))) =][= + + IF (not (exist? "test_text")) =][= + (if (not (exist? "replace")) + (error (sprintf "include fix '%s' has no test text" + (get "hackname") )) ) + =][= + ELSE =] +cat >> [= + IF (exist? "files") =][= + files[0] =][= + ELSE =]testing.h[= + ENDIF =] <<_HACK_EOF_ + + +#if defined( [=(. HACK)=]_CHECK ) +[=test_text=] +#endif /* [=(. HACK)=]_CHECK */ +_HACK_EOF_ +[=ENDIF =][= + +ENDFOR fix + +=] + +find . -type f | sed 's;^\./;;' | sort | ../../fixincl +cd ${DESTDIR} + +exitok=true + +find * -type f -print > ${TESTDIR}/LIST + +# Special hack for sys/types.h: the #define-d types for size_t, +# ptrdiff_t and wchar_t are different for each port. Therefore, +# strip off the defined-to type so that the test results are the +# same for all platforms. +# +sed 's/\(#define __[A-Z_]*_TYPE__\).*/\1/' sys/types.h > XX +mv -f XX sys/types.h + +# The following subshell weirdness is for saving an exit +# status from within a while loop that reads input. If you can +# think of a cleaner way, suggest away, please... +# +exitok=` +exec < ${TESTDIR}/LIST +while read f +do + if [ ! -f ${TESTBASE}/$f ] + then + echo "Newly fixed header: $f" >&2 + exitok=false + + elif cmp $f ${TESTBASE}/$f >&2 + then + : + + else + ${DIFF:-diff} -c $f ${TESTBASE}/$f >&2 || : + exitok=false + fi +done +echo $exitok` + +cd $TESTBASE + +find * -type f -print | \ +fgrep -v 'CVS/' | \ +fgrep -v '.svn/' > ${TESTDIR}/LIST + +exitok=` +exec < ${TESTDIR}/LIST +while read f +do + if [ -s $f ] && [ ! -f ${DESTDIR}/$f ] + then + echo "Missing header fix: $f" >&2 + exitok=false + fi +done +echo $exitok` + +echo +if $exitok +then + cd ${TESTDIR} + rm -rf inc res LIST + cd .. + rmdir ${TESTDIR} > /dev/null 2>&1 || : + echo All fixinclude tests pass >&2 +else + echo There were fixinclude test FAILURES >&2 +fi +$exitok[= + +(if (defined? 'set-writable) (set-writable)) + +=] diff --git a/gcc-4.4.3/fixincludes/config.h.in b/gcc-4.4.3/fixincludes/config.h.in new file mode 100644 index 000000000..369328548 --- /dev/null +++ b/gcc-4.4.3/fixincludes/config.h.in @@ -0,0 +1,213 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Defined to the executable file extension on the host system */ +#undef EXE_EXT + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#undef HAVE_CLEARERR_UNLOCKED + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#undef HAVE_DECL_ABORT + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#undef HAVE_DECL_ASPRINTF + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#undef HAVE_DECL_BASENAME + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#undef HAVE_DECL_CLEARERR_UNLOCKED + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#undef HAVE_DECL_ERRNO + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#undef HAVE_DECL_FEOF_UNLOCKED + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#undef HAVE_DECL_FERROR_UNLOCKED + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#undef HAVE_DECL_FFLUSH_UNLOCKED + +#define SED_PROGRAM "/usr/bin/sed" + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#undef HAVE_DECL_FGETC_UNLOCKED + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#undef HAVE_DECL_FGETS_UNLOCKED + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#undef HAVE_DECL_FILENO_UNLOCKED + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#undef HAVE_DECL_FPRINTF_UNLOCKED + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#undef HAVE_DECL_FPUTC_UNLOCKED + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#undef HAVE_DECL_FPUTS_UNLOCKED + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#undef HAVE_DECL_FREAD_UNLOCKED + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#undef HAVE_DECL_FWRITE_UNLOCKED + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#undef HAVE_DECL_GETCHAR_UNLOCKED + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#undef HAVE_DECL_GETC_UNLOCKED + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#undef HAVE_DECL_PUTCHAR_UNLOCKED + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#undef HAVE_DECL_PUTC_UNLOCKED + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#undef HAVE_DECL_VASPRINTF + +/* Define to 1 if you have the <fcntl.h> header file. */ +#undef HAVE_FCNTL_H + +/* Define to 1 if you have the `feof_unlocked' function. */ +#undef HAVE_FEOF_UNLOCKED + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#undef HAVE_FERROR_UNLOCKED + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#undef HAVE_FFLUSH_UNLOCKED + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#undef HAVE_FGETC_UNLOCKED + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#undef HAVE_FGETS_UNLOCKED + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#undef HAVE_FILENO_UNLOCKED + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#undef HAVE_FPRINTF_UNLOCKED + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#undef HAVE_FPUTC_UNLOCKED + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#undef HAVE_FPUTS_UNLOCKED + +/* Define to 1 if you have the `fread_unlocked' function. */ +#undef HAVE_FREAD_UNLOCKED + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#undef HAVE_FWRITE_UNLOCKED + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#undef HAVE_GETCHAR_UNLOCKED + +/* Define to 1 if you have the `getc_unlocked' function. */ +#undef HAVE_GETC_UNLOCKED + +/* Define to 1 if you have the <inttypes.h> header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the <memory.h> header file. */ +#undef HAVE_MEMORY_H + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#undef HAVE_MMAP_ANON + +/* Define if mmap of /dev/zero works. */ +#undef HAVE_MMAP_DEV_ZERO + +/* Define if read-only mmap of a plain file works. */ +#undef HAVE_MMAP_FILE + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#undef HAVE_PUTCHAR_UNLOCKED + +/* Define to 1 if you have the `putc_unlocked' function. */ +#undef HAVE_PUTC_UNLOCKED + +/* Define to 1 if you have the <stddef.h> header file. */ +#undef HAVE_STDDEF_H + +/* Define to 1 if you have the <stdint.h> header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the <stdlib.h> header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the <strings.h> header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the <string.h> header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the <sys/file.h> header file. */ +#undef HAVE_SYS_FILE_H + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the <sys/types.h> header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the <unistd.h> header file. */ +#undef HAVE_UNISTD_H + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define if testing and fixing are done by separate process */ +#undef SEPARATE_FIX_PROC + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Define to xatexit if the host system does not support atexit */ +#undef atexit + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* Define to xexit if the host system does not support atexit */ +#undef exit diff --git a/gcc-4.4.3/fixincludes/configure b/gcc-4.4.3/fixincludes/configure new file mode 100755 index 000000000..e14e8160d --- /dev/null +++ b/gcc-4.4.3/fixincludes/configure @@ -0,0 +1,7246 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.59 for fixincludes . +# +# Copyright (C) 2003 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +exec 6>&1 + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_config_libobj_dir=. +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Maximum number of lines to put in a shell here document. +# This variable seems obsolete. It should probably be removed, and +# only ac_max_sed_lines should be used. +: ${ac_max_here_lines=38} + +# Identity of this package. +PACKAGE_NAME='fixincludes' +PACKAGE_TARNAME='fixincludes' +PACKAGE_VERSION=' ' +PACKAGE_STRING='fixincludes ' +PACKAGE_BUGREPORT='' + +ac_unique_file="inclhack.def" +# Factoring default headers for most tests. +ac_includes_default="\ +#include <stdio.h> +#if HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#if HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif +#if STDC_HEADERS +# include <stdlib.h> +# include <stddef.h> +#else +# if HAVE_STDLIB_H +# include <stdlib.h> +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include <memory.h> +# endif +# include <string.h> +#endif +#if HAVE_STRINGS_H +# include <strings.h> +#endif +#if HAVE_INTTYPES_H +# include <inttypes.h> +#else +# if HAVE_STDINT_H +# include <stdint.h> +# endif +#endif +#if HAVE_UNISTD_H +# include <unistd.h> +#endif" + +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT SED WARN_CFLAGS WARN_PEDANTIC WERROR target_noncanonical TARGET CPP EGREP MAINT LIBOBJS LTLIBOBJS' +ac_subst_files='' +ac_pwd=`pwd` + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +ac_prev= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_option in + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + eval "enable_$ac_feature=no" ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "enable_$ac_feature='$ac_optarg'" ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package| sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "with_$ac_package='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/-/_/g'` + eval "with_$ac_package=no" ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + eval "$ac_envvar='$ac_optarg'" + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute paths. +for ac_var in exec_prefix prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# Be sure to have absolute paths. +for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ + localstatedir libdir includedir oldincludedir infodir mandir +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then its parent. + ac_confdir=`(dirname "$0") 2>/dev/null || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r $srcdir/$ac_unique_file; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { (exit 1); exit 1; }; } + else + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } + fi +fi +(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || + { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 + { (exit 1); exit 1; }; } +srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +ac_env_build_alias_set=${build_alias+set} +ac_env_build_alias_value=$build_alias +ac_cv_env_build_alias_set=${build_alias+set} +ac_cv_env_build_alias_value=$build_alias +ac_env_host_alias_set=${host_alias+set} +ac_env_host_alias_value=$host_alias +ac_cv_env_host_alias_set=${host_alias+set} +ac_cv_env_host_alias_value=$host_alias +ac_env_target_alias_set=${target_alias+set} +ac_env_target_alias_value=$target_alias +ac_cv_env_target_alias_set=${target_alias+set} +ac_cv_env_target_alias_value=$target_alias +ac_env_CC_set=${CC+set} +ac_env_CC_value=$CC +ac_cv_env_CC_set=${CC+set} +ac_cv_env_CC_value=$CC +ac_env_CFLAGS_set=${CFLAGS+set} +ac_env_CFLAGS_value=$CFLAGS +ac_cv_env_CFLAGS_set=${CFLAGS+set} +ac_cv_env_CFLAGS_value=$CFLAGS +ac_env_LDFLAGS_set=${LDFLAGS+set} +ac_env_LDFLAGS_value=$LDFLAGS +ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +ac_cv_env_LDFLAGS_value=$LDFLAGS +ac_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_env_CPPFLAGS_value=$CPPFLAGS +ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_cv_env_CPPFLAGS_value=$CPPFLAGS +ac_env_CPP_set=${CPP+set} +ac_env_CPP_value=$CPP +ac_cv_env_CPP_set=${CPP+set} +ac_cv_env_CPP_value=$CPP + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures fixincludes to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +_ACEOF + + cat <<_ACEOF +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data [PREFIX/share] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] +_ACEOF + + cat <<\_ACEOF + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of fixincludes :";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-werror-always enable -Werror despite compiler version + --enable-twoprocess Use a separate process to apply the fixes + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-local-prefix=DIR specifies directory to put local include + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a + nonstandard directory <lib dir> + CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have + headers in a nonstandard directory <include dir> + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +_ACEOF +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + ac_popdir=`pwd` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d $ac_dir || continue + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + cd $ac_dir + # Check for guested configure; otherwise get Cygnus style configure. + if test -f $ac_srcdir/configure.gnu; then + echo + $SHELL $ac_srcdir/configure.gnu --help=recursive + elif test -f $ac_srcdir/configure; then + echo + $SHELL $ac_srcdir/configure --help=recursive + elif test -f $ac_srcdir/configure.ac || + test -f $ac_srcdir/configure.in; then + echo + $ac_configure --help + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi + cd $ac_popdir + done +fi + +test -n "$ac_init_help" && exit 0 +if $ac_init_version; then + cat <<\_ACEOF +fixincludes configure +generated by GNU Autoconf 2.59 + +Copyright (C) 2003 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit 0 +fi +exec 5>config.log +cat >&5 <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by fixincludes $as_me , which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ $0 $@ + +_ACEOF +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +hostinfo = `(hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_sep= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" + # Get rid of the leading space. + ac_sep=" " + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Be sure not to use single quotes in there, as some shells, +# such as our DU 5.0 friend, will then `close' the trap. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +{ + (set) 2>&1 | + case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in + *ac_space=\ *) + sed -n \ + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + ;; + *) + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------- ## +## Output files. ## +## ------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + sed "/^$/d" confdefs.h | sort + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core && + rm -rf conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status + ' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo >confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . $cache_file;; + *) . ./$cache_file;; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in `(set) 2>&1 | + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val="\$ac_cv_env_${ac_var}_value" + eval ac_new_val="\$ac_env_${ac_var}_value" + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 +echo "$as_me: former value: \`$ac_old_val'" >&2;} + { echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 +echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +echo "$as_me: error: in \`$ac_pwd':" >&2;} + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ac_aux_dir= +for ac_dir in .. $srcdir/..; do + if test -f $ac_dir/install-sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f $ac_dir/install.sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f $ac_dir/shtool; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in .. $srcdir/.." >&5 +echo "$as_me: error: cannot find install-sh or install.sh in .. $srcdir/.." >&2;} + { (exit 1); exit 1; }; } +fi +ac_config_guess="$SHELL $ac_aux_dir/config.guess" +ac_config_sub="$SHELL $ac_aux_dir/config.sub" +ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + + + +# serial 56 LT_INIT + + +# LT_PREREQ(VERSION) +# ------------------ +# Complain and exit if this libtool version is less that VERSION. + + + +# _LT_CHECK_BUILDDIR +# ------------------ +# Complain if the absolute build directory name contains unusual characters + + + +# LT_INIT([OPTIONS]) +# ------------------ +# LT_INIT + +# Old names: + + + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. + + + +# _LT_FILEUTILS_DEFAULTS +# ---------------------- +# It is okay to use these file commands and assume they have been set +# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. +# _LT_FILEUTILS_DEFAULTS + + +# _LT_SETUP +# --------- +# _LT_SETUP + + +# _LT_PROG_LTMAIN +# --------------- +# Note that this code is called both from `configure', and `config.status' +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +# `config.status' has no value for ac_aux_dir unless we are using Automake, +# so we pass a copy along to make sure it has a sensible value anyway. +# _LT_PROG_LTMAIN + + +## ------------------------------------- ## +## Accumulate code for creating libtool. ## +## ------------------------------------- ## + +# So that we can recreate a full libtool script including additional +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS +# in macros and then make a single call at the end using the `libtool' +# label. + + +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) +# ---------------------------------------- +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. + + +# Initialize. + + + +# _LT_CONFIG_LIBTOOL([COMMANDS]) +# ------------------------------ +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. + + +# Initialize. + + + +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) +# ----------------------------------------------------- + + + +# _LT_FORMAT_COMMENT([COMMENT]) +# ----------------------------- +# Add leading comment marks to the start of each line, and a trailing +# full-stop to the whole comment if one is not present already. + + + + +## ------------------------ ## +## FIXME: Eliminate VARNAME ## +## ------------------------ ## + + +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) +# ------------------------------------------------------------------- +# CONFIGNAME is the name given to the value in the libtool script. +# VARNAME is the (base) name used in the configure script. +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on +# VARNAME. Any other value will be used directly. + + + +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) +# -------------------------------------------------------- + + + +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ + + + +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) +# --------------------------------------------------------- + + + +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) +# -------------------------------------------------- + + + +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- + + + +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- + + + + +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ + + + + +# _LT_CONFIG_STATUS_DECLARE([VARNAME]) +# ------------------------------------ +# Quote a variable value, and forward it to `config.status' so that its +# declaration there will have the same value as in `configure'. VARNAME +# must have a single quote delimited value for this to work. + + + +# _LT_CONFIG_STATUS_DECLARATIONS +# ------------------------------ +# We delimit libtool config variables with single quotes, so when +# we write them to config.status, we have to be sure to quote all +# embedded single quotes properly. In configure, this macro expands +# each variable declared with _LT_DECL (and _LT_TAGDECL) into: +# +# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`' + + + +# _LT_LIBTOOL_TAGS +# ---------------- +# Output comment and list of tags supported by the script + + + +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) +# ----------------------------------- +# Extract the dictionary values for VARNAME (optionally with TAG) and +# expand to a commented shell variable setting: +# +# # Some comment about what VAR is for. +# visible_name=$lt_internal_name + + + +# _LT_LIBTOOL_CONFIG_VARS +# ----------------------- +# Produce commented declarations of non-tagged libtool config variables +# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG +# section) are produced by _LT_LIBTOOL_TAG_VARS. + + + +# _LT_LIBTOOL_TAG_VARS(TAG) +# ------------------------- + + + +# _LT_TAGVAR(VARNAME, [TAGNAME]) +# ------------------------------ + + + +# _LT_CONFIG_COMMANDS +# ------------------- +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of +# variables for single and double quote escaping we saved from calls +# to _LT_DECL, we can put quote escaped variables declarations +# into `config.status', and then the shell code to quote escape them in +# for loops in `config.status'. Finally, any additional code accumulated +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. +#_LT_CONFIG_COMMANDS + + +# Initialize. + + + +# LT_OUTPUT +# --------- +# This macro allows early generation of the libtool script (before +# AC_OUTPUT is called), incase it is used in configure for compilation +# tests. +# LT_OUTPUT + + +# _LT_CONFIG(TAG) +# --------------- +# If TAG is the built-in tag, create an initial libtool script with a +# default configuration from the untagged config vars. Otherwise add code +# to config.status for appending the configuration named by TAG from the +# matching tagged config vars. +# _LT_CONFIG + + +# LT_SUPPORTED_TAG(TAG) +# --------------------- +# Trace this macro to discover what tags are supported by the libtool +# --tag option, using: +# autoconf --trace 'LT_SUPPORTED_TAG:$1' + + + +# C support is built-in for now + + + + +# LT_LANG(LANG) +# ------------- +# Enable libtool support for the given language if not already enabled. +# LT_LANG + + +# _LT_LANG(LANGNAME) +# ------------------ +# _LT_LANG + + +# _LT_LANG_DEFAULT_CONFIG +# ----------------------- +# _LT_LANG_DEFAULT_CONFIG + +# Obsolete macros: + + + + + + +# _LT_TAG_COMPILER +# ---------------- +# _LT_TAG_COMPILER + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +# _LT_LINKER_BOILERPLATE + +# _LT_REQUIRED_DARWIN_CHECKS +# ------------------------- + + + +# _LT_DARWIN_LINKER_FEATURES +# -------------------------- +# Checks for linker and compiler features on darwin + + +# _LT_SYS_MODULE_PATH_AIX +# ----------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +# _LT_SYS_MODULE_PATH_AIX + + +# _LT_SHELL_INIT(ARG) +# ------------------- +# _LT_SHELL_INIT + + +# _LT_PROG_ECHO_BACKSLASH +# ----------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +# _LT_PROG_ECHO_BACKSLASH + + +# _LT_ENABLE_LOCK +# --------------- +# _LT_ENABLE_LOCK + + +# _LT_CMD_OLD_ARCHIVE +# ------------------- +# _LT_CMD_OLD_ARCHIVE + + +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +# _LT_COMPILER_OPTION + +# Old name: + + + +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------- +# Check whether the given linker option works +# _LT_LINKER_OPTION + +# Old name: + + + +# LT_CMD_MAX_LEN +#--------------- +# LT_CMD_MAX_LEN + +# Old name: + + + +# _LT_HEADER_DLFCN +# ---------------- +# _LT_HEADER_DLFCN + + +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ---------------------------------------------------------------- +# _LT_TRY_DLOPEN_SELF + + +# LT_SYS_DLOPEN_SELF +# ------------------ +# LT_SYS_DLOPEN_SELF + +# Old name: + + + +# _LT_COMPILER_C_O([TAGNAME]) +# --------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler. +# This macro does not hard code the compiler like AC_PROG_CC_C_O. +# _LT_COMPILER_C_O + + +# _LT_COMPILER_FILE_LOCKS([TAGNAME]) +# ---------------------------------- +# Check to see if we can do hard links to lock some files if needed +# _LT_COMPILER_FILE_LOCKS + + +# _LT_CHECK_OBJDIR +# ---------------- +# _LT_CHECK_OBJDIR + + +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) +# -------------------------------------- +# Check hardcoding attributes. +# _LT_LINKER_HARDCODE_LIBPATH + + +# _LT_CMD_STRIPLIB +# ---------------- +# _LT_CMD_STRIPLIB + + +# _LT_SYS_DYNAMIC_LINKER([TAG]) +# ----------------------------- +# PORTME Fill in your ld.so characteristics +# _LT_SYS_DYNAMIC_LINKER + + +# _LT_PATH_TOOL_PREFIX(TOOL) +# -------------------------- +# find a file program which can recognize shared library +# _LT_PATH_TOOL_PREFIX + +# Old name: + + + +# _LT_PATH_MAGIC +# -------------- +# find a file program which can recognize a shared library +# _LT_PATH_MAGIC + + +# LT_PATH_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +# LT_PATH_LD + +# Old names: + + + + +# _LT_PATH_LD_GNU +#- -------------- +# _LT_PATH_LD_GNU + + +# _LT_CMD_RELOAD +# -------------- +# find reload flag for linker +# -- PORTME Some linkers may need a different reload flag. +# _LT_CMD_RELOAD + + +# _LT_CHECK_MAGIC_METHOD +# ---------------------- +# how to check for library dependencies +# -- PORTME fill in with the dynamic library characteristics +# _LT_CHECK_MAGIC_METHOD + + +# LT_PATH_NM +# ---------- +# find the pathname to a BSD- or MS-compatible name lister +# LT_PATH_NM + +# Old names: + + + + +# LT_LIB_M +# -------- +# check for math library +# LT_LIB_M + +# Old name: + + + +# _LT_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------- +# _LT_COMPILER_NO_RTTI + + +# _LT_CMD_GLOBAL_SYMBOLS +# ---------------------- + # _LT_CMD_GLOBAL_SYMBOLS + + +# _LT_COMPILER_PIC([TAGNAME]) +# --------------------------- +# _LT_COMPILER_PIC + + +# _LT_LINKER_SHLIBS([TAGNAME]) +# ---------------------------- +# See if the linker supports building shared libraries. +# _LT_LINKER_SHLIBS + + +# _LT_LANG_C_CONFIG([TAG]) +# ------------------------ +# Ensure that the configuration variables for a C compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to `libtool'. +# _LT_LANG_C_CONFIG + + +# _LT_PROG_CXX +# ------------ +# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ +# compiler, we have our own version here. +# _LT_PROG_CXX + + + +# _LT_LANG_CXX_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a C++ compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to `libtool'. +# _LT_LANG_CXX_CONFIG + + +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) +# --------------------------------- +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +# _LT_SYS_HIDDEN_LIBDEPS + + +# _LT_PROG_F77 +# ------------ +# Since AC_PROG_F77 is broken, in that it returns the empty string +# if there is no fortran compiler, we have our own version here. +# _LT_PROG_F77 + + + +# _LT_LANG_F77_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a Fortran 77 compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +# _LT_LANG_F77_CONFIG + + +# _LT_PROG_FC +# ----------- +# Since AC_PROG_FC is broken, in that it returns the empty string +# if there is no fortran compiler, we have our own version here. +# _LT_PROG_FC + + + +# _LT_LANG_FC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for a Fortran compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +# _LT_LANG_FC_CONFIG + + +# _LT_LANG_GCJ_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Java Compiler compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +# _LT_LANG_GCJ_CONFIG + + +# _LT_LANG_RC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for the Windows resource compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +# _LT_LANG_RC_CONFIG + + +# LT_PROG_GCJ +# ----------- + + +# Old name: + + + +# LT_PROG_RC +# ---------- + + +# Old name: + + + +# _LT_DECL_EGREP +# -------------- +# If we don't have a new enough Autoconf to choose the best grep +# available, choose the one first in the user's PATH. + + + +# _LT_DECL_OBJDUMP +# -------------- +# If we don't have a new enough Autoconf to choose the best objdump +# available, choose the one first in the user's PATH. + + + +# _LT_DECL_SED +# ------------ +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +# _LT_DECL_SED + + +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ + +#AC_PROG_SED +#m4_ifndef + +# Old name: + + + +# _LT_CHECK_SHELL_FEATURES +# ------------------------ +# Find out whether the shell is Bourne or XSI compatible, +# or has some other useful features. +# _LT_CHECK_SHELL_FEATURES + + +# _LT_PROG_XSI_SHELLFNS +# --------------------- +# Bourne and XSI compatible variants of some useful shell functions. + + +# Make sure we can run config.sub. +$ac_config_sub sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 +echo "$as_me: error: cannot run $ac_config_sub" >&2;} + { (exit 1); exit 1; }; } + +echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6 +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_build_alias=$build_alias +test -z "$ac_cv_build_alias" && + ac_cv_build_alias=`$ac_config_guess` +test -z "$ac_cv_build_alias" && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6 +build=$ac_cv_build +build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6 +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_host_alias=$host_alias +test -z "$ac_cv_host_alias" && + ac_cv_host_alias=$ac_cv_build_alias +ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6 +host=$ac_cv_host +host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +echo "$as_me:$LINENO: checking target system type" >&5 +echo $ECHO_N "checking target system type... $ECHO_C" >&6 +if test "${ac_cv_target+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_target_alias=$target_alias +test "x$ac_cv_target_alias" = "x" && + ac_cv_target_alias=$ac_cv_host_alias +ac_cv_target=`$ac_config_sub $ac_cv_target_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_target" >&5 +echo "${ECHO_T}$ac_cv_target" >&6 +target=$ac_cv_target +target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CC" && break +done + + CC=$ac_ct_CC +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 + (eval $ac_compiler --version </dev/null >&5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5 + (eval $ac_compiler -v </dev/null >&5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5 + (eval $ac_compiler -V </dev/null >&5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 + (eval $ac_link_default) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Find the output, starting from the most likely. This scheme is +# not robust to junk in `.', hence go to wildcards (a.*) only as a last +# resort. + +# Be careful to initialize this variable, since it used to be cached. +# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +ac_cv_exeext= +# b.out is created by i960 compilers. +for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) + ;; + conftest.$ac_ext ) + # This is the source file. + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool, + # but it would be cool to find out if it's true. Does anybody + # maintain Libtool? --akim. + export ac_cv_exeext + break;; + * ) + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; }; } +fi + +ac_exeext=$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6 + +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } + fi + fi +fi +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 +echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6 + +echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + export ac_cv_exeext + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +fi + +rm -f conftest$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6 + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6 +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +CFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cc_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_stdc=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <stdarg.h> +#include <stdio.h> +#include <sys/types.h> +#include <sys/stat.h> +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_stdc=$ac_arg +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext +done +rm -f conftest.$ac_ext conftest.$ac_objext +CC=$ac_save_CC + +fi + +case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 ;; + *) + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; +esac + +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +#ifndef __cplusplus + choke me +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +#include <stdlib.h> +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6 +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED + +echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6 + + +# Figure out what compiler warnings we can enable. +# See config/warnings.m4 for details. + + +WARN_CFLAGS= +save_CFLAGS="$CFLAGS" +for option in -W -Wall -Wwrite-strings -Wstrict-prototypes \ + -Wmissing-prototypes -Wold-style-definition \ + -Wmissing-format-attribute -Wno-overlength-strings; do + as_acx_Woption=`echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh` + + echo "$as_me:$LINENO: checking whether $CC supports $option" >&5 +echo $ECHO_N "checking whether $CC supports $option... $ECHO_C" >&6 +if eval "test \"\${$as_acx_Woption+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + CFLAGS="$option" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_acx_Woption=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_acx_Woption=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_acx_Woption'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_acx_Woption'}'`" >&6 + if test `eval echo '${'$as_acx_Woption'}'` = yes; then + WARN_CFLAGS="$WARN_CFLAGS${WARN_CFLAGS:+ }$option" +fi + + done +CFLAGS="$save_CFLAGS" + +WARN_PEDANTIC= +if test "$GCC" = yes; then + echo "$as_me:$LINENO: checking whether $CC supports -pedantic -Wno-long-long" >&5 +echo $ECHO_N "checking whether $CC supports -pedantic -Wno-long-long... $ECHO_C" >&6 +if test "${acx_cv_prog_cc_pedantic__Wno_long_long+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + save_CFLAGS="$CFLAGS" +CFLAGS="-pedantic -Wno-long-long" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + acx_cv_prog_cc_pedantic__Wno_long_long=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +acx_cv_prog_cc_pedantic__Wno_long_long=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +CFLAGS="$save_CFLAGS" +fi +echo "$as_me:$LINENO: result: $acx_cv_prog_cc_pedantic__Wno_long_long" >&5 +echo "${ECHO_T}$acx_cv_prog_cc_pedantic__Wno_long_long" >&6 +if test $acx_cv_prog_cc_pedantic__Wno_long_long = yes; then + WARN_PEDANTIC="$WARN_PEDANTIC${WARN_PEDANTIC:+ }-pedantic -Wno-long-long" +fi + + +fi + + + +# Only enable with --enable-werror-always until existing warnings are +# corrected. +WERROR= +# Check whether --enable-werror-always or --disable-werror-always was given. +if test "${enable_werror_always+set}" = set; then + enableval="$enable_werror_always" + +else + enable_werror_always=no +fi; +if test $enable_werror_always = yes; then + WERROR="$WERROR${WERROR:+ }-Werror" +fi + + + + +# Determine the noncanonical target name, for directory use. + case ${build_alias} in + "") build_noncanonical=${build} ;; + *) build_noncanonical=${build_alias} ;; +esac + + case ${host_alias} in + "") host_noncanonical=${build_noncanonical} ;; + *) host_noncanonical=${host_alias} ;; +esac + + case ${target_alias} in + "") target_noncanonical=${host_noncanonical} ;; + *) target_noncanonical=${target_alias} ;; +esac + + + + +# Specify the local prefix +local_prefix= + +# Check whether --with-local-prefix or --without-local-prefix was given. +if test "${with_local_prefix+set}" = set; then + withval="$with_local_prefix" + case "${withval}" in +yes) { { echo "$as_me:$LINENO: error: bad value ${withval} given for local include directory prefix" >&5 +echo "$as_me: error: bad value ${withval} given for local include directory prefix" >&2;} + { (exit 1); exit 1; }; } ;; +no) ;; +*) local_prefix=$with_local_prefix ;; +esac +fi; + +# Default local prefix if it is empty +if test x$local_prefix = x; then + local_prefix=/usr/local +fi + +# Choose one or two-process fix methodology. Systems that cannot handle +# bi-directional pipes must use the two process method. +# +# Check whether --enable-twoprocess or --disable-twoprocess was given. +if test "${enable_twoprocess+set}" = set; then + enableval="$enable_twoprocess" + if test "x$enable_twoprocess" = xyes; then + TARGET=twoprocess +else + TARGET=oneprocess +fi +else + case $host in + i?86-*-msdosdjgpp* | \ + i?86-*-mingw32* | \ + x86_64-*-mingw32* | \ + *-*-beos* ) + TARGET=twoprocess + ;; + + * ) + TARGET=oneprocess + ;; +esac +fi; + + +if test $TARGET = twoprocess; then + +cat >>confdefs.h <<\_ACEOF +#define SEPARATE_FIX_PROC 1 +_ACEOF + +fi + +case $host in + vax-dec-bsd* ) + +cat >>confdefs.h <<\_ACEOF +#define exit xexit +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define atexit xatexit +_ACEOF + + ;; +esac + + +cat >>confdefs.h <<_ACEOF +#define EXE_EXT "$ac_exeext" +_ACEOF + + +# Checks for header files. +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6 +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +if test "${ac_cv_prog_egrep+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +echo "${ECHO_T}$ac_cv_prog_egrep" >&6 + EGREP=$ac_cv_prog_egrep + + +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <string.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <stdlib.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <ctype.h> +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6 +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + + + + + +for ac_header in stddef.h stdlib.h strings.h unistd.h fcntl.h sys/file.h \ + sys/stat.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## -------------------------------------- ## +## Report this to the fixincludes lists. ## +## -------------------------------------- ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + + + + + + + + + + + + + + +for ac_func in clearerr_unlocked feof_unlocked ferror_unlocked fflush_unlocked fgetc_unlocked fgets_unlocked fileno_unlocked fprintf_unlocked fputc_unlocked fputs_unlocked fread_unlocked fwrite_unlocked getchar_unlocked getc_unlocked putchar_unlocked putc_unlocked +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + +#undef $ac_func + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + +echo "$as_me:$LINENO: checking whether abort is declared" >&5 +echo $ECHO_N "checking whether abort is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_abort+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef abort + char *p = (char *) abort; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_abort=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_abort=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_abort" >&5 +echo "${ECHO_T}$ac_cv_have_decl_abort" >&6 +if test $ac_cv_have_decl_abort = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_ABORT 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_ABORT 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether asprintf is declared" >&5 +echo $ECHO_N "checking whether asprintf is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_asprintf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef asprintf + char *p = (char *) asprintf; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_asprintf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_asprintf=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_asprintf" >&5 +echo "${ECHO_T}$ac_cv_have_decl_asprintf" >&6 +if test $ac_cv_have_decl_asprintf = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_ASPRINTF 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_ASPRINTF 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether basename is declared" >&5 +echo $ECHO_N "checking whether basename is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_basename+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef basename + char *p = (char *) basename; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_basename=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_basename=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_basename" >&5 +echo "${ECHO_T}$ac_cv_have_decl_basename" >&6 +if test $ac_cv_have_decl_basename = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_BASENAME 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_BASENAME 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether errno is declared" >&5 +echo $ECHO_N "checking whether errno is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_errno+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef errno + char *p = (char *) errno; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_errno=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_errno=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_errno" >&5 +echo "${ECHO_T}$ac_cv_have_decl_errno" >&6 +if test $ac_cv_have_decl_errno = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_ERRNO 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_ERRNO 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether vasprintf is declared" >&5 +echo $ECHO_N "checking whether vasprintf is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_vasprintf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef vasprintf + char *p = (char *) vasprintf; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_vasprintf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_vasprintf=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_vasprintf" >&5 +echo "${ECHO_T}$ac_cv_have_decl_vasprintf" >&6 +if test $ac_cv_have_decl_vasprintf = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_VASPRINTF 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_VASPRINTF 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether clearerr_unlocked is declared" >&5 +echo $ECHO_N "checking whether clearerr_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_clearerr_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef clearerr_unlocked + char *p = (char *) clearerr_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_clearerr_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_clearerr_unlocked=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_clearerr_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_clearerr_unlocked" >&6 +if test $ac_cv_have_decl_clearerr_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_CLEARERR_UNLOCKED 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether feof_unlocked is declared" >&5 +echo $ECHO_N "checking whether feof_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_feof_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef feof_unlocked + char *p = (char *) feof_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_feof_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_feof_unlocked=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_feof_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_feof_unlocked" >&6 +if test $ac_cv_have_decl_feof_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FEOF_UNLOCKED 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FEOF_UNLOCKED 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether ferror_unlocked is declared" >&5 +echo $ECHO_N "checking whether ferror_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_ferror_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef ferror_unlocked + char *p = (char *) ferror_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_ferror_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_ferror_unlocked=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_ferror_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_ferror_unlocked" >&6 +if test $ac_cv_have_decl_ferror_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FERROR_UNLOCKED 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FERROR_UNLOCKED 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether fflush_unlocked is declared" >&5 +echo $ECHO_N "checking whether fflush_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_fflush_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef fflush_unlocked + char *p = (char *) fflush_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_fflush_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_fflush_unlocked=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_fflush_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_fflush_unlocked" >&6 +if test $ac_cv_have_decl_fflush_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FFLUSH_UNLOCKED 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether fgetc_unlocked is declared" >&5 +echo $ECHO_N "checking whether fgetc_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_fgetc_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef fgetc_unlocked + char *p = (char *) fgetc_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_fgetc_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_fgetc_unlocked=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_fgetc_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_fgetc_unlocked" >&6 +if test $ac_cv_have_decl_fgetc_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FGETC_UNLOCKED 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FGETC_UNLOCKED 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether fgets_unlocked is declared" >&5 +echo $ECHO_N "checking whether fgets_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_fgets_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef fgets_unlocked + char *p = (char *) fgets_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_fgets_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_fgets_unlocked=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_fgets_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_fgets_unlocked" >&6 +if test $ac_cv_have_decl_fgets_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FGETS_UNLOCKED 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FGETS_UNLOCKED 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether fileno_unlocked is declared" >&5 +echo $ECHO_N "checking whether fileno_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_fileno_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef fileno_unlocked + char *p = (char *) fileno_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_fileno_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_fileno_unlocked=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_fileno_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_fileno_unlocked" >&6 +if test $ac_cv_have_decl_fileno_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FILENO_UNLOCKED 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FILENO_UNLOCKED 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether fprintf_unlocked is declared" >&5 +echo $ECHO_N "checking whether fprintf_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_fprintf_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef fprintf_unlocked + char *p = (char *) fprintf_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_fprintf_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_fprintf_unlocked=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_fprintf_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_fprintf_unlocked" >&6 +if test $ac_cv_have_decl_fprintf_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FPRINTF_UNLOCKED 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether fputc_unlocked is declared" >&5 +echo $ECHO_N "checking whether fputc_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_fputc_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef fputc_unlocked + char *p = (char *) fputc_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_fputc_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_fputc_unlocked=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_fputc_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_fputc_unlocked" >&6 +if test $ac_cv_have_decl_fputc_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FPUTC_UNLOCKED 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FPUTC_UNLOCKED 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether fputs_unlocked is declared" >&5 +echo $ECHO_N "checking whether fputs_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_fputs_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef fputs_unlocked + char *p = (char *) fputs_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_fputs_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_fputs_unlocked=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_fputs_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_fputs_unlocked" >&6 +if test $ac_cv_have_decl_fputs_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FPUTS_UNLOCKED 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FPUTS_UNLOCKED 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether fread_unlocked is declared" >&5 +echo $ECHO_N "checking whether fread_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_fread_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef fread_unlocked + char *p = (char *) fread_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_fread_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_fread_unlocked=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_fread_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_fread_unlocked" >&6 +if test $ac_cv_have_decl_fread_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FREAD_UNLOCKED 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FREAD_UNLOCKED 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether fwrite_unlocked is declared" >&5 +echo $ECHO_N "checking whether fwrite_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_fwrite_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef fwrite_unlocked + char *p = (char *) fwrite_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_fwrite_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_fwrite_unlocked=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_fwrite_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_fwrite_unlocked" >&6 +if test $ac_cv_have_decl_fwrite_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FWRITE_UNLOCKED 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FWRITE_UNLOCKED 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether getchar_unlocked is declared" >&5 +echo $ECHO_N "checking whether getchar_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_getchar_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef getchar_unlocked + char *p = (char *) getchar_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_getchar_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_getchar_unlocked=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_getchar_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_getchar_unlocked" >&6 +if test $ac_cv_have_decl_getchar_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETCHAR_UNLOCKED 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether getc_unlocked is declared" >&5 +echo $ECHO_N "checking whether getc_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_getc_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef getc_unlocked + char *p = (char *) getc_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_getc_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_getc_unlocked=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_getc_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_getc_unlocked" >&6 +if test $ac_cv_have_decl_getc_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETC_UNLOCKED 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETC_UNLOCKED 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether putchar_unlocked is declared" >&5 +echo $ECHO_N "checking whether putchar_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_putchar_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef putchar_unlocked + char *p = (char *) putchar_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_putchar_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_putchar_unlocked=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_putchar_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_putchar_unlocked" >&6 +if test $ac_cv_have_decl_putchar_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_PUTCHAR_UNLOCKED 0 +_ACEOF + + +fi +echo "$as_me:$LINENO: checking whether putc_unlocked is declared" >&5 +echo $ECHO_N "checking whether putc_unlocked is declared... $ECHO_C" >&6 +if test "${ac_cv_have_decl_putc_unlocked+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +#ifndef putc_unlocked + char *p = (char *) putc_unlocked; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_have_decl_putc_unlocked=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_have_decl_putc_unlocked=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_have_decl_putc_unlocked" >&5 +echo "${ECHO_T}$ac_cv_have_decl_putc_unlocked" >&6 +if test $ac_cv_have_decl_putc_unlocked = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_PUTC_UNLOCKED 1 +_ACEOF + + +else + cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_PUTC_UNLOCKED 0 +_ACEOF + + +fi + + + +# Checks for typedefs, structures, and compiler characteristics. +echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 +if test "${ac_cv_c_const+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset x; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *ccp; + char **p; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + ccp = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++ccp; + p = (char**) ccp; + ccp = (char const *const *) p; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + } +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_const=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_c_const=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +echo "${ECHO_T}$ac_cv_c_const" >&6 +if test $ac_cv_c_const = no; then + +cat >>confdefs.h <<\_ACEOF +#define const +_ACEOF + +fi + + +# Checks for library functions. + +if test "${ac_cv_header_sys_mman_h+set}" = set; then + echo "$as_me:$LINENO: checking for sys/mman.h" >&5 +echo $ECHO_N "checking for sys/mman.h... $ECHO_C" >&6 +if test "${ac_cv_header_sys_mman_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: $ac_cv_header_sys_mman_h" >&5 +echo "${ECHO_T}$ac_cv_header_sys_mman_h" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking sys/mman.h usability" >&5 +echo $ECHO_N "checking sys/mman.h usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <sys/mman.h> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking sys/mman.h presence" >&5 +echo $ECHO_N "checking sys/mman.h presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <sys/mman.h> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: sys/mman.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: sys/mman.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: sys/mman.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: sys/mman.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: sys/mman.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: sys/mman.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: sys/mman.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: sys/mman.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: sys/mman.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: sys/mman.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: sys/mman.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: sys/mman.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: sys/mman.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: sys/mman.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: sys/mman.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: sys/mman.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## -------------------------------------- ## +## Report this to the fixincludes lists. ## +## -------------------------------------- ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for sys/mman.h" >&5 +echo $ECHO_N "checking for sys/mman.h... $ECHO_C" >&6 +if test "${ac_cv_header_sys_mman_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_sys_mman_h=$ac_header_preproc +fi +echo "$as_me:$LINENO: result: $ac_cv_header_sys_mman_h" >&5 +echo "${ECHO_T}$ac_cv_header_sys_mman_h" >&6 + +fi +if test $ac_cv_header_sys_mman_h = yes; then + gcc_header_sys_mman_h=yes +else + gcc_header_sys_mman_h=no +fi + + +echo "$as_me:$LINENO: checking for mmap" >&5 +echo $ECHO_N "checking for mmap... $ECHO_C" >&6 +if test "${ac_cv_func_mmap+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define mmap to an innocuous variant, in case <limits.h> declares mmap. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define mmap innocuous_mmap + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char mmap (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + +#undef mmap + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char mmap (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_mmap) || defined (__stub___mmap) +choke me +#else +char (*f) () = mmap; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != mmap; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_mmap=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_mmap=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_mmap" >&5 +echo "${ECHO_T}$ac_cv_func_mmap" >&6 +if test $ac_cv_func_mmap = yes; then + gcc_func_mmap=yes +else + gcc_func_mmap=no +fi + +if test "$gcc_header_sys_mman_h" != yes \ + || test "$gcc_func_mmap" != yes; then + gcc_cv_func_mmap_file=no + gcc_cv_func_mmap_dev_zero=no + gcc_cv_func_mmap_anon=no +else + echo "$as_me:$LINENO: checking whether read-only mmap of a plain file works" >&5 +echo $ECHO_N "checking whether read-only mmap of a plain file works... $ECHO_C" >&6 +if test "${gcc_cv_func_mmap_file+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Add a system to this blacklist if + # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a + # memory area containing the same data that you'd get if you applied + # read() to the same fd. The only system known to have a problem here + # is VMS, where text files have record structure. + case "$host_os" in + vms* | ultrix*) + gcc_cv_func_mmap_file=no ;; + *) + gcc_cv_func_mmap_file=yes;; + esac +fi +echo "$as_me:$LINENO: result: $gcc_cv_func_mmap_file" >&5 +echo "${ECHO_T}$gcc_cv_func_mmap_file" >&6 + echo "$as_me:$LINENO: checking whether mmap from /dev/zero works" >&5 +echo $ECHO_N "checking whether mmap from /dev/zero works... $ECHO_C" >&6 +if test "${gcc_cv_func_mmap_dev_zero+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Add a system to this blacklist if it has mmap() but /dev/zero + # does not exist, or if mmapping /dev/zero does not give anonymous + # zeroed pages with both the following properties: + # 1. If you map N consecutive pages in with one call, and then + # unmap any subset of those pages, the pages that were not + # explicitly unmapped remain accessible. + # 2. If you map two adjacent blocks of memory and then unmap them + # both at once, they must both go away. + # Systems known to be in this category are Windows (all variants), + # VMS, and Darwin. + case "$host_os" in + vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00) + gcc_cv_func_mmap_dev_zero=no ;; + *) + gcc_cv_func_mmap_dev_zero=yes;; + esac +fi +echo "$as_me:$LINENO: result: $gcc_cv_func_mmap_dev_zero" >&5 +echo "${ECHO_T}$gcc_cv_func_mmap_dev_zero" >&6 + + # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for. + echo "$as_me:$LINENO: checking for MAP_ANON(YMOUS)" >&5 +echo $ECHO_N "checking for MAP_ANON(YMOUS)... $ECHO_C" >&6 +if test "${gcc_cv_decl_map_anon+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <sys/types.h> +#include <sys/mman.h> +#include <unistd.h> + +#ifndef MAP_ANONYMOUS +#define MAP_ANONYMOUS MAP_ANON +#endif + +int +main () +{ +int n = MAP_ANONYMOUS; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + gcc_cv_decl_map_anon=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +gcc_cv_decl_map_anon=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $gcc_cv_decl_map_anon" >&5 +echo "${ECHO_T}$gcc_cv_decl_map_anon" >&6 + + if test $gcc_cv_decl_map_anon = no; then + gcc_cv_func_mmap_anon=no + else + echo "$as_me:$LINENO: checking whether mmap with MAP_ANON(YMOUS) works" >&5 +echo $ECHO_N "checking whether mmap with MAP_ANON(YMOUS) works... $ECHO_C" >&6 +if test "${gcc_cv_func_mmap_anon+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Add a system to this blacklist if it has mmap() and MAP_ANON or + # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) + # doesn't give anonymous zeroed pages with the same properties listed + # above for use of /dev/zero. + # Systems known to be in this category are Windows, VMS, and SCO Unix. + case "$host_os" in + vms* | cygwin* | pe | mingw* | sco* | udk* ) + gcc_cv_func_mmap_anon=no ;; + *) + gcc_cv_func_mmap_anon=yes;; + esac +fi +echo "$as_me:$LINENO: result: $gcc_cv_func_mmap_anon" >&5 +echo "${ECHO_T}$gcc_cv_func_mmap_anon" >&6 + fi +fi + +if test $gcc_cv_func_mmap_file = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_MMAP_FILE 1 +_ACEOF + +fi +if test $gcc_cv_func_mmap_dev_zero = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_MMAP_DEV_ZERO 1 +_ACEOF + +fi +if test $gcc_cv_func_mmap_anon = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_MMAP_ANON 1 +_ACEOF + +fi + + +echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6 +# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then + enableval="$enable_maintainer_mode" + USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi; +echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 +echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6 +if test "$USE_MAINTAINER_MODE" = yes; then + MAINT= +else + MAINT='#' +fi + + +cat >>confdefs.h <<_ACEOF +#define SED_PROGRAM "${SED}" +_ACEOF + + + ac_config_headers="$ac_config_headers config.h" + + ac_config_files="$ac_config_files Makefile mkheaders.almost:mkheaders.in" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +{ + (set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} | + sed ' + t clear + : clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + : end' >>confcache +if diff $cache_file confcache >/dev/null 2>&1; then :; else + if test -w $cache_file; then + test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + cat confcache >$cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +}' +fi + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_i=`echo "$ac_i" | + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + # 2. Add them. + ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by fixincludes $as_me , which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +_ACEOF + +# Files that config.status was made for. +if test -n "$ac_config_files"; then + echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_headers"; then + echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_links"; then + echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_commands"; then + echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +fi + +cat >>$CONFIG_STATUS <<\_ACEOF + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Report bugs to <bug-autoconf@gnu.org>." +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +fixincludes config.status +configured by $0, generated by GNU Autoconf 2.59, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2003 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=$srcdir +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF + + + + + +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "mkheaders.almost" ) CONFIG_FILES="$CONFIG_FILES mkheaders.almost:mkheaders.in" ;; + "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "\$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +s,@SHELL@,$SHELL,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +s,@exec_prefix@,$exec_prefix,;t t +s,@prefix@,$prefix,;t t +s,@program_transform_name@,$program_transform_name,;t t +s,@bindir@,$bindir,;t t +s,@sbindir@,$sbindir,;t t +s,@libexecdir@,$libexecdir,;t t +s,@datadir@,$datadir,;t t +s,@sysconfdir@,$sysconfdir,;t t +s,@sharedstatedir@,$sharedstatedir,;t t +s,@localstatedir@,$localstatedir,;t t +s,@libdir@,$libdir,;t t +s,@includedir@,$includedir,;t t +s,@oldincludedir@,$oldincludedir,;t t +s,@infodir@,$infodir,;t t +s,@mandir@,$mandir,;t t +s,@build_alias@,$build_alias,;t t +s,@host_alias@,$host_alias,;t t +s,@target_alias@,$target_alias,;t t +s,@DEFS@,$DEFS,;t t +s,@ECHO_C@,$ECHO_C,;t t +s,@ECHO_N@,$ECHO_N,;t t +s,@ECHO_T@,$ECHO_T,;t t +s,@LIBS@,$LIBS,;t t +s,@build@,$build,;t t +s,@build_cpu@,$build_cpu,;t t +s,@build_vendor@,$build_vendor,;t t +s,@build_os@,$build_os,;t t +s,@host@,$host,;t t +s,@host_cpu@,$host_cpu,;t t +s,@host_vendor@,$host_vendor,;t t +s,@host_os@,$host_os,;t t +s,@target@,$target,;t t +s,@target_cpu@,$target_cpu,;t t +s,@target_vendor@,$target_vendor,;t t +s,@target_os@,$target_os,;t t +s,@CC@,$CC,;t t +s,@CFLAGS@,$CFLAGS,;t t +s,@LDFLAGS@,$LDFLAGS,;t t +s,@CPPFLAGS@,$CPPFLAGS,;t t +s,@ac_ct_CC@,$ac_ct_CC,;t t +s,@EXEEXT@,$EXEEXT,;t t +s,@OBJEXT@,$OBJEXT,;t t +s,@SED@,$SED,;t t +s,@WARN_CFLAGS@,$WARN_CFLAGS,;t t +s,@WARN_PEDANTIC@,$WARN_PEDANTIC,;t t +s,@WERROR@,$WERROR,;t t +s,@target_noncanonical@,$target_noncanonical,;t t +s,@TARGET@,$TARGET,;t t +s,@CPP@,$CPP,;t t +s,@EGREP@,$EGREP,;t t +s,@MAINT@,$MAINT,;t t +s,@LIBOBJS@,$LIBOBJS,;t t +s,@LTLIBOBJS@,$LTLIBOBJS,;t t +CEOF + +_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_HEADER section. +# + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' +ac_dC=' ' +ac_dD=',;t' +# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='$,\1#\2define\3' +ac_uC=' ' +ac_uD=',;t' + +for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + # Remove the trailing spaces. + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + +_ACEOF + +# Transform confdefs.h into two sed scripts, `conftest.defines' and +# `conftest.undefs', that substitutes the proper values into +# config.h.in to produce config.h. The first handles `#define' +# templates, and the second `#undef' templates. +# And first: Protect against being on the right side of a sed subst in +# config.status. Protect against being in an unquoted here document +# in config.status. +rm -f conftest.defines conftest.undefs +# Using a here document instead of a string reduces the quoting nightmare. +# Putting comments in sed scripts is not portable. +# +# `end' is used to avoid that the second main sed command (meant for +# 0-ary CPP macros) applies to n-ary macro definitions. +# See the Autoconf documentation for `clear'. +cat >confdef2sed.sed <<\_ACEOF +s/[\\&,]/\\&/g +s,[\\$`],\\&,g +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp +t end +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +: end +_ACEOF +# If some macros were called several times there might be several times +# the same #defines, which is useless. Nevertheless, we may not want to +# sort them, since we want the *last* AC-DEFINE to be honored. +uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines +sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs +rm -f confdef2sed.sed + +# This sed command replaces #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +cat >>conftest.undefs <<\_ACEOF +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +_ACEOF + +# Break up conftest.defines because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS +echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS +echo ' :' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.defines >/dev/null +do + # Write a limited-size here document to $tmp/defines.sed. + echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS + # Speed up: don't consider the non `#define' lines. + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/defines.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines +echo ' fi # grep' >>$CONFIG_STATUS +echo >>$CONFIG_STATUS + +# Break up conftest.undefs because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #undef templates' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.undefs >/dev/null +do + # Write a limited-size here document to $tmp/undefs.sed. + echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS + # Speed up: don't consider the non `#undef' + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/undefs.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail + rm -f conftest.undefs + mv conftest.tail conftest.undefs +done +rm -f conftest.undefs + +cat >>$CONFIG_STATUS <<\_ACEOF + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + echo "/* Generated by configure. */" >$tmp/config.h + else + echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + fi + cat $tmp/in >>$tmp/config.h + rm -f $tmp/in + if test x"$ac_file" != x-; then + if diff $ac_file $tmp/config.h >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + rm -f $ac_file + mv $tmp/config.h $ac_file + fi + else + cat $tmp/config.h + rm -f $tmp/config.h + fi + # Run the commands associated with the file. + case $ac_file in + config.h ) echo timestamp > stamp-h ;; + esac +done +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/gcc-4.4.3/fixincludes/configure.ac b/gcc-4.4.3/fixincludes/configure.ac new file mode 100644 index 000000000..d885e3c9a --- /dev/null +++ b/gcc-4.4.3/fixincludes/configure.ac @@ -0,0 +1,116 @@ +AC_PREREQ(2.59) + +AC_INIT(fixincludes, [ ]) +AC_CONFIG_SRCDIR(inclhack.def) +AC_CONFIG_AUX_DIR(..) +m4_sinclude(../libtool.m4) +AC_CANONICAL_SYSTEM +AC_PROG_CC +AC_PROG_SED + +# Figure out what compiler warnings we can enable. +# See config/warnings.m4 for details. + +ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wstrict-prototypes \ + -Wmissing-prototypes -Wold-style-definition \ + -Wmissing-format-attribute -Wno-overlength-strings]) +ACX_PROG_CC_WARNING_ALMOST_PEDANTIC([-Wno-long-long]) + +# Only enable with --enable-werror-always until existing warnings are +# corrected. +ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual]) + +# Determine the noncanonical target name, for directory use. +ACX_NONCANONICAL_TARGET + +# Specify the local prefix +local_prefix= +AC_ARG_WITH(local-prefix, +[ --with-local-prefix=DIR specifies directory to put local include], +[case "${withval}" in +yes) AC_MSG_ERROR(bad value ${withval} given for local include directory prefix) ;; +no) ;; +*) local_prefix=$with_local_prefix ;; +esac]) + +# Default local prefix if it is empty +if test x$local_prefix = x; then + local_prefix=/usr/local +fi + +# Choose one or two-process fix methodology. Systems that cannot handle +# bi-directional pipes must use the two process method. +# +AC_ARG_ENABLE([twoprocess], +[ --enable-twoprocess Use a separate process to apply the fixes], +[if test "x$enable_twoprocess" = xyes; then + TARGET=twoprocess +else + TARGET=oneprocess +fi], +[case $host in + i?86-*-msdosdjgpp* | \ + i?86-*-mingw32* | \ + x86_64-*-mingw32* | \ + *-*-beos* ) + TARGET=twoprocess + ;; + + * ) + TARGET=oneprocess + ;; +esac]) +AC_SUBST(TARGET) + +if test $TARGET = twoprocess; then + AC_DEFINE(SEPARATE_FIX_PROC, 1, + [Define if testing and fixing are done by separate process]) +fi + +case $host in + vax-dec-bsd* ) + AC_DEFINE(exit, xexit, [Define to xexit if the host system does not support atexit]) + AC_DEFINE(atexit, xatexit, [Define to xatexit if the host system does not support atexit]) + ;; +esac + +AC_DEFINE_UNQUOTED([EXE_EXT], "$ac_exeext", + [Defined to the executable file extension on the host system]) + +# Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS([stddef.h stdlib.h strings.h unistd.h fcntl.h sys/file.h \ + sys/stat.h]) +define(fixincludes_UNLOCKED_FUNCS, clearerr_unlocked feof_unlocked dnl + ferror_unlocked fflush_unlocked fgetc_unlocked fgets_unlocked dnl + fileno_unlocked fprintf_unlocked fputc_unlocked fputs_unlocked dnl + fread_unlocked fwrite_unlocked getchar_unlocked getc_unlocked dnl + putchar_unlocked putc_unlocked) +AC_CHECK_FUNCS(fixincludes_UNLOCKED_FUNCS) +AC_CHECK_DECLS(m4_split(m4_normalize(abort asprintf basename errno vasprintf fixincludes_UNLOCKED_FUNCS))) + +# Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST + +# Checks for library functions. +gcc_AC_FUNC_MMAP_BLACKLIST + +AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) +AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) +AC_MSG_RESULT($USE_MAINTAINER_MODE) +if test "$USE_MAINTAINER_MODE" = yes; then + MAINT= +else + MAINT='#' +fi +AC_SUBST(MAINT) +AC_DEFINE_UNQUOTED([SED_PROGRAM], "${SED}", + [Defined to the best working sed program on the host system]) + +AC_CONFIG_HEADERS(config.h, [echo timestamp > stamp-h]) +AC_CONFIG_FILES(Makefile mkheaders.almost:mkheaders.in) +AC_OUTPUT diff --git a/gcc-4.4.3/fixincludes/fixfixes.c b/gcc-4.4.3/fixincludes/fixfixes.c new file mode 100644 index 000000000..5616bf149 --- /dev/null +++ b/gcc-4.4.3/fixincludes/fixfixes.c @@ -0,0 +1,806 @@ + +/* + + Test to see if a particular fix should be applied to a header file. + + Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2009 + Free Software Foundation, Inc. + += = = = = = = = = = = = = = = = = = = = = = = = = + +NOTE TO DEVELOPERS + +The routines you write here must work closely with fixincl.c. + +Here are the rules: + +1. Every test procedure name must be suffixed with "_fix". + These routines will be referenced from inclhack.def, sans the suffix. + +2. Use the "FIX_PROC_HEAD()" macro _with_ the "_fix" suffix + (I cannot use the ## magic from ANSI C) for defining your entry point. + +3. Put your test name into the FIXUP_TABLE. + +4. Do not read anything from stdin. It is closed. + +5. Write to stderr only in the event of a reportable error + In such an event, call "exit (EXIT_FAILURE)". + +6. You have access to the fixDescList entry for the fix in question. + This may be useful, for example, if there are interesting strings + or pre-compiled regular expressions stored there. + += = = = = = = = = = = = = = = = = = = = = = = = = + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3, or (at your option) +any later version. + +GCC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#include "fixlib.h" +#define GTYPE_SE_CT 1 + +#ifdef SEPARATE_FIX_PROC +#include "fixincl.x" +#endif + +tSCC zNeedsArg[] = "fixincl error: `%s' needs %s argument (c_fix_arg[%d])\n"; + +typedef void t_fix_proc (const char *, const char *, tFixDesc *) ; +typedef struct { + const char* fix_name; + t_fix_proc* fix_proc; +} fix_entry_t; + +#define FIXUP_TABLE \ + _FT_( "char_macro_def", char_macro_def_fix ) \ + _FT_( "char_macro_use", char_macro_use_fix ) \ + _FT_( "format", format_fix ) \ + _FT_( "machine_name", machine_name_fix ) \ + _FT_( "wrap", wrap_fix ) \ + _FT_( "gnu_type", gnu_type_fix ) + + +#define FIX_PROC_HEAD( fix ) \ +static void fix (const char* filname ATTRIBUTE_UNUSED , \ + const char* text ATTRIBUTE_UNUSED , \ + tFixDesc* p_fixd ATTRIBUTE_UNUSED ) + +#ifdef NEED_PRINT_QUOTE +/* + * Skip over a quoted string. Single quote strings may + * contain multiple characters if the first character is + * a backslash. Especially a backslash followed by octal digits. + * We are not doing a correctness syntax check here. + */ +static char* +print_quote(char q, char* text ) +{ + fputc( q, stdout ); + + for (;;) + { + char ch = *(text++); + fputc( ch, stdout ); + + switch (ch) + { + case '\\': + if (*text == NUL) + goto quote_done; + + fputc( *(text++), stdout ); + break; + + case '"': + case '\'': + if (ch != q) + break; + /*FALLTHROUGH*/ + + case '\n': + case NUL: + goto quote_done; + } + } quote_done:; + + return text; +} +#endif /* NEED_PRINT_QUOTE */ + + +/* + * Emit the GNU standard type wrapped up in such a way that + * this thing can be encountered countless times during a compile + * and not cause even a warning. + */ +static const char* +emit_gnu_type (const char* text, regmatch_t* rm ) +{ + char z_TYPE[ 64 ]; + char z_type[ 64 ]; + + fwrite (text, rm[0].rm_so, 1, stdout); + + { + const char* ps = text + rm[1].rm_so; + const char* pe = text + rm[1].rm_eo; + char* pd = z_type; + char* pD = z_TYPE; + + while (ps < pe) + *(pD++) = TOUPPER( *(pd++) = *(ps++) ); + + *pD = *pd = NUL; + } + + /* + * Now print out the reformed typedef, + * with a C++ guard for WCHAR + */ + { + tSCC z_fmt[] = "\ +#if !defined(_GCC_%s_T)%s\n\ +#define _GCC_%s_T\n\ +typedef __%s_TYPE__ %s_t;\n\ +#endif\n"; + + const char *const pz_guard = (strcmp (z_type, "wchar") == 0) + ? " && ! defined(__cplusplus)" : ""; + + printf (z_fmt, z_TYPE, pz_guard, z_TYPE, z_TYPE, z_type); + } + + return text += rm[0].rm_eo; +} + + +/* + * Copy the `format' string to std out, replacing `%n' expressions + * with the matched text from a regular expression evaluation. + * Doubled '%' characters will be replaced with a single copy. + * '%' characters in other contexts and all other characters are + * copied out verbatim. + */ +static void +format_write (tCC* format, tCC* text, regmatch_t av[] ) +{ + int c; + + while ((c = (unsigned)*(format++)) != NUL) { + + if (c != '%') + { + putchar(c); + continue; + } + + c = (unsigned)*(format++); + + /* + * IF the character following a '%' is not a digit, + * THEN we will always emit a '%' and we may or may + * not emit the following character. We will end on + * a NUL and we will emit only one of a pair of '%'. + */ + if (! ISDIGIT ( c )) + { + putchar( '%' ); + switch (c) { + case NUL: + return; + case '%': + break; + default: + putchar(c); + } + } + + /* + * Emit the matched subexpression numbered 'c'. + * IF, of course, there was such a match... + */ + else { + regmatch_t* pRM = av + (c - (unsigned)'0'); + size_t len; + + if (pRM->rm_so < 0) + continue; + + len = pRM->rm_eo - pRM->rm_so; + if (len > 0) + fwrite(text + pRM->rm_so, len, 1, stdout); + } + } +} + + +/* + * Search for multiple copies of a regular expression. Each block + * of matched text is replaced with the format string, as described + * above in `format_write'. + */ +FIX_PROC_HEAD( format_fix ) +{ + tCC* pz_pat = p_fixd->patch_args[2]; + tCC* pz_fmt = p_fixd->patch_args[1]; + regex_t re; + regmatch_t rm[10]; + IGNORE_ARG(filname); + + /* + * We must have a format + */ + if (pz_fmt == (tCC*)NULL) + { + fprintf( stderr, zNeedsArg, p_fixd->fix_name, "replacement format", 0 ); + exit (EXIT_BROKEN); + } + + /* + * IF we don't have a search text, then go find the first + * regular expression among the tests. + */ + if (pz_pat == (tCC*)NULL) + { + tTestDesc* pTD = p_fixd->p_test_desc; + int ct = p_fixd->test_ct; + for (;;) + { + if (ct-- <= 0) + { + fprintf( stderr, zNeedsArg, p_fixd->fix_name, "search text", 1 ); + exit (EXIT_BROKEN); + } + + if (pTD->type == TT_EGREP) + { + pz_pat = pTD->pz_test_text; + break; + } + + pTD++; + } + } + + /* + * Replace every copy of the text we find + */ + compile_re (pz_pat, &re, 1, "format search-text", "format_fix" ); + while (xregexec (&re, text, 10, rm, 0) == 0) + { + fwrite( text, rm[0].rm_so, 1, stdout ); + format_write( pz_fmt, text, rm ); + text += rm[0].rm_eo; + } + + /* + * Dump out the rest of the file + */ + fputs (text, stdout); +} + + +/* Scan the input file for all occurrences of text like this: + + #define TIOCCONS _IO(T, 12) + + and change them to read like this: + + #define TIOCCONS _IO('T', 12) + + which is the required syntax per the C standard. (The definition of + _IO also has to be tweaked - see below.) 'IO' is actually whatever you + provide as the `c_fix_arg' argument. */ + +FIX_PROC_HEAD( char_macro_use_fix ) +{ + /* This regexp looks for a traditional-syntax #define (# in column 1) + of an object-like macro. */ + static const char pat[] = + "^#[ \t]*define[ \t]+[_A-Za-z][_A-Za-z0-9]*[ \t]+"; + static regex_t re; + + const char* str = p_fixd->patch_args[1]; + regmatch_t rm[1]; + const char *p, *limit; + size_t len; + IGNORE_ARG(filname); + + if (str == NULL) + { + fprintf (stderr, zNeedsArg, p_fixd->fix_name, "ioctl type", 0); + exit (EXIT_BROKEN); + } + + len = strlen (str); + compile_re (pat, &re, 1, "macro pattern", "char_macro_use_fix"); + + for (p = text; + xregexec (&re, p, 1, rm, 0) == 0; + p = limit + 1) + { + /* p + rm[0].rm_eo is the first character of the macro replacement. + Find the end of the macro replacement, and the STR we were + sent to look for within the replacement. */ + p += rm[0].rm_eo; + limit = p - 1; + do + { + limit = strchr (limit + 1, '\n'); + if (!limit) + goto done; + } + while (limit[-1] == '\\'); + + do + { + if (*p == str[0] && !strncmp (p+1, str+1, len-1)) + goto found; + } + while (++p < limit - len); + /* Hit end of line. */ + continue; + + found: + /* Found STR on this line. If the macro needs fixing, + the next few chars will be whitespace or uppercase, + then an open paren, then a single letter. */ + while ((ISSPACE (*p) || ISUPPER (*p)) && p < limit) p++; + if (*p++ != '(') + continue; + if (!ISALPHA (*p)) + continue; + if (ISIDNUM (p[1])) + continue; + + /* Splat all preceding text into the output buffer, + quote the character at p, then proceed. */ + fwrite (text, 1, p - text, stdout); + putchar ('\''); + putchar (*p); + putchar ('\''); + text = p + 1; + } + done: + fputs (text, stdout); +} + + +/* Scan the input file for all occurrences of text like this: + + #define xxxIOxx(x, y) (....'x'<<16....) + + and change them to read like this: + + #define xxxIOxx(x, y) (....x<<16....) + + which is the required syntax per the C standard. (The uses of _IO + also has to be tweaked - see above.) 'IO' is actually whatever + you provide as the `c_fix_arg' argument. */ +FIX_PROC_HEAD( char_macro_def_fix ) +{ + /* This regexp looks for any traditional-syntax #define (# in column 1). */ + static const char pat[] = + "^#[ \t]*define[ \t]+"; + static regex_t re; + + const char* str = p_fixd->patch_args[1]; + regmatch_t rm[1]; + const char *p, *limit; + char arg; + size_t len; + IGNORE_ARG(filname); + + if (str == NULL) + { + fprintf (stderr, zNeedsArg, p_fixd->fix_name, "ioctl type", 0); + exit (EXIT_BROKEN); + } + + len = strlen (str); + compile_re (pat, &re, 1, "macro pattern", "fix_char_macro_defines"); + + for (p = text; + xregexec (&re, p, 1, rm, 0) == 0; + p = limit + 1) + { + /* p + rm[0].rm_eo is the first character of the macro name. + Find the end of the macro replacement, and the STR we were + sent to look for within the name. */ + p += rm[0].rm_eo; + limit = p - 1; + do + { + limit = strchr (limit + 1, '\n'); + if (!limit) + goto done; + } + while (limit[-1] == '\\'); + + do + { + if (*p == str[0] && !strncmp (p+1, str+1, len-1)) + goto found; + p++; + } + while (ISIDNUM (*p)); + /* Hit end of macro name without finding the string. */ + continue; + + found: + /* Found STR in this macro name. If the macro needs fixing, + there may be a few uppercase letters, then there will be an + open paren with _no_ intervening whitespace, and then a + single letter. */ + while (ISUPPER (*p) && p < limit) p++; + if (*p++ != '(') + continue; + if (!ISALPHA (*p)) + continue; + if (ISIDNUM (p[1])) + continue; + + /* The character at P is the one to look for in the following + text. */ + arg = *p; + p += 2; + + while (p < limit) + { + if (p[-1] == '\'' && p[0] == arg && p[1] == '\'') + { + /* Remove the quotes from this use of ARG. */ + p--; + fwrite (text, 1, p - text, stdout); + putchar (arg); + p += 3; + text = p; + } + else + p++; + } + } + done: + fputs (text, stdout); +} + +/* Fix for machine name #ifdefs that are not in the namespace reserved + by the C standard. They won't be defined if compiling with -ansi, + and the headers will break. We go to some trouble to only change + #ifdefs where the macro is defined by GCC in non-ansi mode; this + minimizes the number of headers touched. */ + +#define SCRATCHSZ 64 /* hopefully long enough */ + +FIX_PROC_HEAD( machine_name_fix ) +{ + regmatch_t match[2]; + const char *line, *base, *limit, *p, *q; + regex_t *label_re, *name_re; + char scratch[SCRATCHSZ]; + size_t len; + IGNORE_ARG(filname); + IGNORE_ARG(p_fixd); + + if (!mn_get_regexps (&label_re, &name_re, "machine_name_fix")) + { + fputs( "The target machine has no needed machine name fixes\n", stderr ); + goto done; + } + + scratch[0] = '_'; + scratch[1] = '_'; + + for (base = text; + xregexec (label_re, base, 2, match, 0) == 0; + base = limit) + { + base += match[0].rm_eo; + /* We're looking at an #if or #ifdef. Scan forward for the + next non-escaped newline. */ + line = limit = base; + do + { + limit++; + limit = strchr (limit, '\n'); + if (!limit) + goto done; + } + while (limit[-1] == '\\'); + + /* If the 'name_pat' matches in between base and limit, we have + a bogon. It is not worth the hassle of excluding comments + because comments on #if/#ifdef lines are rare, and strings on + such lines are illegal. + + REG_NOTBOL means 'base' is not at the beginning of a line, which + shouldn't matter since the name_re has no ^ anchor, but let's + be accurate anyway. */ + + for (;;) + { + again: + if (base == limit) + break; + + if (xregexec (name_re, base, 1, match, REG_NOTBOL)) + goto done; /* No remaining match in this file */ + + /* Match; is it on the line? */ + if (match[0].rm_eo > limit - base) + break; + + p = base + match[0].rm_so; + base += match[0].rm_eo; + + /* One more test: if on the same line we have the same string + with the appropriate underscores, then leave it alone. + We want exactly two leading and trailing underscores. */ + if (*p == '_') + { + len = base - p - ((*base == '_') ? 2 : 1); + q = p + 1; + } + else + { + len = base - p - ((*base == '_') ? 1 : 0); + q = p; + } + if (len + 4 > SCRATCHSZ) + abort (); + memcpy (&scratch[2], q, len); + len += 2; + scratch[len++] = '_'; + scratch[len++] = '_'; + + for (q = line; q <= limit - len; q++) + if (*q == '_' && !strncmp (q, scratch, len)) + goto again; + + fwrite (text, 1, p - text, stdout); + fwrite (scratch, 1, len, stdout); + + text = base; + } + } + done: + fputs (text, stdout); +} + + +FIX_PROC_HEAD( wrap_fix ) +{ + tSCC z_no_wrap_pat[] = "^#if.*__need_"; + static regex_t no_wrapping_re; /* assume zeroed data */ + + tCC* pz_name = NULL; + + if (no_wrapping_re.allocated == 0) + compile_re( z_no_wrap_pat, &no_wrapping_re, 0, "no-wrap pattern", + "wrap-fix" ); + + /* + * IF we do *not* match the no-wrap re, then we have a double negative. + * A double negative means YES. + */ + if (xregexec( &no_wrapping_re, text, 0, NULL, 0 ) != 0) + { + /* + * A single file can get wrapped more than once by different fixes. + * A single fix can wrap multiple files. Therefore, guard with + * *both* the fix name and the file name. + */ + size_t ln = strlen( filname ) + strlen( p_fixd->fix_name ) + 14; + char* pz = XNEWVEC (char, ln); + pz_name = pz; + sprintf( pz, "FIXINC_WRAP_%s-%s", filname, p_fixd->fix_name ); + + for (pz += 12; 1; pz++) { + char ch = *pz; + + if (ch == NUL) + break; + + if (! ISALNUM( ch )) { + *pz = '_'; + } + else { + *pz = TOUPPER( ch ); + } + } + + printf( "#ifndef %s\n", pz_name ); + printf( "#define %s 1\n\n", pz_name ); + } + + if (p_fixd->patch_args[1] == (tCC*)NULL) + fputs( text, stdout ); + + else { + fputs( p_fixd->patch_args[1], stdout ); + fputs( text, stdout ); + if (p_fixd->patch_args[2] != (tCC*)NULL) + fputs( p_fixd->patch_args[2], stdout ); + } + + if (pz_name != NULL) { + printf( "\n#endif /* %s */\n", pz_name ); + free( (void*)pz_name ); + } +} + + +/* + * Search for multiple copies of a regular expression. Each block + * of matched text is replaced with the format string, as described + * above in `format_write'. + */ +FIX_PROC_HEAD( gnu_type_fix ) +{ + const char* pz_pat; + regex_t re; + regmatch_t rm[GTYPE_SE_CT+1]; + IGNORE_ARG(filname); + + { + tTestDesc* pTD = p_fixd->p_test_desc; + int ct = p_fixd->test_ct; + for (;;) + { + if (ct-- <= 0) + { + fprintf (stderr, zNeedsArg, p_fixd->fix_name, "search text", 1); + exit (EXIT_BROKEN); + } + + if (pTD->type == TT_EGREP) + { + pz_pat = pTD->pz_test_text; + break; + } + + pTD++; + } + } + + compile_re (pz_pat, &re, 1, "gnu type typedef", "gnu_type_fix"); + + while (xregexec (&re, text, GTYPE_SE_CT+1, rm, 0) == 0) + { + text = emit_gnu_type (text, rm); + } + + /* + * Dump out the rest of the file + */ + fputs (text, stdout); +} + + +/* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = + + test for fix selector + + THIS IS THE ONLY EXPORTED ROUTINE + +*/ +void +apply_fix( tFixDesc* p_fixd, tCC* filname ) +{ +#define _FT_(n,p) { n, p }, + static fix_entry_t fix_table[] = { FIXUP_TABLE { NULL, NULL }}; +#undef _FT_ +#define FIX_TABLE_CT (ARRAY_SIZE (fix_table)-1) + + tCC* fixname = p_fixd->patch_args[0]; + char* buf; + int ct = FIX_TABLE_CT; + fix_entry_t* pfe = fix_table; + + for (;;) + { + if (strcmp (pfe->fix_name, fixname) == 0) + break; + if (--ct <= 0) + { + fprintf (stderr, "fixincl error: the `%s' fix is unknown\n", + fixname ); + exit (EXIT_BROKEN); + } + pfe++; + } + + buf = load_file_data (stdin); + (*pfe->fix_proc)( filname, buf, p_fixd ); +} + +#ifdef SEPARATE_FIX_PROC +tSCC z_usage[] = +"USAGE: applyfix <fix-name> <file-to-fix> <file-source> <file-destination>\n"; +tSCC z_reopen[] = +"FS error %d (%s) reopening %s as std%s\n"; + +int +main( int argc, char** argv ) +{ + tFixDesc* pFix; + char* pz_tmptmp; + char* pz_tmp_base; + char* pz_tmp_dot; + + if (argc != 5) + { + usage_failure: + fputs (z_usage, stderr); + return EXIT_FAILURE; + } + + initialize_opts (); + + { + char* pz = argv[1]; + long idx; + + if (! ISDIGIT ( *pz )) + goto usage_failure; + + idx = strtol (pz, &pz, 10); + if ((*pz != NUL) || ((unsigned)idx >= FIX_COUNT)) + goto usage_failure; + pFix = fixDescList + idx; + } + + if (freopen (argv[3], "r", stdin) != stdin) + { + fprintf (stderr, z_reopen, errno, strerror( errno ), argv[3], "in"); + return EXIT_FAILURE; + } + + pz_tmptmp = XNEWVEC (char, strlen (argv[4]) + 5); + strcpy( pz_tmptmp, argv[4] ); + + /* Don't lose because "12345678" and "12345678X" map to the same + file under DOS restricted 8+3 file namespace. Note that DOS + doesn't allow more than one dot in the trunk of a file name. */ + pz_tmp_base = basename( pz_tmptmp ); + pz_tmp_dot = strchr( pz_tmp_base, '.' ); +#ifdef _PC_NAME_MAX + if (pathconf( pz_tmptmp, _PC_NAME_MAX ) <= 12 /* is this DOS or Windows9X? */ + && pz_tmp_dot != (char*)NULL) + strcpy (pz_tmp_dot+1, "X"); /* nuke the original extension */ + else +#endif /* _PC_NAME_MAX */ + strcat (pz_tmptmp, ".X"); + if (freopen (pz_tmptmp, "w", stdout) != stdout) + { + fprintf (stderr, z_reopen, errno, strerror( errno ), pz_tmptmp, "out"); + return EXIT_FAILURE; + } + + apply_fix (pFix, argv[1]); + fclose (stdout); + fclose (stdin); + unlink (argv[4]); + if (rename (pz_tmptmp, argv[4]) != 0) + { + fprintf (stderr, "error %d (%s) renaming %s to %s\n", errno, + strerror( errno ), pz_tmptmp, argv[4]); + return EXIT_FAILURE; + } + + return EXIT_SUCCESS; +} +#endif diff --git a/gcc-4.4.3/fixincludes/fixinc.in b/gcc-4.4.3/fixincludes/fixinc.in new file mode 100755 index 000000000..e73aed99a --- /dev/null +++ b/gcc-4.4.3/fixincludes/fixinc.in @@ -0,0 +1,498 @@ +#!/bin/sh +# +# Install modified versions of certain ANSI-incompatible system header +# files which are fixed to work correctly with ANSI C and placed in a +# directory that GCC will search. +# +# See README-fixinc for more information. +# +# fixincludes copyright (c) 1998, 1999, 2000, 2002, 2009 +# The Free Software Foundation, Inc. +# +# fixincludes is free software. +# +# You may redistribute it and/or modify it under the terms of the +# GNU General Public License, as published by the Free Software +# Foundation; either version 3, or (at your option) any later version. +# +# fixincludes is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with fixincludes; see the file COPYING3. If not see +# <http://www.gnu.org/licenses/>. +# +# # # # # # # # # # # # # # # # # # # # # + +# Usage: fixinc.sh output-dir input-dir +# +# Directory in which to store the results. +# Fail if no arg to specify a directory for the output. +if [ "x$1" = "x" ] +then + echo fixincludes: no output directory specified + exit 1 +fi + +LIB=${1} +shift + +# Make sure it exists. +if [ ! -d $LIB ]; then + mkdir $LIB || { + echo fixincludes: output dir '`'$LIB"' cannot be created" + exit 1 + } +else + ( cd $LIB && touch DONE && rm DONE ) || { + echo fixincludes: output dir '`'$LIB"' is an invalid directory" + exit 1 + } +fi + +if test -z "$VERBOSE" +then + VERBOSE=2 + export VERBOSE +else + case "$VERBOSE" in + [0-9] ) : ;; + * ) VERBOSE=3 ;; + esac +fi + +# Define what target system we're fixing. +# +if test -r ./Makefile; then + target_canonical="`sed -n -e 's,^target[ ]*=[ ]*\(.*\)$,\1,p' < Makefile`" +fi + +# If not from the Makefile, then try config.guess +# +if test -z "${target_canonical}" ; then + if test -x ./config.guess ; then + target_canonical="`config.guess`" ; fi + test -z "${target_canonical}" && target_canonical=unknown +fi +export target_canonical + +# # # # # # # # # # # # # # # # # # # # # +# +# Define PWDCMD as a command to use to get the working dir +# in the form that we want. +PWDCMD=${PWDCMD-pwd} + +case "`$PWDCMD`" in +//*) + # On an Apollo, discard everything before `/usr'. + PWDCMD="eval pwd | sed -e 's,.*/usr/,/usr/,'" + ;; +esac + +# Original directory. +ORIGDIR=`${PWDCMD}` +export ORIGDIR +FIXINCL=`${PWDCMD}`/fixincl +if [ ! -x $FIXINCL ] ; then + echo "Cannot find fixincl" >&2 + exit 1 +fi +export FIXINCL + +# Make LIB absolute only if needed to avoid problems with the amd. +case $LIB in +/*) + ;; +*) + cd $LIB; LIB=`${PWDCMD}` + ;; +esac + +if test $VERBOSE -gt 0 +then echo Fixing headers into ${LIB} for ${target_canonical} target ; fi + +# Determine whether this system has symbolic links. +if test -n "$DJDIR"; then + LINKS=false +elif ln -s X $LIB/ShouldNotExist 2>/dev/null; then + rm -f $LIB/ShouldNotExist + LINKS=true +elif ln -s X /tmp/ShouldNotExist 2>/dev/null; then + rm -f /tmp/ShouldNotExist + LINKS=true +else + LINKS=false +fi + +# # # # # # # # # # # # # # # # # # # # # +# +# In the file macro_list are listed all the predefined +# macros that are not in the C89 reserved namespace (the reserved +# namespace is all identifiers beginnning with two underscores or one +# underscore followed by a capital letter). A regular expression to find +# any of those macros in a header file is written to MN_NAME_PAT. +# +# Note dependency on ASCII. \012 = newline. +# tr ' ' '\n' is, alas, not portable. + +if test -s ${MACRO_LIST} +then + if test $VERBOSE -gt 0; then + echo "Forbidden identifiers: `tr '\012' ' ' < ${MACRO_LIST}`" + fi + MN_NAME_PAT="`sed 's/^/\\\\</; s/$/\\\\>/; $!s/$/|/' \ + < ${MACRO_LIST} | tr -d '\012'`" + export MN_NAME_PAT +else + if test $VERBOSE -gt 0 + then echo "No forbidden identifiers defined by this target" ; fi +fi + +# # # # # # # # # # # # # # # # # # # # # +# +# Search each input directory for broken header files. +# This loop ends near the end of the file. +# +if test $# -eq 0 +then + INPUTLIST="/usr/include" +else + INPUTLIST="$@" +fi + +for INPUT in ${INPUTLIST} ; do + +cd ${ORIGDIR} + +# Make sure a directory exists before changing into it, +# otherwise Solaris2 will fail-exit the script. +# +if [ ! -d ${INPUT} ]; then + continue +fi +cd ${INPUT} + +INPUT=`${PWDCMD}` +export INPUT + +# +# # # # # # # # # # # # # # # # # # # # # +# +if test $VERBOSE -gt 1 +then echo Finding directories and links to directories ; fi + +# Find all directories and all symlinks that point to directories. +# Put the list in $all_dirs. +# Each time we find a symlink, add it to newdirs +# so that we do another find within the dir the link points to. +# Note that $all_dirs may have duplicates in it; +# later parts of this file are supposed to ignore them. +dirs="." +levels=2 +all_dirs="" +search_dirs="" + +while [ -n "$dirs" ] && [ $levels -gt 0 ] +do + levels=`expr $levels - 1` + newdirs= + for d in $dirs + do + if test $VERBOSE -gt 1 + then echo " Searching $INPUT/$d" ; fi + + # Find all directories under $d, relative to $d, excluding $d itself. + # (The /. is needed after $d in case $d is a symlink.) + all_dirs="$all_dirs `find $d/. -type d -print | \ + sed -e '/\/\.$/d' -e 's@/./@/@g'`" + # Find all links to directories. + # Using `-exec test -d' in find fails on some systems, + # and trying to run test via sh fails on others, + # so this is the simplest alternative left. + # First find all the links, then test each one. + theselinks= + $LINKS && \ + theselinks=`find $d/. -type l -print | sed -e 's@/./@/@g'` + for d1 in $theselinks --dummy-- + do + # If the link points to a directory, + # add that dir to $newdirs + if [ -d $d1 ] + then + all_dirs="$all_dirs $d1" + if [ "`ls -ld $d1 | sed -n 's/.*-> //p'`" != "." ] + then + newdirs="$newdirs $d1" + search_dirs="$search_dirs $d1" + fi + fi + done + done + + dirs="$newdirs" +done + +# # # # # # # # # # # # # # # # # # # # # +# +dirs= +if test $VERBOSE -gt 2 +then echo "All directories (including links to directories):" + echo $all_dirs +fi + +for file in $all_dirs; do + rm -rf $LIB/$file + if [ ! -d $LIB/$file ] + then mkdir $LIB/$file + fi +done +mkdir $LIB/root + +# # # # # # # # # # # # # # # # # # # # # +# +# treetops gets an alternating list +# of old directories to copy +# and the new directories to copy to. +treetops=". ${LIB}" + +if $LINKS; then + if test $VERBOSE -gt 1 + then echo 'Making symbolic directory links' ; fi + cwd=`${PWDCMD}` + + for sym_link in $search_dirs; do + cd ${INPUT} + dest=`ls -ld ${sym_link} | sed -n 's/.*-> //p'` + + # In case $dest is relative, get to ${sym_link}'s dir first. + # + cd ./`echo ${sym_link} | sed 's;/[^/]*$;;'` + + # Check that the target directory exists. + # Redirections changed to avoid bug in sh on Ultrix. + # + (cd $dest) > /dev/null 2>&1 + if [ $? = 0 ]; then + cd $dest + + # full_dest_dir gets the dir that the link actually leads to. + # + full_dest_dir=`${PWDCMD}` + + # Canonicalize ${INPUT} now to minimize the time an + # automounter has to change the result of ${PWDCMD}. + # + cinput=`cd ${INPUT}; ${PWDCMD}` + + # If a link points to ., make a similar link to . + # + if [ ${full_dest_dir} = ${cinput} ]; then + if test $VERBOSE -gt 2 + then echo ${sym_link} '->' . ': Making self link' ; fi + rm -fr ${LIB}/${sym_link} > /dev/null 2>&1 + ln -s . ${LIB}/${sym_link} > /dev/null 2>&1 + + # If link leads back into ${INPUT}, + # make a similar link here. + # + elif expr ${full_dest_dir} : "${cinput}/.*" > /dev/null; then + # Y gets the actual target dir name, relative to ${INPUT}. + y=`echo ${full_dest_dir} | sed -n "s&${cinput}/&&p"` + # DOTS is the relative path from ${LIB}/${sym_link} back to ${LIB}. + dots=`echo "${sym_link}" | + sed -e 's@^./@@' -e 's@/./@/@g' -e 's@[^/][^/]*@..@g' -e 's@..$@@'` + if test $VERBOSE -gt 2 + then echo ${sym_link} '->' $dots$y ': Making local link' ; fi + rm -fr ${LIB}/${sym_link} > /dev/null 2>&1 + ln -s $dots$y ${LIB}/${sym_link} > /dev/null 2>&1 + + else + # If the link is to a dir $target outside ${INPUT}, + # repoint the link at ${INPUT}/root$target + # and process $target into ${INPUT}/root$target + # treat this directory as if it actually contained the files. + # + if test $VERBOSE -gt 2 + then echo ${sym_link} '->' root${full_dest_dir} ': Making rooted link' + fi + if [ -d $LIB/root${full_dest_dir} ] + then true + else + dirname=root${full_dest_dir}/ + dirmade=. + cd $LIB + while [ x$dirname != x ]; do + component=`echo $dirname | sed -e 's|/.*$||'` + mkdir $component >/dev/null 2>&1 + cd $component + dirmade=$dirmade/$component + dirname=`echo $dirname | sed -e 's|[^/]*/||'` + done + fi + + # Duplicate directory structure created in ${LIB}/${sym_link} in new + # root area. + # + for file2 in $all_dirs; do + case $file2 in + ${sym_link}/*) + dupdir=${LIB}/root${full_dest_dir}/`echo $file2 | + sed -n "s|^${sym_link}/||p"` + if test $VERBOSE -gt 2 + then echo "Duplicating ${sym_link}'s ${dupdir}" ; fi + if [ -d ${dupdir} ] + then true + else + mkdir ${dupdir} + fi + ;; + *) + ;; + esac + done + + # Get the path from ${LIB} to ${sym_link}, accounting for symlinks. + # + parent=`echo "${sym_link}" | sed -e 's@/[^/]*$@@'` + libabs=`cd ${LIB}; ${PWDCMD}` + file2=`cd ${LIB}; cd $parent; ${PWDCMD} | sed -e "s@^${libabs}@@"` + + # DOTS is the relative path from ${LIB}/${sym_link} back to ${LIB}. + # + dots=`echo "$file2" | sed -e 's@/[^/]*@../@g'` + rm -fr ${LIB}/${sym_link} > /dev/null 2>&1 + ln -s ${dots}root${full_dest_dir} ${LIB}/${sym_link} > /dev/null 2>&1 + treetops="$treetops ${sym_link} ${LIB}/root${full_dest_dir}" + fi + fi + done +fi + +# # # # # # # # # # # # # # # # # # # # # +# +required= +set x $treetops +shift +while [ $# != 0 ]; do + # $1 is an old directory to copy, and $2 is the new directory to copy to. + # + SRCDIR=`cd ${INPUT} ; cd $1 ; ${PWDCMD}` + export SRCDIR + + FIND_BASE=$1 + export FIND_BASE + shift + + DESTDIR=`cd $1;${PWDCMD}` + export DESTDIR + shift + + # The same dir can appear more than once in treetops. + # There's no need to scan it more than once. + # + if [ -f ${DESTDIR}/DONE ] + then continue ; fi + + touch ${DESTDIR}/DONE + if test $VERBOSE -gt 1 + then echo Fixing directory ${SRCDIR} into ${DESTDIR} ; fi + + # Check files which are symlinks as well as those which are files. + # + cd ${INPUT} + required="$required `if $LINKS; then + find ${FIND_BASE}/. -name '*.h' \( -type f -o -type l \) -print + else + find ${FIND_BASE}/. -name '*.h' -type f -print + fi | \ + sed -e 's;/\./;/;g' -e 's;//*;/;g' | \ + ${FIXINCL}`" +done + +## Make sure that any include files referenced using double quotes +## exist in the fixed directory. This comes last since otherwise +## we might end up deleting some of these files "because they don't +## need any change." +set x `echo $required` +shift +while [ $# != 0 ]; do + newreq= + while [ $# != 0 ]; do + # $1 is the directory to copy from, + # $2 is the unfixed file, + # $3 is the fixed file name. + # + cd ${INPUT} + cd $1 + if [ -f $2 ] ; then + if [ -r $2 ] && [ ! -r $3 ]; then + cp $2 $3 >/dev/null 2>&1 || echo "Can't copy $2" >&2 + chmod +w $3 2>/dev/null + chmod a+r $3 2>/dev/null + if test $VERBOSE -gt 2 + then echo Copied $2 ; fi + for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' $3 | + sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'` + do + dir=`echo $2 | sed -e s'|/[^/]*$||'` + dir2=`echo $3 | sed -e s'|/[^/]*$||'` + newreq="$newreq $1 $dir/$include $dir2/$include" + done + fi + fi + shift; shift; shift + done + set x $newreq + shift +done + +if test $VERBOSE -gt 2 +then echo 'Cleaning up DONE files.' ; fi +cd $LIB +# Look for files case-insensitively, for the benefit of +# DOS/Windows filesystems. +find . -name '[Dd][Oo][Nn][Ee]' -exec rm -f '{}' ';' + +if test $VERBOSE -gt 1 +then echo 'Cleaning up unneeded directories:' ; fi +cd $LIB +all_dirs=`find . -type d \! -name '.' -print | sort -r` +for file in $all_dirs; do + if rmdir $LIB/$file > /dev/null + then + test $VERBOSE -gt 3 && echo " removed $file" + fi +done 2> /dev/null + +# On systems which don't support symlinks, `find' may barf +# if called with "-type l" predicate. So only use that if +# we know we should look for symlinks. +if $LINKS; then + test $VERBOSE -gt 2 && echo "Removing unused symlinks" + + all_dirs=`find . -type l -print` + for file in $all_dirs + do + if test ! -d $file + then + rm -f $file + test $VERBOSE -gt 3 && echo " removed $file" + rmdir `dirname $file` > /dev/null && \ + test $VERBOSE -gt 3 && \ + echo " removed `dirname $file`" + fi + done 2> /dev/null +fi + +if test $VERBOSE -gt 0 +then echo fixincludes is done ; fi + +# # # # # # # # # # # # # # # # # # # # # +# +# End of for INPUT directories +# +done +# +# # # # # # # # # # # # # # # # # # # # # diff --git a/gcc-4.4.3/fixincludes/fixincl.c b/gcc-4.4.3/fixincludes/fixincl.c new file mode 100644 index 000000000..9f399abdd --- /dev/null +++ b/gcc-4.4.3/fixincludes/fixincl.c @@ -0,0 +1,1358 @@ +/* Install modified versions of certain ANSI-incompatible system header + files which are fixed to work correctly with ANSI C and placed in a + directory that GCC will search. + + Copyright (C) 1997, 1998, 1999, 2000, 2004, 2009 + Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3, or (at your option) +any later version. + +GCC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#include "fixlib.h" + +#include <fnmatch.h> +#include <sys/stat.h> +#ifndef SEPARATE_FIX_PROC +#include <sys/wait.h> +#endif + +#if defined( HAVE_MMAP_FILE ) +#include <sys/mman.h> +#define BAD_ADDR ((void*)-1) +#endif + +#ifndef SEPARATE_FIX_PROC +#include "server.h" +#endif + +/* The contents of this string are not very important. It is mostly + just used as part of the "I am alive and working" test. */ + +static const char program_id[] = "fixincl version 1.1"; + +/* This format will be used at the start of every generated file */ + +static const char z_std_preamble[] = +"/* DO NOT EDIT THIS FILE.\n\n\ + It has been auto-edited by fixincludes from:\n\n\ +\t\"%s/%s\"\n\n\ + This had to be done to correct non-standard usages in the\n\ + original, manufacturer supplied header file. */\n\n"; + +int find_base_len = 0; + +typedef enum { + VERB_SILENT = 0, + VERB_FIXES, + VERB_APPLIES, + VERB_PROGRESS, + VERB_TESTS, + VERB_EVERYTHING +} te_verbose; + +te_verbose verbose_level = VERB_PROGRESS; +int have_tty = 0; + +#define VLEVEL(l) ((unsigned int) verbose_level >= (unsigned int) l) +#define NOT_SILENT VLEVEL(VERB_FIXES) + +pid_t process_chain_head = (pid_t) -1; + +char* pz_curr_file; /* name of the current file under test/fix */ +char* pz_curr_data; /* original contents of that file */ +char* pz_temp_file; /* for DOS, a place to stash the temporary + fixed data between system(3) calls */ +t_bool curr_data_mapped; +int data_map_fd; +size_t data_map_size; +size_t ttl_data_size = 0; + +#ifdef DO_STATS +int process_ct = 0; +int apply_ct = 0; +int fixed_ct = 0; +int altered_ct = 0; +#endif /* DO_STATS */ + +const char incl_quote_pat[] = "^[ \t]*#[ \t]*include[ \t]*\"[^/]"; +tSCC z_fork_err[] = "Error %d (%s) starting filter process for %s\n"; +regex_t incl_quote_re; + +static void do_version (void) ATTRIBUTE_NORETURN; +char *load_file (const char *); +void run_compiles (void); +void initialize (int argc, char** argv); +void process (void); + +/* External Source Code */ + +#include "fixincl.x" + +/* * * * * * * * * * * * * * * * * * * + * + * MAIN ROUTINE + */ +extern int main (int, char **); +int +main (int argc, char** argv) +{ + char *file_name_buf; + + initialize ( argc, argv ); + + have_tty = isatty (fileno (stderr)); + + /* Before anything else, ensure we can allocate our file name buffer. */ + file_name_buf = load_file_data (stdin); + + /* Because of the way server shells work, you have to keep stdin, out + and err open so that the proper input file does not get closed + by accident */ + + freopen ("/dev/null", "r", stdin); + + if (file_name_buf == (char *) NULL) + { + fputs ("No file names listed for fixing\n", stderr); + exit (EXIT_FAILURE); + } + + for (;;) + { + char* pz_end; + + /* skip to start of name, past any "./" prefixes */ + + while (ISSPACE (*file_name_buf)) file_name_buf++; + while ((file_name_buf[0] == '.') && (file_name_buf[1] == '/')) + file_name_buf += 2; + + /* Check for end of list */ + + if (*file_name_buf == NUL) + break; + + /* Set global file name pointer and find end of name */ + + pz_curr_file = file_name_buf; + pz_end = strchr( pz_curr_file, '\n' ); + if (pz_end == (char*)NULL) + pz_end = file_name_buf = pz_curr_file + strlen (pz_curr_file); + else + file_name_buf = pz_end + 1; + + while ((pz_end > pz_curr_file) && ISSPACE( pz_end[-1])) pz_end--; + + /* IF no name is found (blank line) or comment marker, skip line */ + + if ((pz_curr_file == pz_end) || (*pz_curr_file == '#')) + continue; + *pz_end = NUL; + + process (); + } /* for (;;) */ + +#ifdef DO_STATS + if (VLEVEL( VERB_PROGRESS )) { + tSCC zFmt[] = + "\ +Processed %5d files containing %d bytes \n\ +Applying %5d fixes to %d files\n\ +Altering %5d of them\n"; + + fprintf (stderr, zFmt, process_ct, ttl_data_size, apply_ct, + fixed_ct, altered_ct); + } +#endif /* DO_STATS */ + +# ifdef SEPARATE_FIX_PROC + unlink( pz_temp_file ); +# endif + exit (EXIT_SUCCESS); +} + + +static void +do_version (void) +{ + static const char zFmt[] = "echo '%s'"; + char zBuf[ 1024 ]; + + /* The 'version' option is really used to test that: + 1. The program loads correctly (no missing libraries) + 2. that we can compile all the regular expressions. + 3. we can correctly run our server shell process + */ + run_compiles (); + sprintf (zBuf, zFmt, program_id); +#ifndef SEPARATE_FIX_PROC + puts (zBuf + 5); + exit (strcmp (run_shell (zBuf), program_id)); +#else + exit (system (zBuf)); +#endif +} + +/* * * * * * * * * * * * */ + +void +initialize ( int argc, char** argv ) +{ + xmalloc_set_program_name (argv[0]); + + switch (argc) + { + case 1: + break; + + case 2: + if (strcmp (argv[1], "-v") == 0) + do_version (); + if (freopen (argv[1], "r", stdin) == (FILE*)NULL) + { + fprintf (stderr, "Error %d (%s) reopening %s as stdin\n", + errno, xstrerror (errno), argv[1] ); + exit (EXIT_FAILURE); + } + break; + + default: + fputs ("fixincl ERROR: too many command line arguments\n", stderr); + exit (EXIT_FAILURE); + } + +#ifdef SIGCHLD + /* We *MUST* set SIGCHLD to SIG_DFL so that the wait4() call will + receive the signal. A different setting is inheritable */ + signal (SIGCHLD, SIG_DFL); +#endif + + initialize_opts (); + + if (ISDIGIT ( *pz_verbose )) + verbose_level = (te_verbose)atoi( pz_verbose ); + else + switch (*pz_verbose) { + case 's': + case 'S': + verbose_level = VERB_SILENT; break; + + case 'f': + case 'F': + verbose_level = VERB_FIXES; break; + + case 'a': + case 'A': + verbose_level = VERB_APPLIES; break; + + default: + case 'p': + case 'P': + verbose_level = VERB_PROGRESS; break; + + case 't': + case 'T': + verbose_level = VERB_TESTS; break; + + case 'e': + case 'E': + verbose_level = VERB_EVERYTHING; break; + } + if (verbose_level >= VERB_EVERYTHING) { + verbose_level = VERB_EVERYTHING; + fputs ("fixinc verbosity: EVERYTHING\n", stderr); + } + while ((pz_find_base[0] == '.') && (pz_find_base[1] == '/')) + pz_find_base += 2; + if ((pz_find_base[0] != '.') || (pz_find_base[1] != NUL)) + find_base_len = strlen( pz_find_base ); + + /* Compile all the regular expressions now. + That way, it is done only once for the whole run. + */ + run_compiles (); + +# ifdef SEPARATE_FIX_PROC + /* NULL as the first argument to `tempnam' causes it to DTRT + wrt the temporary directory where the file will be created. */ + pz_temp_file = tempnam( NULL, "fxinc" ); +# endif + + signal (SIGQUIT, SIG_IGN); + signal (SIGIOT, SIG_IGN); + signal (SIGPIPE, SIG_IGN); + signal (SIGALRM, SIG_IGN); + signal (SIGTERM, SIG_IGN); +} + +/* * * * * * * * * * * * * + + load_file loads all the contents of a file into malloc-ed memory. + Its argument is the name of the file to read in; the returned + result is the NUL terminated contents of the file. The file + is presumed to be an ASCII text file containing no NULs. */ +char * +load_file ( const char* fname ) +{ + struct stat stbf; + char* res; + + if (stat (fname, &stbf) != 0) + { + if (NOT_SILENT) + fprintf (stderr, "error %d (%s) stat-ing %s\n", + errno, xstrerror (errno), fname ); + return (char *) NULL; + } + if (stbf.st_size == 0) + return (char*)NULL; + + /* Make the data map size one larger than the file size for documentation + purposes. Truth is that there will be a following NUL character if + the file size is not a multiple of the page size. If it is a multiple, + then this adjustment sometimes fails anyway. */ + data_map_size = stbf.st_size+1; + data_map_fd = open (fname, O_RDONLY); + ttl_data_size += data_map_size-1; + + if (data_map_fd < 0) + { + if (NOT_SILENT) + fprintf (stderr, "error %d (%s) opening %s for read\n", + errno, xstrerror (errno), fname); + return (char*)NULL; + } + +#ifdef HAVE_MMAP_FILE + curr_data_mapped = BOOL_TRUE; + + /* IF the file size is a multiple of the page size, + THEN sometimes you will seg fault trying to access a trailing byte */ + if ((stbf.st_size & (getpagesize()-1)) == 0) + res = (char*)BAD_ADDR; + else + res = (char*)mmap ((void*)NULL, data_map_size, PROT_READ, + MAP_PRIVATE, data_map_fd, 0); + if (res == (char*)BAD_ADDR) +#endif + { + FILE* fp = fdopen (data_map_fd, "r"); + curr_data_mapped = BOOL_FALSE; + res = load_file_data (fp); + fclose (fp); + } + + return res; +} + +static int +machine_matches( tFixDesc* p_fixd ) +{ + char const ** papz_machs = p_fixd->papz_machs; + int have_match = BOOL_FALSE; + + for (;;) + { + char const * pz_mpat = *(papz_machs++); + if (pz_mpat == NULL) + break; + if (fnmatch(pz_mpat, pz_machine, 0) == 0) + { + have_match = BOOL_TRUE; + break; + } + } + + /* Check for sense inversion then set the "skip test" flag, if needed */ + if (p_fixd->fd_flags & FD_MACH_IFNOT) + have_match = ! have_match; + + if (! have_match) + p_fixd->fd_flags |= FD_SKIP_TEST; + + return have_match; +} + +/* * * * * * * * * * * * * + * + * run_compiles run all the regexp compiles for all the fixes once. + */ +void +run_compiles (void) +{ + tFixDesc *p_fixd = fixDescList; + int fix_ct = FIX_COUNT; + regex_t *p_re = XCNEWVEC (regex_t, REGEX_COUNT); + + /* Make sure compile_re does not stumble across invalid data */ + + memset (&incl_quote_re, '\0', sizeof (regex_t)); + + compile_re (incl_quote_pat, &incl_quote_re, 1, + "quoted include", "run_compiles"); + + /* Allow machine name tests to be ignored (testing, mainly) */ + + if (pz_machine && ((*pz_machine == '\0') || (*pz_machine == '*'))) + pz_machine = (char*)NULL; + + /* FOR every fixup, ... */ + do + { + tTestDesc *p_test = p_fixd->p_test_desc; + int test_ct = p_fixd->test_ct; + + /* IF the machine type pointer is not NULL (we are not in test mode) + AND this test is for or not done on particular machines + THEN ... */ + + if ( (pz_machine != NULL) + && (p_fixd->papz_machs != (const char**) NULL) + && ! machine_matches (p_fixd) ) + continue; + + /* FOR every test for the fixup, ... */ + + while (--test_ct >= 0) + { + switch (p_test->type) + { + case TT_EGREP: + case TT_NEGREP: + p_test->p_test_regex = p_re++; + compile_re (p_test->pz_test_text, p_test->p_test_regex, 0, + "select test", p_fixd->fix_name); + default: break; + } + p_test++; + } + } + while (p_fixd++, --fix_ct > 0); +} + + +/* * * * * * * * * * * * * + + create_file Create the output modified file. + Input: the name of the file to create + Returns: a file pointer to the new, open file */ + +#if defined(S_IRUSR) && defined(S_IWUSR) && \ + defined(S_IRGRP) && defined(S_IROTH) + +# define S_IRALL (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH) +#else +# define S_IRALL 0644 +#endif + +#if defined(S_IRWXU) && defined(S_IRGRP) && defined(S_IXGRP) && \ + defined(S_IROTH) && defined(S_IXOTH) + +# define S_DIRALL (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) +#else +# define S_DIRALL 0755 +#endif + + +static FILE * +create_file (void) +{ + int fd; + FILE *pf; + char fname[MAXPATHLEN]; + + sprintf (fname, "%s/%s", pz_dest_dir, pz_curr_file + find_base_len); + + fd = open (fname, O_WRONLY | O_CREAT | O_TRUNC, S_IRALL); + + /* We may need to create the directories needed... */ + if ((fd < 0) && (errno == ENOENT)) + { + char *pz_dir = strchr (fname + 1, '/'); + struct stat stbf; + + while (pz_dir != (char *) NULL) + { + *pz_dir = NUL; + if (stat (fname, &stbf) < 0) + { +#ifdef _WIN32 + mkdir (fname); +#else + mkdir (fname, S_IFDIR | S_DIRALL); +#endif + } + + *pz_dir = '/'; + pz_dir = strchr (pz_dir + 1, '/'); + } + + /* Now, lets try the open again... */ + fd = open (fname, O_WRONLY | O_CREAT | O_TRUNC, S_IRALL); + } + if (fd < 0) + { + fprintf (stderr, "Error %d (%s) creating %s\n", + errno, xstrerror (errno), fname); + exit (EXIT_FAILURE); + } + if (NOT_SILENT) + fprintf (stderr, "Fixed: %s\n", pz_curr_file); + pf = fdopen (fd, "w"); + + /* + * IF pz_machine is NULL, then we are in some sort of test mode. + * Do not insert the current directory name. Use a constant string. + */ + fprintf (pf, z_std_preamble, + (pz_machine == NULL) + ? "fixinc/tests/inc" + : pz_input_dir, + pz_curr_file); + + return pf; +} + + +/* * * * * * * * * * * * * + + test_test make sure a shell-style test expression passes. + Input: a pointer to the descriptor of the test to run and + the name of the file that we might want to fix + Result: APPLY_FIX or SKIP_FIX, depending on the result of the + shell script we run. */ +#ifndef SEPARATE_FIX_PROC +static int +test_test (tTestDesc* p_test, char* pz_test_file) +{ + tSCC cmd_fmt[] = +"file=%s\n\ +if ( test %s ) > /dev/null 2>&1\n\ +then echo TRUE\n\ +else echo FALSE\n\ +fi"; + + char *pz_res; + int res; + + static char cmd_buf[4096]; + + sprintf (cmd_buf, cmd_fmt, pz_test_file, p_test->pz_test_text); + pz_res = run_shell (cmd_buf); + + switch (*pz_res) { + case 'T': + res = APPLY_FIX; + break; + + case 'F': + res = SKIP_FIX; + break; + + default: + fprintf (stderr, "Script yielded bogus result of `%s':\n%s\n\n", + pz_res, cmd_buf ); + res = SKIP_FIX; + } + + free ((void *) pz_res); + return res; +} +#else +/* + * IF we are in MS-DOS land, then whatever shell-type test is required + * will, by definition, fail + */ +#define test_test(t,tf) SKIP_FIX +#endif + +/* * * * * * * * * * * * * + + egrep_test make sure an egrep expression is found in the file text. + Input: a pointer to the descriptor of the test to run and + the pointer to the contents of the file under suspicion + Result: APPLY_FIX if the pattern is found, SKIP_FIX otherwise + + The caller may choose to reverse meaning if the sense of the test + is inverted. */ + +static int +egrep_test (char* pz_data, tTestDesc* p_test) +{ +#ifdef DEBUG + if (p_test->p_test_regex == 0) + fprintf (stderr, "fixincl ERROR RE not compiled: `%s'\n", + p_test->pz_test_text); +#endif + if (xregexec (p_test->p_test_regex, pz_data, 0, 0, 0) == 0) + return APPLY_FIX; + return SKIP_FIX; +} + + +/* * * * * * * * * * * * * + + quoted_file_exists Make sure that a file exists before we emit + the file name. If we emit the name, our invoking shell will try + to copy a non-existing file into the destination directory. */ + +static int +quoted_file_exists (const char* pz_src_path, + const char* pz_file_path, + const char* pz_file) +{ + char z[ MAXPATHLEN ]; + char* pz; + sprintf (z, "%s/%s/", pz_src_path, pz_file_path); + pz = z + strlen ( z ); + + for (;;) { + char ch = *pz_file++; + if (! ISGRAPH( ch )) + return 0; + if (ch == '"') + break; + *pz++ = ch; + } + *pz = '\0'; + { + struct stat s; + if (stat (z, &s) != 0) + return 0; + return S_ISREG( s.st_mode ); + } +} + + +/* * * * * * * * * * * * * + * + extract_quoted_files + + The syntax, `#include "file.h"' specifies that the compiler is to + search the local directory of the current file before the include + list. Consequently, if we have modified a header and stored it in + another directory, any files that are included by that modified + file in that fashion must also be copied into this new directory. + This routine finds those flavors of #include and for each one found + emits a triple of: + + 1. source directory of the original file + 2. the relative path file name of the #includ-ed file + 3. the full destination path for this file + + Input: the text of the file, the file name and a pointer to the + match list where the match information was stored. + Result: internally nothing. The results are written to stdout + for interpretation by the invoking shell */ + + +static void +extract_quoted_files (char* pz_data, + const char* pz_fixed_file, + regmatch_t* p_re_match) +{ + char *pz_dir_end = strrchr (pz_fixed_file, '/'); + char *pz_incl_quot = pz_data; + + if (VLEVEL( VERB_APPLIES )) + fprintf (stderr, "Quoted includes in %s\n", pz_fixed_file); + + /* Set "pz_fixed_file" to point to the containing subdirectory of the source + If there is none, then it is in our current directory, ".". */ + + if (pz_dir_end == (char *) NULL) + pz_fixed_file = "."; + else + *pz_dir_end = '\0'; + + for (;;) + { + pz_incl_quot += p_re_match->rm_so; + + /* Skip forward to the included file name */ + while (*pz_incl_quot != '"') + pz_incl_quot++; + + if (quoted_file_exists (pz_src_dir, pz_fixed_file, pz_incl_quot)) + { + /* Print the source directory and the subdirectory + of the file in question. */ + printf ("%s %s/", pz_src_dir, pz_fixed_file); + pz_dir_end = pz_incl_quot; + + /* Append to the directory the relative path of the desired file */ + while (*pz_incl_quot != '"') + putc (*pz_incl_quot++, stdout); + + /* Now print the destination directory appended with the + relative path of the desired file */ + printf (" %s/%s/", pz_dest_dir, pz_fixed_file); + while (*pz_dir_end != '"') + putc (*pz_dir_end++, stdout); + + /* End of entry */ + putc ('\n', stdout); + } + + /* Find the next entry */ + if (xregexec (&incl_quote_re, pz_incl_quot, 1, p_re_match, 0) != 0) + break; + } +} + + +/* * * * * * * * * * * * * + + Somebody wrote a *_fix subroutine that we must call. + */ +#ifndef SEPARATE_FIX_PROC +static int +internal_fix (int read_fd, tFixDesc* p_fixd) +{ + int fd[2]; + + if (pipe( fd ) != 0) + { + fprintf (stderr, "Error %d on pipe(2) call\n", errno ); + exit (EXIT_FAILURE); + } + + for (;;) + { + pid_t childid = fork(); + + switch (childid) + { + case -1: + break; + + case 0: + close (fd[0]); + goto do_child_task; + + default: + /* + * Parent process + */ + close (read_fd); + close (fd[1]); + return fd[0]; + } + + /* + * Parent in error + */ + fprintf (stderr, z_fork_err, errno, xstrerror (errno), + p_fixd->fix_name); + { + static int failCt = 0; + if ((errno != EAGAIN) || (++failCt > 10)) + exit (EXIT_FAILURE); + sleep (1); + } + } do_child_task:; + + /* + * Close our current stdin and stdout + */ + close (STDIN_FILENO); + close (STDOUT_FILENO); + UNLOAD_DATA(); + + /* + * Make the fd passed in the stdin, and the write end of + * the new pipe become the stdout. + */ + dup2 (fd[1], STDOUT_FILENO); + dup2 (read_fd, STDIN_FILENO); + + apply_fix (p_fixd, pz_curr_file); + exit (0); +} +#endif /* !SEPARATE_FIX_PROC */ + + +#ifdef SEPARATE_FIX_PROC +static void +fix_with_system (tFixDesc* p_fixd, + tCC* pz_fix_file, + tCC* pz_file_source, + tCC* pz_temp_file) +{ + char* pz_cmd; + char* pz_scan; + size_t argsize; + + if (p_fixd->fd_flags & FD_SUBROUTINE) + { + static const char z_applyfix_prog[] = + "/../fixincludes/applyfix" EXE_EXT; + + struct stat buf; + argsize = 32 + + strlen (pz_orig_dir) + + sizeof (z_applyfix_prog) + + strlen (pz_fix_file) + + strlen (pz_file_source) + + strlen (pz_temp_file); + + /* Allocate something sure to be big enough for our purposes */ + pz_cmd = XNEWVEC (char, argsize); + strcpy (pz_cmd, pz_orig_dir); + pz_scan = pz_cmd + strlen (pz_orig_dir); + + strcpy (pz_scan, z_applyfix_prog); + + /* IF we can't find the "applyfix" executable file at the first guess, + try one level higher up */ + if (stat (pz_cmd, &buf) == -1) + { + strcpy (pz_scan, "/.."); + strcpy (pz_scan+3, z_applyfix_prog); + } + + pz_scan += strlen (pz_scan); + + /* + * Now add the fix number and file names that may be needed + */ + sprintf (pz_scan, " %ld '%s' '%s'", (long) (p_fixd - fixDescList), + pz_fix_file, pz_file_source, pz_temp_file); + } + else /* NOT an "internal" fix: */ + { + size_t parg_size; +#ifdef __MSDOS__ + /* Don't use the "src > dstX; rm -f dst; mv -f dstX dst" trick: + dst is a temporary file anyway, so we know there's no other + file by that name; and DOS's system(3) doesn't mind to + clobber existing file in redirection. Besides, with DOS 8+3 + limited file namespace, we can easily lose if dst already has + an extension that is 3 or more characters long. + + I do not think the 8+3 issue is relevant because all the files + we operate on are named "*.h", making 8+2 adequate. Anyway, + the following bizarre use of 'cat' only works on DOS boxes. + It causes the file to be dropped into a temporary file for + 'cat' to read (pipes do not work on DOS). */ + tSCC z_cmd_fmt[] = " '%s' | cat > '%s'"; +#else + /* Don't use positional formatting arguments because some lame-o + implementations cannot cope :-(. */ + tSCC z_cmd_fmt[] = " %s > %sX ; rm -f %s; mv -f %sX %s"; +#endif + tCC** ppArgs = p_fixd->patch_args; + + argsize = sizeof( z_cmd_fmt ) + strlen( pz_temp_file ) + + strlen( pz_file_source ); + parg_size = argsize; + + + /* + * Compute the size of the command line. Add lotsa extra space + * because some of the args to sed use lotsa single quotes. + * (This requires three extra bytes per quote. Here we allow + * for up to 8 single quotes for each argument, including the + * command name "sed" itself. Nobody will *ever* need more. :) + */ + for (;;) + { + tCC* p_arg = *(ppArgs++); + if (p_arg == NULL) + break; + argsize += 24 + strlen( p_arg ); + } + + /* Estimated buffer size we will need. */ + pz_scan = pz_cmd = XNEWVEC (char, argsize); + /* How much of it do we allot to the program name and its + arguments. */ + parg_size = argsize - parg_size; + + ppArgs = p_fixd->patch_args; + + /* + * Copy the program name, unquoted + */ + { + tCC* pArg = *(ppArgs++); + for (;;) + { + char ch = *(pArg++); + if (ch == NUL) + break; + *(pz_scan++) = ch; + } + } + + /* + * Copy the program arguments, quoted + */ + for (;;) + { + tCC* pArg = *(ppArgs++); + char* pz_scan_save; + if (pArg == NULL) + break; + *(pz_scan++) = ' '; + pz_scan = make_raw_shell_str( pz_scan_save = pz_scan, pArg, + parg_size - (pz_scan - pz_cmd) ); + /* + * Make sure we don't overflow the buffer due to sloppy + * size estimation. + */ + while (pz_scan == (char*)NULL) + { + size_t already_filled = pz_scan_save - pz_cmd; + pz_cmd = xrealloc (pz_cmd, argsize += 100); + pz_scan_save = pz_scan = pz_cmd + already_filled; + parg_size += 100; + pz_scan = make_raw_shell_str( pz_scan, pArg, + parg_size - (pz_scan - pz_cmd) ); + } + } + + /* + * add the file machinations. + */ +#ifdef __MSDOS__ + sprintf (pz_scan, z_cmd_fmt, pz_file_source, pz_temp_file ); +#else + sprintf (pz_scan, z_cmd_fmt, pz_file_source, pz_temp_file, + pz_temp_file, pz_temp_file, pz_temp_file); +#endif + } + system( pz_cmd ); + free( (void*)pz_cmd ); +} + +/* * * * * * * * * * * * * + + This loop should only cycle for 1/2 of one loop. + "chain_open" starts a process that uses "read_fd" as + its stdin and returns the new fd this process will use + for stdout. */ + +#else /* is *NOT* SEPARATE_FIX_PROC */ +static int +start_fixer (int read_fd, tFixDesc* p_fixd, char* pz_fix_file) +{ + tCC* pz_cmd_save; + char* pz_cmd; + + if ((p_fixd->fd_flags & FD_SUBROUTINE) != 0) + return internal_fix (read_fd, p_fixd); + + if ((p_fixd->fd_flags & FD_SHELL_SCRIPT) == 0) + { + pz_cmd = NULL; + pz_cmd_save = NULL; + } + else + { + tSCC z_cmd_fmt[] = "file='%s'\n%s"; + pz_cmd = XNEWVEC (char, strlen (p_fixd->patch_args[2]) + + sizeof (z_cmd_fmt) + strlen (pz_fix_file)); + sprintf (pz_cmd, z_cmd_fmt, pz_fix_file, p_fixd->patch_args[2]); + pz_cmd_save = p_fixd->patch_args[2]; + p_fixd->patch_args[2] = pz_cmd; + } + + /* Start a fix process, handing off the previous read fd for its + stdin and getting a new fd that reads from the fix process' stdout. + We normally will not loop, but we will up to 10 times if we keep + getting "EAGAIN" errors. + + */ + for (;;) + { + static int failCt = 0; + int fd; + + fd = chain_open (read_fd, + (tCC **) p_fixd->patch_args, + (process_chain_head == -1) + ? &process_chain_head : (pid_t *) NULL); + + if (fd != -1) + { + read_fd = fd; + break; + } + + fprintf (stderr, z_fork_err, errno, xstrerror (errno), + p_fixd->fix_name); + + if ((errno != EAGAIN) || (++failCt > 10)) + exit (EXIT_FAILURE); + sleep (1); + } + + /* IF we allocated a shell script command, + THEN free it and restore the command format to the fix description */ + if (pz_cmd != (char*)NULL) + { + free ((void*)pz_cmd); + p_fixd->patch_args[2] = pz_cmd_save; + } + + return read_fd; +} +#endif + + +/* * * * * * * * * * * * * + * + * Process the potential fixes for a particular include file. + * Input: the original text of the file and the file's name + * Result: none. A new file may or may not be created. + */ +static t_bool +fix_applies (tFixDesc* p_fixd) +{ + const char *pz_fname = pz_curr_file; + const char *pz_scan = p_fixd->file_list; + int test_ct; + tTestDesc *p_test; + +#ifdef SEPARATE_FIX_PROC + /* + * There is only one fix that uses a shell script as of this writing. + * I hope to nuke it anyway, it does not apply to DOS and it would + * be painful to implement. Therefore, no "shell" fixes for DOS. + */ + if (p_fixd->fd_flags & (FD_SHELL_SCRIPT | FD_SKIP_TEST)) + return BOOL_FALSE; +#else + if (p_fixd->fd_flags & FD_SKIP_TEST) + return BOOL_FALSE; +#endif + + /* IF there is a file name restriction, + THEN ensure the current file name matches one in the pattern */ + + if (pz_scan != (char *) NULL) + { + while ((pz_fname[0] == '.') && (pz_fname[1] == '/')) + pz_fname += 2; + + for (;;) + { + if (fnmatch (pz_scan, pz_fname, 0) == 0) + break; + pz_scan += strlen (pz_scan) + 1; + if (*pz_scan == NUL) + return BOOL_FALSE; + } + } + + /* FOR each test, see if it fails. + IF it does fail, then we go on to the next test */ + + for (p_test = p_fixd->p_test_desc, test_ct = p_fixd->test_ct; + test_ct-- > 0; + p_test++) + { + switch (p_test->type) + { + case TT_TEST: + if (test_test (p_test, pz_curr_file) != APPLY_FIX) { +#ifdef DEBUG + if (VLEVEL( VERB_EVERYTHING )) + fprintf (stderr, z_failed, "TEST", p_fixd->fix_name, + pz_fname, p_fixd->test_ct - test_ct); +#endif + return BOOL_FALSE; + } + break; + + case TT_EGREP: + if (egrep_test (pz_curr_data, p_test) != APPLY_FIX) { +#ifdef DEBUG + if (VLEVEL( VERB_EVERYTHING )) + fprintf (stderr, z_failed, "EGREP", p_fixd->fix_name, + pz_fname, p_fixd->test_ct - test_ct); +#endif + return BOOL_FALSE; + } + break; + + case TT_NEGREP: + if (egrep_test (pz_curr_data, p_test) == APPLY_FIX) { +#ifdef DEBUG + if (VLEVEL( VERB_EVERYTHING )) + fprintf (stderr, z_failed, "NEGREP", p_fixd->fix_name, + pz_fname, p_fixd->test_ct - test_ct); +#endif + /* Negated sense */ + return BOOL_FALSE; + } + break; + + case TT_FUNCTION: + if (run_test (p_test->pz_test_text, pz_curr_file, pz_curr_data) + != APPLY_FIX) { +#ifdef DEBUG + if (VLEVEL( VERB_EVERYTHING )) + fprintf (stderr, z_failed, "FTEST", p_fixd->fix_name, + pz_fname, p_fixd->test_ct - test_ct); +#endif + return BOOL_FALSE; + } + break; + } + } + + return BOOL_TRUE; +} + + +/* * * * * * * * * * * * * + + Write out a replacement file */ + +static void +write_replacement (tFixDesc* p_fixd) +{ + const char* pz_text = p_fixd->patch_args[0]; + + if ((pz_text == (char*)NULL) || (*pz_text == NUL)) + return; + + { + FILE* out_fp = create_file (); + size_t sz = strlen (pz_text); + fwrite (pz_text, sz, 1, out_fp); + if (pz_text[ sz-1 ] != '\n') + fputc ('\n', out_fp); + fclose (out_fp); + } +} + + +/* * * * * * * * * * * * * + + We have work to do. Read back in the output + of the filtering chain. Compare each byte as we read it with + the contents of the original file. As soon as we find any + difference, we will create the output file, write out all + the matched text and then copy any remaining data from the + output of the filter chain. + */ +static void +test_for_changes (int read_fd) +{ + FILE *in_fp = fdopen (read_fd, "r"); + FILE *out_fp = (FILE *) NULL; + unsigned char *pz_cmp = (unsigned char*)pz_curr_data; + +#ifdef DO_STATS + fixed_ct++; +#endif + for (;;) + { + int ch; + + ch = getc (in_fp); + if (ch == EOF) + break; + ch &= 0xFF; /* all bytes are 8 bits */ + + /* IF we are emitting the output + THEN emit this character, too. + */ + if (out_fp != (FILE *) NULL) + putc (ch, out_fp); + + /* ELSE if this character does not match the original, + THEN now is the time to start the output. + */ + else if (ch != *pz_cmp) + { + out_fp = create_file (); + +#ifdef DO_STATS + altered_ct++; +#endif + /* IF there are matched data, write the matched part now. */ + if ((char*)pz_cmp != pz_curr_data) + fwrite (pz_curr_data, (size_t)((char*)pz_cmp - pz_curr_data), + 1, out_fp); + + /* Emit the current unmatching character */ + putc (ch, out_fp); + } + else + /* ELSE the character matches. Advance the compare ptr */ + pz_cmp++; + } + + /* IF we created the output file, ... */ + if (out_fp != (FILE *) NULL) + { + regmatch_t match; + + /* Close the file and see if we have to worry about + `#include "file.h"' constructs. */ + fclose (out_fp); + if (xregexec (&incl_quote_re, pz_curr_data, 1, &match, 0) == 0) + extract_quoted_files (pz_curr_data, pz_curr_file, &match); + } + + fclose (in_fp); + close (read_fd); /* probably redundant, but I'm paranoid */ +} + + +/* * * * * * * * * * * * * + + Process the potential fixes for a particular include file. + Input: the original text of the file and the file's name + Result: none. A new file may or may not be created. */ + +void +process (void) +{ + tFixDesc *p_fixd = fixDescList; + int todo_ct = FIX_COUNT; + int read_fd = -1; +# ifndef SEPARATE_FIX_PROC + int num_children = 0; +# else /* is SEPARATE_FIX_PROC */ + char* pz_file_source = pz_curr_file; +# endif + + if (access (pz_curr_file, R_OK) != 0) + { + int erno = errno; + fprintf (stderr, "Cannot access %s from %s\n\terror %d (%s)\n", + pz_curr_file, getcwd ((char *) NULL, MAXPATHLEN), + erno, xstrerror (erno)); + return; + } + + pz_curr_data = load_file (pz_curr_file); + if (pz_curr_data == (char *) NULL) + return; + +#ifdef DO_STATS + process_ct++; +#endif + if (VLEVEL( VERB_PROGRESS ) && have_tty) + fprintf (stderr, "%6lu %-50s \r", + (unsigned long) data_map_size, pz_curr_file); + +# ifndef SEPARATE_FIX_PROC + process_chain_head = NOPROCESS; + + /* For every fix in our fix list, ... */ + for (; todo_ct > 0; p_fixd++, todo_ct--) + { + if (! fix_applies (p_fixd)) + continue; + + if (VLEVEL( VERB_APPLIES )) + fprintf (stderr, "Applying %-24s to %s\n", + p_fixd->fix_name, pz_curr_file); + + if (p_fixd->fd_flags & FD_REPLACEMENT) + { + write_replacement (p_fixd); + UNLOAD_DATA(); + return; + } + + /* IF we do not have a read pointer, + THEN this is the first fix for the current file. + Open the source file. That will be used as stdin for + the first fix. Any subsequent fixes will use the + stdout descriptor of the previous fix for its stdin. */ + + if (read_fd == -1) + { + read_fd = open (pz_curr_file, O_RDONLY); + if (read_fd < 0) + { + fprintf (stderr, "Error %d (%s) opening %s\n", errno, + xstrerror (errno), pz_curr_file); + exit (EXIT_FAILURE); + } + + /* Ensure we do not get duplicate output */ + + fflush (stdout); + } + + read_fd = start_fixer (read_fd, p_fixd, pz_curr_file); + num_children++; + } + + /* IF we have a read-back file descriptor, + THEN check for changes and write output if changed. */ + + if (read_fd >= 0) + { + test_for_changes (read_fd); +#ifdef DO_STATS + apply_ct += num_children; +#endif + /* Wait for child processes created by chain_open() + to avoid leaving zombies. */ + do { + wait ((int *) NULL); + } while (--num_children > 0); + } + +# else /* is SEPARATE_FIX_PROC */ + + for (; todo_ct > 0; p_fixd++, todo_ct--) + { + if (! fix_applies (p_fixd)) + continue; + + if (VLEVEL( VERB_APPLIES )) + fprintf (stderr, "Applying %-24s to %s\n", + p_fixd->fix_name, pz_curr_file); + + if (p_fixd->fd_flags & FD_REPLACEMENT) + { + write_replacement (p_fixd); + UNLOAD_DATA(); + return; + } + fix_with_system (p_fixd, pz_curr_file, pz_file_source, pz_temp_file); + pz_file_source = pz_temp_file; + } + + read_fd = open (pz_temp_file, O_RDONLY); + if (read_fd < 0) + { + if (errno != ENOENT) + fprintf (stderr, "error %d (%s) opening output (%s) for read\n", + errno, xstrerror (errno), pz_temp_file); + } + else + { + test_for_changes (read_fd); + /* Unlinking a file while it is still open is a Bad Idea on + DOS/Windows. */ + close (read_fd); + unlink (pz_temp_file); + } + +# endif + UNLOAD_DATA(); +} diff --git a/gcc-4.4.3/fixincludes/fixincl.tpl b/gcc-4.4.3/fixincludes/fixincl.tpl new file mode 100644 index 000000000..c8d4b2ce1 --- /dev/null +++ b/gcc-4.4.3/fixincludes/fixincl.tpl @@ -0,0 +1,237 @@ +[= AutoGen5 Template -*- Mode: C -*- +x=fixincl.x =] +[= (dne " * " "/* ")=] + */ +/* DO NOT SVN-MERGE THIS FILE, EITHER [= + (define re-ct 0) (define max-mach 0) (define ct 0) + (define HACK "") (define Hack "") (define tmp "") + (shell "date") =] + * + * You must regenerate it. Use the ./genfixes script. + * + * + * This is part of the fixincl program used to install modified versions of + * certain ANSI-incompatible system header files which are fixed to work + * correctly with ANSI C and placed in a directory that GNU C will search. + * + * This file contains [=(count "fix")=] fixup descriptions. + * + * See README for more information. + * + * inclhack copyright (c) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, + * 2006, 2007, 2008 + * The Free Software Foundation, Inc. + * + * inclhack is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * inclhack is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + */ +#ifndef SED_PROGRAM +#define SED_PROGRAM "/usr/bin/sed" +#endif +static char const sed_cmd_z[] = SED_PROGRAM; +[= + +FOR fix =] +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of [= + (set! Hack (string-capitalize! (get "hackname"))) + (set! HACK (string-upcase! (get "hackname"))) + (if (and (not (exist? "test_text")) (not (exist? "replace"))) + (error (sprintf "include fix '%s' has no test text" Hack )) ) + (. Hack)=] fix + */[= + +# Note that this is not just for debugging purposes, but in case + some C fix wishes to refer to the regexps it is paired with. + See commentary at the top of fixfixes.c. +=] +tSCC z[=(. Hack)=]Name[] = + "[=hackname=]"; + +/* + * File name selection pattern + */[= + + IF (exist? "files")=] +tSCC z[=(. Hack)=]List[] = + "[= (join "\\0" (stack "files")) =]\0";[= + + ELSE =] +#define z[=(. Hack)=]List (char*)NULL[= + ENDIF (exist? "files") =] +/* + * Machine/OS name selection pattern + */[= + + IF (exist? "mach")=] +tSCC* apz[=(. Hack)=]Machs[] = {[= + (set! ct 0) =][= + + FOR mach =] + [= + (set! tmp (get "mach")) + (set! ct (+ ct (string-length tmp) 5)) + (kr-string tmp)=],[= + ENDFOR=] + (const char*)NULL };[= + + (if (> ct max-mach) (set! max-mach ct)) =][= + + ELSE =] +#define apz[=(. Hack)=]Machs (const char**)NULL[= + ENDIF (exist? "mach") =][= + + IF (exist? "select")=] + +/* + * content selection pattern - do fix if pattern found + */[= + FOR select =] +tSCC z[=(. Hack)=]Select[=(for-index)=][] = + [=(kr-string (get "select"))=];[= + ENDFOR select =][= + ENDIF =][= + + IF (exist? "bypass")=] + +/* + * content bypass pattern - skip fix if pattern found + */[= + FOR bypass =] +tSCC z[=(. Hack)=]Bypass[=(for-index)=][] = + [=(kr-string (get "bypass"))=];[= + ENDFOR bypass =][= + ENDIF =][= + + IF (exist? "test")=] + +/* + * perform the 'test' shell command - do fix on success + */[= + FOR test =] +tSCC z[=(. Hack)=]Test[=(for-index)=][] = + [=(kr-string (get "test"))=];[= + ENDFOR =][= + ENDIF =][= + + IF (exist? "c_test")=] + +/* + * perform the C function call test + */[= + FOR c_test =] +tSCC z[=(. Hack)=]FTst[=(for-index)=][] = "[=c_test=]";[= + ENDFOR c_test =][= + ENDIF =][= + + IF (set! ct (+ (count "select") (count "bypass") + (count "test") (count "c_test"))) + + (= ct 0) +=] +#define [=(. HACK)=]_TEST_CT 0 +#define a[=(. Hack)=]Tests (tTestDesc*)NULL[= + ELSE =] + +#define [=(. HACK)=]_TEST_CT [=(. ct)=][= + (set! re-ct (+ re-ct (count "select") (count "bypass"))) =] +static tTestDesc a[=(. Hack)=]Tests[] = {[= + + FOR test =] + { TT_TEST, z[=(. Hack)=]Test[=(for-index)=], 0 /* unused */ },[= + ENDFOR test =][= + + FOR c_test =] + { TT_FUNCTION, z[=(. Hack)=]FTst[=(for-index)=], 0 /* unused */ },[= + ENDFOR c_test =][= + + FOR bypass =] + { TT_NEGREP, z[=(. Hack)=]Bypass[=(for-index)=], (regex_t*)NULL },[= + ENDFOR bypass =][= + + FOR select =] + { TT_EGREP, z[=(. Hack)=]Select[=(for-index)=], (regex_t*)NULL },[= + ENDFOR select =] };[= + ENDIF =] + +/* + * Fix Command Arguments for [=(. Hack)=] + */ +static const char* apz[=(. Hack)=]Patch[] = {[= + IF (exist? "sed")=] sed_cmd_z[= + FOR sed=], + "-e", [=(kr-string (get "sed"))=][= + ENDFOR sed=],[= + + ELIF (exist? "shell")=] "sh", "-c", + [=(kr-string (get "shell"))=],[= + + ELIF (exist? "c_fix")=] + [=(kr-string (get "c_fix"))=],[= + + FOR c_fix_arg =] + [=(kr-string (get "c_fix_arg"))=],[= + ENDFOR c_fix_arg =][= + + ELIF (> (len "replace") 0) =] +[=(kr-string (get "replace"))=],[= + + ENDIF=] + (char*)NULL }; +[=ENDFOR fix=] + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * List of all fixes + */[= +# as of this writing, 49 bytes are needed by the case statement format. + We also must allow for the size of the target machine machine name. + This allows for a 79 byte machine name. Better be enough. +=] +#define REGEX_COUNT [= (. re-ct) =] +#define MACH_LIST_SIZE_LIMIT [= (+ 128 max-mach) =] +#define FIX_COUNT [= (count "fix") =] + +/* + * Enumerate the fixes[= # in a way that minimizes diffs :-) =] + */ +typedef enum {[= + +FOR fix "," =] + [=(string-upcase! (get "hackname"))=]_FIXIDX[= +ENDFOR + +=] +} t_fixinc_idx; + +tFixDesc fixDescList[ FIX_COUNT ] = {[= + + +FOR fix ",\n" =][= + (set! Hack (string-capitalize! (get "hackname"))) + (set! HACK (string-upcase! (get "hackname"))) =] + { z[=(. Hack)=]Name, z[=(. Hack)=]List, + apz[=(. Hack)=]Machs, + [=(. HACK)=]_TEST_CT, [= + IF (exist? "not_machine") =]FD_MACH_IFNOT[= + ELSE =]FD_MACH_ONLY[= + ENDIF =][= + IF (exist? "shell") =] | FD_SHELL_SCRIPT[= + ELIF (exist? "c_fix") =] | FD_SUBROUTINE[= + ELIF (exist? "replace") =] | FD_REPLACEMENT[= + ENDIF =], + a[=(. Hack)=]Tests, apz[=(. Hack)=]Patch, 0 }[= + +ENDFOR =] +}; diff --git a/gcc-4.4.3/fixincludes/fixincl.x b/gcc-4.4.3/fixincludes/fixincl.x new file mode 100644 index 000000000..e2e28db88 --- /dev/null +++ b/gcc-4.4.3/fixincludes/fixincl.x @@ -0,0 +1,8401 @@ +/* -*- buffer-read-only: t -*- vi: set ro: + * + * DO NOT EDIT THIS FILE (fixincl.x) + * + * It has been AutoGen-ed Saturday February 28, 2009 at 10:11:41 AM PST + * From the definitions inclhack.def + * and the template file fixincl + */ +/* DO NOT SVN-MERGE THIS FILE, EITHER Sat Feb 28 10:11:41 PST 2009 + * + * You must regenerate it. Use the ./genfixes script. + * + * + * This is part of the fixincl program used to install modified versions of + * certain ANSI-incompatible system header files which are fixed to work + * correctly with ANSI C and placed in a directory that GNU C will search. + * + * This file contains 180 fixup descriptions. + * + * See README for more information. + * + * inclhack copyright (c) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, + * 2006, 2007, 2008 + * The Free Software Foundation, Inc. + * + * inclhack is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * inclhack is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + */ +#ifndef SED_PROGRAM +#define SED_PROGRAM "/usr/bin/sed" +#endif +static char const sed_cmd_z[] = SED_PROGRAM; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aab_Aix_Stdio fix + */ +tSCC zAab_Aix_StdioName[] = + "AAB_aix_stdio"; + +/* + * File name selection pattern + */ +tSCC zAab_Aix_StdioList[] = + "stdio.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAab_Aix_StdioMachs[] = { + "*-*-aix*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAab_Aix_StdioSelect0[] = + "define fopen fopen64"; + +#define AAB_AIX_STDIO_TEST_CT 1 +static tTestDesc aAab_Aix_StdioTests[] = { + { TT_EGREP, zAab_Aix_StdioSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aab_Aix_Stdio + */ +static const char* apzAab_Aix_StdioPatch[] = { + "wrap", + "", + "\n\ +#if defined __GNUG__ && defined _LARGE_FILES && defined __cplusplus\n\ +#define __need__aix_stdio_h_fix\n\ +#ifdef __need__aix_stdio_h_fix\n\ +#undef fseeko\n\ +#undef ftello\n\ +#undef fgetpos\n\ +#undef fsetpos\n\ +#undef fopen\n\ +#undef freopen\n\ +/* Alias the symbols using asm */\n\ +extern \"C\" {\n\ +extern int fgetpos(FILE *, fpos64_t *) __asm__(\"fgetpos64\");\n\ +extern FILE *fopen(const char *, const char *) __asm__(\"fopen64\");\n\ +extern FILE *freopen(const char *, const char *, FILE *) __asm__(\"freopen64\");\n\ +extern int fseeko(FILE *, off64_t, int) __asm__(\"fseeko64\");\n\ +extern int fsetpos(FILE *, const fpos64_t *) __asm__(\"fsetpos64\");\n\ +extern off64_t ftello(FILE *) __asm__(\"ftello64\");\n\ +}\n\ +#endif\n\ +#endif\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aab_Darwin7_9_Long_Double_Funcs fix + */ +tSCC zAab_Darwin7_9_Long_Double_FuncsName[] = + "AAB_darwin7_9_long_double_funcs"; + +/* + * File name selection pattern + */ +tSCC zAab_Darwin7_9_Long_Double_FuncsList[] = + "architecture/ppc/math.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAab_Darwin7_9_Long_Double_FuncsMachs[] = { + "*-*-darwin7.9*", + (const char*)NULL }; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zAab_Darwin7_9_Long_Double_FuncsBypass0[] = + "powl"; + +#define AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT 1 +static tTestDesc aAab_Darwin7_9_Long_Double_FuncsTests[] = { + { TT_NEGREP, zAab_Darwin7_9_Long_Double_FuncsBypass0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs + */ +static const char* apzAab_Darwin7_9_Long_Double_FuncsPatch[] = { +"/* This file prototypes the long double functions available on Mac OS\n\ + 10.3.9. */\n\ +#ifndef __MATH__\n\ +# undef __APPLE_CC__\n\ +# define __APPLE_CC__ 1345\n\ +# include_next <architecture/ppc/math.h>\n\ +# undef __APPLE_CC__\n\ +# define __APPLE_CC__ 1\n\ +# ifndef __LIBMLDBL_COMPAT\n\ +# ifdef __LONG_DOUBLE_128__\n\ +# define __LIBMLDBL_COMPAT(sym) __asm(\"_\" #sym \"$LDBL128\")\n\ +# else\n\ +# define __LIBMLDBL_COMPAT(sym)\n\ +# endif /* __LONG_DOUBLE_128__ */\n\ +# endif /* __LIBMLDBL_COMPAT */\n\ +# ifdef __cplusplus\n\ + extern \"C\" {\n\ +# endif\n\ + extern long double acosl( long double ) __LIBMLDBL_COMPAT(acosl);\n\ + extern long double asinl( long double ) __LIBMLDBL_COMPAT(asinl);\n\ + extern long double atanl( long double ) __LIBMLDBL_COMPAT(atanl);\n\ + extern long double atan2l( long double, long double ) __LIBMLDBL_COMPAT(atan2l);\n\ + extern long double cosl( long double ) __LIBMLDBL_COMPAT(cosl);\n\ + extern long double sinl( long double ) __LIBMLDBL_COMPAT(sinl);\n\ + extern long double tanl( long double ) __LIBMLDBL_COMPAT(tanl);\n\ + extern long double acoshl( long double ) __LIBMLDBL_COMPAT(acoshl);\n\ + extern long double asinhl( long double ) __LIBMLDBL_COMPAT(asinhl);\n\ + extern long double atanhl( long double ) __LIBMLDBL_COMPAT(atanhl);\n\ + extern long double coshl( long double ) __LIBMLDBL_COMPAT(coshl);\n\ + extern long double sinhl( long double ) __LIBMLDBL_COMPAT(sinhl);\n\ + extern long double tanhl( long double ) __LIBMLDBL_COMPAT(tanhl);\n\ + extern long double expl( long double ) __LIBMLDBL_COMPAT(expl);\n\ + extern long double exp2l( long double ) __LIBMLDBL_COMPAT(exp2l);\n\ + extern long double expm1l( long double ) __LIBMLDBL_COMPAT(expm1l);\n\ + extern long double logl( long double ) __LIBMLDBL_COMPAT(logl);\n\ + extern long double log10l( long double ) __LIBMLDBL_COMPAT(log10l);\n\ + extern long double log2l( long double ) __LIBMLDBL_COMPAT(log2l);\n\ + extern long double log1pl( long double ) __LIBMLDBL_COMPAT(log1pl);\n\ + extern long double logbl( long double ) __LIBMLDBL_COMPAT(logbl);\n\ + extern long double modfl( long double, long double * ) __LIBMLDBL_COMPAT(modfl);\n\ + extern long double ldexpl( long double, int ) __LIBMLDBL_COMPAT(ldexpl);\n\ + extern long double frexpl( long double, int * ) __LIBMLDBL_COMPAT(frexpl);\n\ + extern int ilogbl( long double ) __LIBMLDBL_COMPAT(ilogbl);\n\ + extern long double scalbnl( long double, int ) __LIBMLDBL_COMPAT(scalbnl);\n\ + extern long double scalblnl( long double, long int ) __LIBMLDBL_COMPAT(scalblnl);\n\ + extern long double fabsl( long double ) __LIBMLDBL_COMPAT(fabsl);\n\ + extern long double cbrtl( long double ) __LIBMLDBL_COMPAT(cbrtl);\n\ + extern long double hypotl( long double, long double ) __LIBMLDBL_COMPAT(hypotl);\n\ + extern long double powl( long double, long double ) __LIBMLDBL_COMPAT(powl);\n\ + extern long double sqrtl( long double ) __LIBMLDBL_COMPAT(sqrtl);\n\ + extern long double erfl( long double ) __LIBMLDBL_COMPAT(erfl);\n\ + extern long double erfcl( long double ) __LIBMLDBL_COMPAT(erfcl);\n\ + extern long double lgammal( long double ) __LIBMLDBL_COMPAT(lgammal);\n\ + extern long double tgammal( long double ) __LIBMLDBL_COMPAT(tgammal);\n\ + extern long double ceill( long double ) __LIBMLDBL_COMPAT(ceill);\n\ + extern long double floorl( long double ) __LIBMLDBL_COMPAT(floorl);\n\ + extern long double nearbyintl( long double ) __LIBMLDBL_COMPAT(nearbyintl);\n\ + extern long double rintl( long double ) __LIBMLDBL_COMPAT(rintl);\n\ + extern long int lrintl( long double ) __LIBMLDBL_COMPAT(lrintl);\n\ + extern long long int llrintl( long double ) __LIBMLDBL_COMPAT(llrintl);\n\ + extern long double roundl( long double ) __LIBMLDBL_COMPAT(roundl);\n\ + extern long int lroundl( long double ) __LIBMLDBL_COMPAT(lroundl);\n\ + extern long long int llroundl( long double ) __LIBMLDBL_COMPAT(llroundl);\n\ + extern long double truncl( long double ) __LIBMLDBL_COMPAT(truncl);\n\ + extern long double fmodl( long double, long double) __LIBMLDBL_COMPAT(fmodl);\n\ + extern long double remainderl( long double, long double ) __LIBMLDBL_COMPAT(remainderl);\n\ + extern long double remquol( long double, long double, int * ) __LIBMLDBL_COMPAT(remquol);\n\ + extern long double copysignl( long double, long double ) __LIBMLDBL_COMPAT(copysignl);\n\ + extern long double nanl( const char * ) __LIBMLDBL_COMPAT(nanl);\n\ + extern long double nextafterl( long double, long double ) __LIBMLDBL_COMPAT(nextafterl);\n\ + extern long double nexttowardl( long double, long double ) __LIBMLDBL_COMPAT(nexttowardl);\n\ + extern long double fdiml( long double, long double ) __LIBMLDBL_COMPAT(fdiml);\n\ + extern long double fmaxl( long double, long double ) __LIBMLDBL_COMPAT(fmaxl);\n\ + extern long double fminl( long double, long double ) __LIBMLDBL_COMPAT(fminl);\n\ + extern long double fmal( long double, long double, long double ) __LIBMLDBL_COMPAT(fmal);\n\ +# ifdef __cplusplus\n\ + }\n\ +# endif\n\ +#endif /* __MATH__ */", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aab_Darwin7_9_Long_Double_Funcs_2 fix + */ +tSCC zAab_Darwin7_9_Long_Double_Funcs_2Name[] = + "AAB_darwin7_9_long_double_funcs_2"; + +/* + * File name selection pattern + */ +tSCC zAab_Darwin7_9_Long_Double_Funcs_2List[] = + "math.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAab_Darwin7_9_Long_Double_Funcs_2Machs[] = { + "*-*-darwin7.9*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAab_Darwin7_9_Long_Double_Funcs_2Select0[] = + "#include[ \\t]+\\\""; + +#define AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_TEST_CT 1 +static tTestDesc aAab_Darwin7_9_Long_Double_Funcs_2Tests[] = { + { TT_EGREP, zAab_Darwin7_9_Long_Double_Funcs_2Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs_2 + */ +static const char* apzAab_Darwin7_9_Long_Double_Funcs_2Patch[] = { + "format", + "%1<%2.h>", + "([ \\t]*#[ \\t]*include[ \\t]+)\"([a-z0-9/]+)\\.h\"", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aab_Fd_Zero_Asm_Posix_Types_H fix + */ +tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] = + "AAB_fd_zero_asm_posix_types_h"; + +/* + * File name selection pattern + */ +tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] = + "asm/posix_types.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = { + "i[34567]86-*-linux*", + (const char*)NULL }; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] = + "} while"; +tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass1[] = + "x86_64"; +tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass2[] = + "posix_types_64"; + +#define AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT 3 +static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = { + { TT_NEGREP, zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL }, + { TT_NEGREP, zAab_Fd_Zero_Asm_Posix_Types_HBypass1, (regex_t*)NULL }, + { TT_NEGREP, zAab_Fd_Zero_Asm_Posix_Types_HBypass2, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H + */ +static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = { +"/* This file fixes a bug in the __FD_ZERO macro\n\ + for older versions of the Linux kernel. */\n\ +#ifndef _POSIX_TYPES_H_WRAPPER\n\ +#include <features.h>\n\ + #include_next <asm/posix_types.h>\n\n\ +#if defined(__FD_ZERO) && !defined(__GLIBC__)\n\ +#undef __FD_ZERO\n\ +#define __FD_ZERO(fdsetp) \\\n\ + do { \\\n\ + int __d0, __d1; \\\n\ +__asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\ +: \"=&c\" (__d0), \"=&D\" (__d1) \\\n\ +: \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\ + \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\ + } while (0)\n\ +#endif\n\n\ +#define _POSIX_TYPES_H_WRAPPER\n\ +#endif /* _POSIX_TYPES_H_WRAPPER */", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aab_Fd_Zero_Gnu_Types_H fix + */ +tSCC zAab_Fd_Zero_Gnu_Types_HName[] = + "AAB_fd_zero_gnu_types_h"; + +/* + * File name selection pattern + */ +tSCC zAab_Fd_Zero_Gnu_Types_HList[] = + "gnu/types.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = { + "i[34567]86-*-linux*", + (const char*)NULL }; +#define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT 0 +#define aAab_Fd_Zero_Gnu_Types_HTests (tTestDesc*)NULL + +/* + * Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H + */ +static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = { +"/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\ +#ifndef _TYPES_H_WRAPPER\n\ +#include <features.h>\n\ +#include_next <gnu/types.h>\n\n\ +#if defined(__FD_ZERO) && !defined(__GLIBC__)\n\ +#undef __FD_ZERO\n\ +# define __FD_ZERO(fdsetp) \\\n\ + do { \\\n\ + int __d0, __d1; \\\n\ + __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\ + : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\ + : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\ + \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\ + } while (0)\n\ +#endif\n\n\ +#define _TYPES_H_WRAPPER\n\ +#endif /* _TYPES_H_WRAPPER */", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aab_Fd_Zero_Selectbits_H fix + */ +tSCC zAab_Fd_Zero_Selectbits_HName[] = + "AAB_fd_zero_selectbits_h"; + +/* + * File name selection pattern + */ +tSCC zAab_Fd_Zero_Selectbits_HList[] = + "selectbits.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = { + "i[34567]86-*-linux*", + (const char*)NULL }; +#define AAB_FD_ZERO_SELECTBITS_H_TEST_CT 0 +#define aAab_Fd_Zero_Selectbits_HTests (tTestDesc*)NULL + +/* + * Fix Command Arguments for Aab_Fd_Zero_Selectbits_H + */ +static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = { +"/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\ +#ifndef _SELECTBITS_H_WRAPPER\n\ + #include <features.h>\n\ + #include_next <selectbits.h>\n\n\ + #if defined(__FD_ZERO) && defined(__GLIBC__) \\\\\n\ + && defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\\\n\ + && __GLIBC_MINOR__ == 0\n\ + #undef __FD_ZERO\n\ + #define __FD_ZERO(fdsetp) \\\\\n\ + do { \\\\\n\ + int __d0, __d1; \\\\\n\ + __asm__ __volatile__ (\"cld; rep; stosl\" \\\\\n\ + : \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\ + : \"a\" (0), \"0\" (sizeof (__fd_set) \\\\\n\ + / sizeof (__fd_mask)), \\\\\n\ + \"1\" ((__fd_mask *) (fdsetp)) \\\\\n\ + : \"memory\"); \\\\\n\ + } while (0)\n\ + #endif\n\n\ + #define _SELECTBITS_H_WRAPPER\n\ +#endif /* _SELECTBITS_H_WRAPPER */", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aab_Solaris_Sys_Varargs_H fix + */ +tSCC zAab_Solaris_Sys_Varargs_HName[] = + "AAB_solaris_sys_varargs_h"; + +/* + * File name selection pattern + */ +tSCC zAab_Solaris_Sys_Varargs_HList[] = + "sys/varargs.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAab_Solaris_Sys_Varargs_HMachs[] = { + "*-*-solaris*", + (const char*)NULL }; +#define AAB_SOLARIS_SYS_VARARGS_H_TEST_CT 0 +#define aAab_Solaris_Sys_Varargs_HTests (tTestDesc*)NULL + +/* + * Fix Command Arguments for Aab_Solaris_Sys_Varargs_H + */ +static const char* apzAab_Solaris_Sys_Varargs_HPatch[] = { +"#ifdef __STDC__\n\ + #include <stdarg.h>\n\ +#else\n\ + #include <varargs.h>\n\ +#endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aab_Sun_Memcpy fix + */ +tSCC zAab_Sun_MemcpyName[] = + "AAB_sun_memcpy"; + +/* + * File name selection pattern + */ +tSCC zAab_Sun_MemcpyList[] = + "memory.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzAab_Sun_MemcpyMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAab_Sun_MemcpySelect0[] = + "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/"; + +#define AAB_SUN_MEMCPY_TEST_CT 1 +static tTestDesc aAab_Sun_MemcpyTests[] = { + { TT_EGREP, zAab_Sun_MemcpySelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aab_Sun_Memcpy + */ +static const char* apzAab_Sun_MemcpyPatch[] = { +"/* This file was generated by fixincludes */\n\ +#ifndef __memory_h__\n\ + #define __memory_h__\n\n\ + #ifdef __STDC__\n\ + extern void *memccpy();\n\ + extern void *memchr();\n\ + extern void *memcpy();\n\ + extern void *memset();\n\ + #else\n\ + extern char *memccpy();\n\ + extern char *memchr();\n\ + extern char *memcpy();\n\ + extern char *memset();\n\ + #endif /* __STDC__ */\n\n\ + extern int memcmp();\n\n\ +#endif /* __memory_h__ */", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aix_Pthread fix + */ +tSCC zAix_PthreadName[] = + "aix_pthread"; + +/* + * File name selection pattern + */ +tSCC zAix_PthreadList[] = + "pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzAix_PthreadMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAix_PthreadSelect0[] = + "(#define [A-Za-z_0-9]+)(\\\\\n\ +[^A-Za-z_0-9 \t\n\ +(])"; + +#define AIX_PTHREAD_TEST_CT 1 +static tTestDesc aAix_PthreadTests[] = { + { TT_EGREP, zAix_PthreadSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aix_Pthread + */ +static const char* apzAix_PthreadPatch[] = { + "format", + "%1 %2", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aix_Sysmachine fix + */ +tSCC zAix_SysmachineName[] = + "aix_sysmachine"; + +/* + * File name selection pattern + */ +tSCC zAix_SysmachineList[] = + "sys/machine.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzAix_SysmachineMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAix_SysmachineSelect0[] = + "\\\\ +\n"; + +#define AIX_SYSMACHINE_TEST_CT 1 +static tTestDesc aAix_SysmachineTests[] = { + { TT_EGREP, zAix_SysmachineSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aix_Sysmachine + */ +static const char* apzAix_SysmachinePatch[] = { + "format", + "\\\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aix_Syswait fix + */ +tSCC zAix_SyswaitName[] = + "aix_syswait"; + +/* + * File name selection pattern + */ +tSCC zAix_SyswaitList[] = + "sys/wait.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzAix_SyswaitMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAix_SyswaitSelect0[] = + "^extern pid_t wait3\\(\\);\n"; +tSCC zAix_SyswaitSelect1[] = + "bos325,"; + +#define AIX_SYSWAIT_TEST_CT 2 +static tTestDesc aAix_SyswaitTests[] = { + { TT_EGREP, zAix_SyswaitSelect0, (regex_t*)NULL }, + { TT_EGREP, zAix_SyswaitSelect1, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aix_Syswait + */ +static const char* apzAix_SyswaitPatch[] = { + "format", + "struct rusage;\n\ +%0", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aix_Syswait_2 fix + */ +tSCC zAix_Syswait_2Name[] = + "aix_syswait_2"; + +/* + * File name selection pattern + */ +tSCC zAix_Syswait_2List[] = + "sys/wait.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzAix_Syswait_2Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAix_Syswait_2Select0[] = + "\\? (\\(\\(\\(\\(unsigned[^)]*\\)[^)]*\\) >> [^)]*\\) \\& 0xff\\) : -1)"; + +#define AIX_SYSWAIT_2_TEST_CT 1 +static tTestDesc aAix_Syswait_2Tests[] = { + { TT_EGREP, zAix_Syswait_2Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aix_Syswait_2 + */ +static const char* apzAix_Syswait_2Patch[] = { + "format", + "? (int)%1", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aix_Volatile fix + */ +tSCC zAix_VolatileName[] = + "aix_volatile"; + +/* + * File name selection pattern + */ +tSCC zAix_VolatileList[] = + "sys/signal.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzAix_VolatileMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAix_VolatileSelect0[] = + "typedef volatile int sig_atomic_t"; + +#define AIX_VOLATILE_TEST_CT 1 +static tTestDesc aAix_VolatileTests[] = { + { TT_EGREP, zAix_VolatileSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aix_Volatile + */ +static const char* apzAix_VolatilePatch[] = { + "format", + "typedef int sig_atomic_t", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Alpha___Assert fix + */ +tSCC zAlpha___AssertName[] = + "alpha___assert"; + +/* + * File name selection pattern + */ +tSCC zAlpha___AssertList[] = + "assert.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzAlpha___AssertMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAlpha___AssertSelect0[] = + "__assert\\(char \\*, char \\*, int\\)"; + +#define ALPHA___ASSERT_TEST_CT 1 +static tTestDesc aAlpha___AssertTests[] = { + { TT_EGREP, zAlpha___AssertSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Alpha___Assert + */ +static const char* apzAlpha___AssertPatch[] = { + "format", + "__assert(const char *, const char *, int)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Alpha___Extern_Prefix fix + */ +tSCC zAlpha___Extern_PrefixName[] = + "alpha___extern_prefix"; + +/* + * File name selection pattern + */ +#define zAlpha___Extern_PrefixList (char*)NULL +/* + * Machine/OS name selection pattern + */ +tSCC* apzAlpha___Extern_PrefixMachs[] = { + "alpha*-dec-osf*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAlpha___Extern_PrefixSelect0[] = + "(.*)(defined\\(__DECC\\)|def[ \t]*__DECC)[ \t]*\n\ +(#[ \t]*pragma[ \t]*extern_prefix.*)"; + +#define ALPHA___EXTERN_PREFIX_TEST_CT 1 +static tTestDesc aAlpha___Extern_PrefixTests[] = { + { TT_EGREP, zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Alpha___Extern_Prefix + */ +static const char* apzAlpha___Extern_PrefixPatch[] = { + "format", + "%1 (defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX))\n\ +%3", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Alpha___Extern_Prefix_Standards fix + */ +tSCC zAlpha___Extern_Prefix_StandardsName[] = + "alpha___extern_prefix_standards"; + +/* + * File name selection pattern + */ +tSCC zAlpha___Extern_Prefix_StandardsList[] = + "standards.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAlpha___Extern_Prefix_StandardsMachs[] = { + "alpha*-dec-osf*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAlpha___Extern_Prefix_StandardsSelect0[] = + ".*!defined\\(_LIBC_POLLUTION_H_\\) && !defined\\(__DECC\\)"; + +#define ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT 1 +static tTestDesc aAlpha___Extern_Prefix_StandardsTests[] = { + { TT_EGREP, zAlpha___Extern_Prefix_StandardsSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Alpha___Extern_Prefix_Standards + */ +static const char* apzAlpha___Extern_Prefix_StandardsPatch[] = { + "format", + "%0 && !defined(__PRAGMA_EXTERN_PREFIX)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Alpha___Extern_Prefix_Sys_Stat fix + */ +tSCC zAlpha___Extern_Prefix_Sys_StatName[] = + "alpha___extern_prefix_sys_stat"; + +/* + * File name selection pattern + */ +tSCC zAlpha___Extern_Prefix_Sys_StatList[] = + "sys/stat.h\0sys/mount.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAlpha___Extern_Prefix_Sys_StatMachs[] = { + "alpha*-dec-osf5*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAlpha___Extern_Prefix_Sys_StatSelect0[] = + "#[ \t]*if[ \t]*defined\\(__DECC\\)"; + +#define ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT 1 +static tTestDesc aAlpha___Extern_Prefix_Sys_StatTests[] = { + { TT_EGREP, zAlpha___Extern_Prefix_Sys_StatSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Alpha___Extern_Prefix_Sys_Stat + */ +static const char* apzAlpha___Extern_Prefix_Sys_StatPatch[] = { + "format", + "%0 || defined(__PRAGMA_EXTERN_PREFIX)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Alpha_Assert fix + */ +tSCC zAlpha_AssertName[] = + "alpha_assert"; + +/* + * File name selection pattern + */ +tSCC zAlpha_AssertList[] = + "assert.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzAlpha_AssertMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAlpha_AssertSelect0[] = + "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)"; + +#define ALPHA_ASSERT_TEST_CT 1 +static tTestDesc aAlpha_AssertTests[] = { + { TT_EGREP, zAlpha_AssertSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Alpha_Assert + */ +static const char* apzAlpha_AssertPatch[] = { + "format", + "%1(EX)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Alpha_Bad_Lval fix + */ +tSCC zAlpha_Bad_LvalName[] = + "alpha_bad_lval"; + +/* + * File name selection pattern + */ +#define zAlpha_Bad_LvalList (char*)NULL +/* + * Machine/OS name selection pattern + */ +tSCC* apzAlpha_Bad_LvalMachs[] = { + "alpha*-dec-osf*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAlpha_Bad_LvalSelect0[] = + "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix"; + +#define ALPHA_BAD_LVAL_TEST_CT 1 +static tTestDesc aAlpha_Bad_LvalTests[] = { + { TT_EGREP, zAlpha_Bad_LvalSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Alpha_Bad_Lval + */ +static const char* apzAlpha_Bad_LvalPatch[] = { sed_cmd_z, + "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Alpha_Getopt fix + */ +tSCC zAlpha_GetoptName[] = + "alpha_getopt"; + +/* + * File name selection pattern + */ +tSCC zAlpha_GetoptList[] = + "stdio.h\0stdlib.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzAlpha_GetoptMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAlpha_GetoptSelect0[] = + "getopt\\(int, char \\*\\[\\], *char \\*\\)"; + +#define ALPHA_GETOPT_TEST_CT 1 +static tTestDesc aAlpha_GetoptTests[] = { + { TT_EGREP, zAlpha_GetoptSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Alpha_Getopt + */ +static const char* apzAlpha_GetoptPatch[] = { + "format", + "getopt(int, char *const[], const char *)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Alpha_If_Semicolon fix + */ +tSCC zAlpha_If_SemicolonName[] = + "alpha_if_semicolon"; + +/* + * File name selection pattern + */ +tSCC zAlpha_If_SemicolonList[] = + "net/if.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzAlpha_If_SemicolonMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAlpha_If_SemicolonSelect0[] = + "struct[ \t]+sockaddr[ \t]+vmif_paddr[ \t]+/\\*"; + +#define ALPHA_IF_SEMICOLON_TEST_CT 1 +static tTestDesc aAlpha_If_SemicolonTests[] = { + { TT_EGREP, zAlpha_If_SemicolonSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Alpha_If_Semicolon + */ +static const char* apzAlpha_If_SemicolonPatch[] = { + "format", + "struct sockaddr vmif_paddr;\t/*", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Alpha_Parens fix + */ +tSCC zAlpha_ParensName[] = + "alpha_parens"; + +/* + * File name selection pattern + */ +tSCC zAlpha_ParensList[] = + "sym.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzAlpha_ParensMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAlpha_ParensSelect0[] = + "#ifndef\\(__mips64\\)"; + +#define ALPHA_PARENS_TEST_CT 1 +static tTestDesc aAlpha_ParensTests[] = { + { TT_EGREP, zAlpha_ParensSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Alpha_Parens + */ +static const char* apzAlpha_ParensPatch[] = { + "format", + "#ifndef __mips64", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Alpha_Pthread fix + */ +tSCC zAlpha_PthreadName[] = + "alpha_pthread"; + +/* + * File name selection pattern + */ +tSCC zAlpha_PthreadList[] = + "pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAlpha_PthreadMachs[] = { + "alpha*-dec-osf*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAlpha_PthreadSelect0[] = + "((#[ \t]*if)([ \t]*defined[ \t]*\\(_PTHREAD_ENV_DECC\\)|def _PTHREAD_ENV_DECC)(.*))\n\ +(#[ \t]*define _PTHREAD_USE_PTDNAM_)"; + +#define ALPHA_PTHREAD_TEST_CT 1 +static tTestDesc aAlpha_PthreadTests[] = { + { TT_EGREP, zAlpha_PthreadSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Alpha_Pthread + */ +static const char* apzAlpha_PthreadPatch[] = { + "format", + "%2 defined (_PTHREAD_ENV_DECC)%4 || defined (__PRAGMA_EXTERN_PREFIX)\n\ +%5", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Alpha_Pthread_Gcc fix + */ +tSCC zAlpha_Pthread_GccName[] = + "alpha_pthread_gcc"; + +/* + * File name selection pattern + */ +tSCC zAlpha_Pthread_GccList[] = + "pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAlpha_Pthread_GccMachs[] = { + "alpha*-dec-osf*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAlpha_Pthread_GccSelect0[] = + "#else\n\ +# error <pthread.h>: unrecognized compiler."; + +#define ALPHA_PTHREAD_GCC_TEST_CT 1 +static tTestDesc aAlpha_Pthread_GccTests[] = { + { TT_EGREP, zAlpha_Pthread_GccSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Alpha_Pthread_Gcc + */ +static const char* apzAlpha_Pthread_GccPatch[] = { + "format", + "#elif defined (__GNUC__)\n\ +# define _PTHREAD_ENV_GCC\n\ +%0", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Alpha_Pthread_Init fix + */ +tSCC zAlpha_Pthread_InitName[] = + "alpha_pthread_init"; + +/* + * File name selection pattern + */ +tSCC zAlpha_Pthread_InitList[] = + "pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAlpha_Pthread_InitMachs[] = { + "alpha*-dec-osf*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAlpha_Pthread_InitSelect0[] = + " \\* @\\(#\\).RCSfile: pthread\\.h,v \\$ .Revision: 1\\.1\\.33\\.21 \\$ \\(DEC\\) .Date: 2000/08/15 15:30:13 \\$"; + +#define ALPHA_PTHREAD_INIT_TEST_CT 1 +static tTestDesc aAlpha_Pthread_InitTests[] = { + { TT_EGREP, zAlpha_Pthread_InitSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Alpha_Pthread_Init + */ +static const char* apzAlpha_Pthread_InitPatch[] = { sed_cmd_z, + "-e", "s@MVALID\\(.*\\)A}@MVALID\\1A, 0, 0, 0, 0, 0, 0 }@\n\ +s@MVALID\\(.*\\)_}@MVALID\\1_, 0, 0, 0, 0 }@\n\ +s@CVALID\\(.*\\)A}@CVALID\\1A, 0, 0, 0, 0 }@\n\ +s@CVALID\\(.*\\)_}@CVALID\\1_, 0, 0 }@\n\ +s@WVALID\\(.*\\)A}@WVALID\\1A, 0, 0, 0, 0, 0, 0, 0, 0, 0 }@\n\ +s@WVALID\\(.*\\)_}@WVALID\\1_, 0, 0, 0, 0, 0, 0, 0 }@\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Alpha_Sbrk fix + */ +tSCC zAlpha_SbrkName[] = + "alpha_sbrk"; + +/* + * File name selection pattern + */ +tSCC zAlpha_SbrkList[] = + "unistd.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzAlpha_SbrkMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAlpha_SbrkSelect0[] = + "char[ \t]*\\*[\t ]*sbrk[ \t]*\\("; + +#define ALPHA_SBRK_TEST_CT 1 +static tTestDesc aAlpha_SbrkTests[] = { + { TT_EGREP, zAlpha_SbrkSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Alpha_Sbrk + */ +static const char* apzAlpha_SbrkPatch[] = { + "format", + "void *sbrk(", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Alpha_Wchar fix + */ +tSCC zAlpha_WcharName[] = + "alpha_wchar"; + +/* + * File name selection pattern + */ +tSCC zAlpha_WcharList[] = + "wchar.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAlpha_WcharMachs[] = { + "alpha*-dec-osf4*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAlpha_WcharSelect0[] = + "#define wcstok wcstok_r"; + +#define ALPHA_WCHAR_TEST_CT 1 +static tTestDesc aAlpha_WcharTests[] = { + { TT_EGREP, zAlpha_WcharSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Alpha_Wchar + */ +static const char* apzAlpha_WcharPatch[] = { sed_cmd_z, + "-e", "s@#define wcstok wcstok_r@extern wchar_t *wcstok __((wchar_t *, const wchar_t *, wchar_t **)) __asm__(\"wcstok_r\");@", + "-e", "s@#define wcsftime __wcsftime_isoc@extern size_t wcsftime __((wchar_t *, size_t, const wchar_t *, const struct tm *)) __asm__(\"__wcsftime_isoc\");@", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Avoid_Bool_Define fix + */ +tSCC zAvoid_Bool_DefineName[] = + "avoid_bool_define"; + +/* + * File name selection pattern + */ +tSCC zAvoid_Bool_DefineList[] = + "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzAvoid_Bool_DefineMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAvoid_Bool_DefineSelect0[] = + "#[ \t]*define[ \t]+bool[ \t]"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zAvoid_Bool_DefineBypass0[] = + "__cplusplus"; + +#define AVOID_BOOL_DEFINE_TEST_CT 2 +static tTestDesc aAvoid_Bool_DefineTests[] = { + { TT_NEGREP, zAvoid_Bool_DefineBypass0, (regex_t*)NULL }, + { TT_EGREP, zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Avoid_Bool_Define + */ +static const char* apzAvoid_Bool_DefinePatch[] = { + "format", + "#ifndef __cplusplus\n\ +%0\n\ +#endif", + "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Avoid_Bool_Type fix + */ +tSCC zAvoid_Bool_TypeName[] = + "avoid_bool_type"; + +/* + * File name selection pattern + */ +tSCC zAvoid_Bool_TypeList[] = + "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzAvoid_Bool_TypeMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAvoid_Bool_TypeSelect0[] = + "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zAvoid_Bool_TypeBypass0[] = + "__cplusplus"; + +#define AVOID_BOOL_TYPE_TEST_CT 2 +static tTestDesc aAvoid_Bool_TypeTests[] = { + { TT_NEGREP, zAvoid_Bool_TypeBypass0, (regex_t*)NULL }, + { TT_EGREP, zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Avoid_Bool_Type + */ +static const char* apzAvoid_Bool_TypePatch[] = { + "format", + "#ifndef __cplusplus\n\ +%0\n\ +#endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Avoid_Wchar_T_Type fix + */ +tSCC zAvoid_Wchar_T_TypeName[] = + "avoid_wchar_t_type"; + +/* + * File name selection pattern + */ +#define zAvoid_Wchar_T_TypeList (char*)NULL +/* + * Machine/OS name selection pattern + */ +#define apzAvoid_Wchar_T_TypeMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAvoid_Wchar_T_TypeSelect0[] = + "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zAvoid_Wchar_T_TypeBypass0[] = + "__cplusplus"; +tSCC zAvoid_Wchar_T_TypeBypass1[] = + "_LINUX_NLS_H"; +tSCC zAvoid_Wchar_T_TypeBypass2[] = + "XFree86: xc/lib/X11/Xlib\\.h"; + +#define AVOID_WCHAR_T_TYPE_TEST_CT 4 +static tTestDesc aAvoid_Wchar_T_TypeTests[] = { + { TT_NEGREP, zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL }, + { TT_NEGREP, zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL }, + { TT_NEGREP, zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL }, + { TT_EGREP, zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Avoid_Wchar_T_Type + */ +static const char* apzAvoid_Wchar_T_TypePatch[] = { + "format", + "#ifndef __cplusplus\n\ +%0\n\ +#endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Bad_Struct_Term fix + */ +tSCC zBad_Struct_TermName[] = + "bad_struct_term"; + +/* + * File name selection pattern + */ +tSCC zBad_Struct_TermList[] = + "curses.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzBad_Struct_TermMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zBad_Struct_TermSelect0[] = + "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;"; + +#define BAD_STRUCT_TERM_TEST_CT 1 +static tTestDesc aBad_Struct_TermTests[] = { + { TT_EGREP, zBad_Struct_TermSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Bad_Struct_Term + */ +static const char* apzBad_Struct_TermPatch[] = { + "format", + "struct term;", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Badquote fix + */ +tSCC zBadquoteName[] = + "badquote"; + +/* + * File name selection pattern + */ +tSCC zBadquoteList[] = + "sundev/vuid_event.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzBadquoteMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zBadquoteSelect0[] = + "doesn't"; + +#define BADQUOTE_TEST_CT 1 +static tTestDesc aBadquoteTests[] = { + { TT_EGREP, zBadquoteSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Badquote + */ +static const char* apzBadquotePatch[] = { + "format", + "does not", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Broken_Assert_Stdio fix + */ +tSCC zBroken_Assert_StdioName[] = + "broken_assert_stdio"; + +/* + * File name selection pattern + */ +tSCC zBroken_Assert_StdioList[] = + "assert.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzBroken_Assert_StdioMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zBroken_Assert_StdioSelect0[] = + "stderr"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zBroken_Assert_StdioBypass0[] = + "include.*stdio\\.h"; + +#define BROKEN_ASSERT_STDIO_TEST_CT 2 +static tTestDesc aBroken_Assert_StdioTests[] = { + { TT_NEGREP, zBroken_Assert_StdioBypass0, (regex_t*)NULL }, + { TT_EGREP, zBroken_Assert_StdioSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Broken_Assert_Stdio + */ +static const char* apzBroken_Assert_StdioPatch[] = { + "wrap", + "#include <stdio.h>\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Broken_Assert_Stdlib fix + */ +tSCC zBroken_Assert_StdlibName[] = + "broken_assert_stdlib"; + +/* + * File name selection pattern + */ +tSCC zBroken_Assert_StdlibList[] = + "assert.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzBroken_Assert_StdlibMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zBroken_Assert_StdlibSelect0[] = + "exit *\\(|abort *\\("; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zBroken_Assert_StdlibBypass0[] = + "include.*stdlib\\.h"; + +#define BROKEN_ASSERT_STDLIB_TEST_CT 2 +static tTestDesc aBroken_Assert_StdlibTests[] = { + { TT_NEGREP, zBroken_Assert_StdlibBypass0, (regex_t*)NULL }, + { TT_EGREP, zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Broken_Assert_Stdlib + */ +static const char* apzBroken_Assert_StdlibPatch[] = { + "wrap", + "#ifdef __cplusplus\n\ +#include <stdlib.h>\n\ +#endif\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Broken_Cabs fix + */ +tSCC zBroken_CabsName[] = + "broken_cabs"; + +/* + * File name selection pattern + */ +tSCC zBroken_CabsList[] = + "math.h\0architecture/*/math.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzBroken_CabsMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zBroken_CabsSelect0[] = + "^extern[ \t]+double[ \t]+cabs"; + +#define BROKEN_CABS_TEST_CT 1 +static tTestDesc aBroken_CabsTests[] = { + { TT_EGREP, zBroken_CabsSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Broken_Cabs + */ +static const char* apzBroken_CabsPatch[] = { sed_cmd_z, + "-e", "s/^extern[ \t]*double[ \t]*cabs[ \t]*([^\\)]*);//", + "-e", "s/^extern[ \t]*long[ \t]*double[ \t]*cabsl[ \t]*([^\\)]*);//", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Broken_Nan fix + */ +tSCC zBroken_NanName[] = + "broken_nan"; + +/* + * File name selection pattern + */ +tSCC zBroken_NanList[] = + "architecture/ppc/math.h\0architecture/*/math.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzBroken_NanMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zBroken_NanSelect0[] = + "#if defined(__APPLE_CC__) && (__APPLE_CC__ >= 1345)"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zBroken_NanBypass0[] = + "powl"; + +#define BROKEN_NAN_TEST_CT 2 +static tTestDesc aBroken_NanTests[] = { + { TT_NEGREP, zBroken_NanBypass0, (regex_t*)NULL }, + { TT_EGREP, zBroken_NanSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Broken_Nan + */ +static const char* apzBroken_NanPatch[] = { + "format", + "#if 1", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Bsd_Stdio_Attrs_Conflict fix + */ +tSCC zBsd_Stdio_Attrs_ConflictName[] = + "bsd_stdio_attrs_conflict"; + +/* + * File name selection pattern + */ +tSCC zBsd_Stdio_Attrs_ConflictList[] = + "stdio.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = { + "*-*-*bsd*", + "*-*-*darwin*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zBsd_Stdio_Attrs_ConflictSelect0[] = + "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$"; + +#define BSD_STDIO_ATTRS_CONFLICT_TEST_CT 1 +static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = { + { TT_EGREP, zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Bsd_Stdio_Attrs_Conflict + */ +static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = { + "format", + "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\ +#define _BSD_STRINGX(_BSD_X) #_BSD_X\n\ +int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Ctrl_Quotes_Def fix + */ +tSCC zCtrl_Quotes_DefName[] = + "ctrl_quotes_def"; + +/* + * File name selection pattern + */ +#define zCtrl_Quotes_DefList (char*)NULL +/* + * Machine/OS name selection pattern + */ +#define apzCtrl_Quotes_DefMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zCtrl_Quotes_DefSelect0[] = + "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]"; + +#define CTRL_QUOTES_DEF_TEST_CT 1 +static tTestDesc aCtrl_Quotes_DefTests[] = { + { TT_EGREP, zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Ctrl_Quotes_Def + */ +static const char* apzCtrl_Quotes_DefPatch[] = { + "char_macro_def", + "CTRL", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Ctrl_Quotes_Use fix + */ +tSCC zCtrl_Quotes_UseName[] = + "ctrl_quotes_use"; + +/* + * File name selection pattern + */ +#define zCtrl_Quotes_UseList (char*)NULL +/* + * Machine/OS name selection pattern + */ +#define apzCtrl_Quotes_UseMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zCtrl_Quotes_UseSelect0[] = + "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']"; + +#define CTRL_QUOTES_USE_TEST_CT 1 +static tTestDesc aCtrl_Quotes_UseTests[] = { + { TT_EGREP, zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Ctrl_Quotes_Use + */ +static const char* apzCtrl_Quotes_UsePatch[] = { + "char_macro_use", + "CTRL", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Cxx_Unready fix + */ +tSCC zCxx_UnreadyName[] = + "cxx_unready"; + +/* + * File name selection pattern + */ +tSCC zCxx_UnreadyList[] = + "sys/mman.h\0rpc/types.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzCxx_UnreadyMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zCxx_UnreadySelect0[] = + "[^#]+malloc.*;"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zCxx_UnreadyBypass0[] = + "\"C\"|__BEGIN_DECLS"; + +#define CXX_UNREADY_TEST_CT 2 +static tTestDesc aCxx_UnreadyTests[] = { + { TT_NEGREP, zCxx_UnreadyBypass0, (regex_t*)NULL }, + { TT_EGREP, zCxx_UnreadySelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Cxx_Unready + */ +static const char* apzCxx_UnreadyPatch[] = { + "wrap", + "#ifdef __cplusplus\n\ +extern \"C\" {\n\ +#endif\n", + "#ifdef __cplusplus\n\ +}\n\ +#endif\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Darwin_Externc fix + */ +tSCC zDarwin_ExterncName[] = + "darwin_externc"; + +/* + * File name selection pattern + */ +tSCC zDarwin_ExterncList[] = + "mach-o/swap.h\0mach/mach_time.h\0mach/mach_traps.h\0mach/message.h\0mach/mig.h\0mach/semaphore.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzDarwin_ExterncMachs[] = { + "*-*-darwin*", + (const char*)NULL }; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zDarwin_ExterncBypass0[] = + "extern \"C\""; +tSCC zDarwin_ExterncBypass1[] = + "__BEGIN_DECLS"; + +#define DARWIN_EXTERNC_TEST_CT 2 +static tTestDesc aDarwin_ExterncTests[] = { + { TT_NEGREP, zDarwin_ExterncBypass0, (regex_t*)NULL }, + { TT_NEGREP, zDarwin_ExterncBypass1, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Darwin_Externc + */ +static const char* apzDarwin_ExterncPatch[] = { + "wrap", + "#ifdef __cplusplus\n\ +extern \"C\" {\n\ +#endif\n", + "#ifdef __cplusplus\n\ +}\n\ +#endif\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Darwin_Gcc4_Breakage fix + */ +tSCC zDarwin_Gcc4_BreakageName[] = + "darwin_gcc4_breakage"; + +/* + * File name selection pattern + */ +tSCC zDarwin_Gcc4_BreakageList[] = + "AvailabilityMacros.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzDarwin_Gcc4_BreakageMachs[] = { + "*-*-darwin*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zDarwin_Gcc4_BreakageSelect0[] = + "\\(__GNUC__ >= 3\\) && \\(__GNUC_MINOR__ >= 1\\)"; + +#define DARWIN_GCC4_BREAKAGE_TEST_CT 1 +static tTestDesc aDarwin_Gcc4_BreakageTests[] = { + { TT_EGREP, zDarwin_Gcc4_BreakageSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Darwin_Gcc4_Breakage + */ +static const char* apzDarwin_Gcc4_BreakagePatch[] = { + "format", + "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Darwin_Private_Extern fix + */ +tSCC zDarwin_Private_ExternName[] = + "darwin_private_extern"; + +/* + * File name selection pattern + */ +tSCC zDarwin_Private_ExternList[] = + "mach-o/dyld.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzDarwin_Private_ExternMachs[] = { + "*-*-darwin*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zDarwin_Private_ExternSelect0[] = + "__private_extern__ [a-z_]+ _dyld_"; + +#define DARWIN_PRIVATE_EXTERN_TEST_CT 1 +static tTestDesc aDarwin_Private_ExternTests[] = { + { TT_EGREP, zDarwin_Private_ExternSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Darwin_Private_Extern + */ +static const char* apzDarwin_Private_ExternPatch[] = { + "format", + "extern", + "__private_extern__", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Dec_Intern_Asm fix + */ +tSCC zDec_Intern_AsmName[] = + "dec_intern_asm"; + +/* + * File name selection pattern + */ +tSCC zDec_Intern_AsmList[] = + "c_asm.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzDec_Intern_AsmMachs (const char**)NULL +#define DEC_INTERN_ASM_TEST_CT 0 +#define aDec_Intern_AsmTests (tTestDesc*)NULL + +/* + * Fix Command Arguments for Dec_Intern_Asm + */ +static const char* apzDec_Intern_AsmPatch[] = { sed_cmd_z, + "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\ +#ifdef __DECC\n", + "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\ +#endif\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Djgpp_Wchar_H fix + */ +tSCC zDjgpp_Wchar_HName[] = + "djgpp_wchar_h"; + +/* + * File name selection pattern + */ +#define zDjgpp_Wchar_HList (char*)NULL +/* + * Machine/OS name selection pattern + */ +#define apzDjgpp_Wchar_HMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zDjgpp_Wchar_HSelect0[] = + "__DJ_wint_t"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zDjgpp_Wchar_HBypass0[] = + "sys/djtypes.h"; + +#define DJGPP_WCHAR_H_TEST_CT 2 +static tTestDesc aDjgpp_Wchar_HTests[] = { + { TT_NEGREP, zDjgpp_Wchar_HBypass0, (regex_t*)NULL }, + { TT_EGREP, zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Djgpp_Wchar_H + */ +static const char* apzDjgpp_Wchar_HPatch[] = { + "format", + "%0\n\ +#include <sys/djtypes.h>", + "#include <stddef.h>", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Ecd_Cursor fix + */ +tSCC zEcd_CursorName[] = + "ecd_cursor"; + +/* + * File name selection pattern + */ +tSCC zEcd_CursorList[] = + "sunwindow/win_lock.h\0sunwindow/win_cursor.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzEcd_CursorMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zEcd_CursorSelect0[] = + "ecd\\.cursor"; + +#define ECD_CURSOR_TEST_CT 1 +static tTestDesc aEcd_CursorTests[] = { + { TT_EGREP, zEcd_CursorSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Ecd_Cursor + */ +static const char* apzEcd_CursorPatch[] = { + "format", + "ecd_cursor", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Exception_Structure fix + */ +tSCC zException_StructureName[] = + "exception_structure"; + +/* + * File name selection pattern + */ +tSCC zException_StructureList[] = + "math.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzException_StructureMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zException_StructureSelect0[] = + "matherr"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zException_StructureBypass0[] = + "matherr.*(struct exception|__MATH_EXCEPTION|[ \\t]*__FP_EXCEPTION[ \\t]*\\*[ \\t]*)"; + +#define EXCEPTION_STRUCTURE_TEST_CT 2 +static tTestDesc aException_StructureTests[] = { + { TT_NEGREP, zException_StructureBypass0, (regex_t*)NULL }, + { TT_EGREP, zException_StructureSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Exception_Structure + */ +static const char* apzException_StructurePatch[] = { + "wrap", + "struct exception;\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Freebsd_Gcc3_Breakage fix + */ +tSCC zFreebsd_Gcc3_BreakageName[] = + "freebsd_gcc3_breakage"; + +/* + * File name selection pattern + */ +tSCC zFreebsd_Gcc3_BreakageList[] = + "sys/cdefs.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzFreebsd_Gcc3_BreakageMachs[] = { + "*-*-freebsd*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zFreebsd_Gcc3_BreakageSelect0[] = + "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zFreebsd_Gcc3_BreakageBypass0[] = + "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)"; + +#define FREEBSD_GCC3_BREAKAGE_TEST_CT 2 +static tTestDesc aFreebsd_Gcc3_BreakageTests[] = { + { TT_NEGREP, zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL }, + { TT_EGREP, zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Freebsd_Gcc3_Breakage + */ +static const char* apzFreebsd_Gcc3_BreakagePatch[] = { + "format", + "%0 || __GNUC__ >= 3", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Freebsd_Gcc4_Breakage fix + */ +tSCC zFreebsd_Gcc4_BreakageName[] = + "freebsd_gcc4_breakage"; + +/* + * File name selection pattern + */ +tSCC zFreebsd_Gcc4_BreakageList[] = + "sys/cdefs.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzFreebsd_Gcc4_BreakageMachs[] = { + "*-*-freebsd*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zFreebsd_Gcc4_BreakageSelect0[] = + "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \\|\\| __GNUC__ == 3$"; + +#define FREEBSD_GCC4_BREAKAGE_TEST_CT 1 +static tTestDesc aFreebsd_Gcc4_BreakageTests[] = { + { TT_EGREP, zFreebsd_Gcc4_BreakageSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Freebsd_Gcc4_Breakage + */ +static const char* apzFreebsd_Gcc4_BreakagePatch[] = { + "format", + "#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Glibc_C99_Inline_1 fix + */ +tSCC zGlibc_C99_Inline_1Name[] = + "glibc_c99_inline_1"; + +/* + * File name selection pattern + */ +tSCC zGlibc_C99_Inline_1List[] = + "features.h\0*/features.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzGlibc_C99_Inline_1Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zGlibc_C99_Inline_1Select0[] = + "^ *&& !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__$"; + +#define GLIBC_C99_INLINE_1_TEST_CT 1 +static tTestDesc aGlibc_C99_Inline_1Tests[] = { + { TT_EGREP, zGlibc_C99_Inline_1Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Glibc_C99_Inline_1 + */ +static const char* apzGlibc_C99_Inline_1Patch[] = { + "format", + "%0 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Glibc_C99_Inline_1a fix + */ +tSCC zGlibc_C99_Inline_1aName[] = + "glibc_c99_inline_1a"; + +/* + * File name selection pattern + */ +tSCC zGlibc_C99_Inline_1aList[] = + "features.h\0*/features.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzGlibc_C99_Inline_1aMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zGlibc_C99_Inline_1aSelect0[] = + "(\\) && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__)\n\ +(#[ \t]*define[ \t]*__USE_EXTERN_INLINES[ \t]*1)"; + +#define GLIBC_C99_INLINE_1A_TEST_CT 1 +static tTestDesc aGlibc_C99_Inline_1aTests[] = { + { TT_EGREP, zGlibc_C99_Inline_1aSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Glibc_C99_Inline_1a + */ +static const char* apzGlibc_C99_Inline_1aPatch[] = { + "format", + "%1 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)\n\ +%2", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Glibc_C99_Inline_2 fix + */ +tSCC zGlibc_C99_Inline_2Name[] = + "glibc_c99_inline_2"; + +/* + * File name selection pattern + */ +tSCC zGlibc_C99_Inline_2List[] = + "sys/stat.h\0*/sys/stat.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzGlibc_C99_Inline_2Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zGlibc_C99_Inline_2Select0[] = + "extern __inline__ int"; + +#define GLIBC_C99_INLINE_2_TEST_CT 1 +static tTestDesc aGlibc_C99_Inline_2Tests[] = { + { TT_EGREP, zGlibc_C99_Inline_2Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Glibc_C99_Inline_2 + */ +static const char* apzGlibc_C99_Inline_2Patch[] = { sed_cmd_z, + "-e", "s/extern int \\(stat\\|lstat\\|fstat\\|mknod\\)/#ifdef __GNUC_GNU_INLINE__\\\n\ +extern\\\n\ +#endif\\\n\ +__inline__ int \\1/", + "-e", "s/extern int __REDIRECT\\(_NTH\\|\\) (\\(stat\\|lstat\\|fstat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\ +extern\\\n\ +#endif\\\n\ +__inline__ int __REDIRECT\\1 (\\2/", + "-e", "s/^extern __inline__ int/#ifdef __GNUC_GNU_INLINE__\\\n\ +extern\\\n\ +#endif\\\n\ +__inline__ int/", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Glibc_C99_Inline_3 fix + */ +tSCC zGlibc_C99_Inline_3Name[] = + "glibc_c99_inline_3"; + +/* + * File name selection pattern + */ +tSCC zGlibc_C99_Inline_3List[] = + "bits/string2.h\0*/bits/string2.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzGlibc_C99_Inline_3Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zGlibc_C99_Inline_3Select0[] = + "extern __inline"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zGlibc_C99_Inline_3Bypass0[] = + "__extern_inline|__GNU_STDC_INLINE__"; + +#define GLIBC_C99_INLINE_3_TEST_CT 2 +static tTestDesc aGlibc_C99_Inline_3Tests[] = { + { TT_NEGREP, zGlibc_C99_Inline_3Bypass0, (regex_t*)NULL }, + { TT_EGREP, zGlibc_C99_Inline_3Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Glibc_C99_Inline_3 + */ +static const char* apzGlibc_C99_Inline_3Patch[] = { + "format", + "# if defined(__cplusplus) || defined(__GNUC_STDC_INLINE__)", + "^# ifdef __cplusplus$", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Glibc_C99_Inline_4 fix + */ +tSCC zGlibc_C99_Inline_4Name[] = + "glibc_c99_inline_4"; + +/* + * File name selection pattern + */ +tSCC zGlibc_C99_Inline_4List[] = + "sys/sysmacros.h\0*/sys/sysmacros.h\0wchar.h\0*/wchar.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzGlibc_C99_Inline_4Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zGlibc_C99_Inline_4Select0[] = + "(^| )extern __inline"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zGlibc_C99_Inline_4Bypass0[] = + "__extern_inline|__gnu_inline__"; + +#define GLIBC_C99_INLINE_4_TEST_CT 2 +static tTestDesc aGlibc_C99_Inline_4Tests[] = { + { TT_NEGREP, zGlibc_C99_Inline_4Bypass0, (regex_t*)NULL }, + { TT_EGREP, zGlibc_C99_Inline_4Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Glibc_C99_Inline_4 + */ +static const char* apzGlibc_C99_Inline_4Patch[] = { + "format", + "%0 __attribute__ ((__gnu_inline__))", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Glibc_Mutex_Init fix + */ +tSCC zGlibc_Mutex_InitName[] = + "glibc_mutex_init"; + +/* + * File name selection pattern + */ +tSCC zGlibc_Mutex_InitList[] = + "pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzGlibc_Mutex_InitMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zGlibc_Mutex_InitSelect0[] = + "\\{ *\\{ *0, *\\} *\\}"; + +#define GLIBC_MUTEX_INIT_TEST_CT 1 +static tTestDesc aGlibc_Mutex_InitTests[] = { + { TT_EGREP, zGlibc_Mutex_InitSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Glibc_Mutex_Init + */ +static const char* apzGlibc_Mutex_InitPatch[] = { sed_cmd_z, + "-e", "/define[ \t]\\+PTHREAD_MUTEX_INITIALIZER[ \t]*\\\\/{\n\ +N\n\ +s/{ { 0, } }/{ { 0, 0, 0, 0, 0, 0 } }/\n\ +}", + "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\|ERRORCHECK\\|ADAPTIVE\\)_NP\\) }/{ \\1, 0 }/", + "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\|ERRORCHECK\\|ADAPTIVE\\)_NP\\) }/{ \\1, 0, 0 }/", + "-e", "/define[ \t]\\+PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\/N;s/^[ \t]*#[ \t]*\\(define[ \t]\\+PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\\\)\\n[ \t]*{ { 0, } }/# if __WORDSIZE == 64\\n# \\1\\n { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }\\n# else\\n# \\1\\n { { 0, 0, 0, 0, 0, 0, 0, 0 } }\\n# endif/", + "-e", "s/{ \\(0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\\) }/{ \\1, 0 }/", + "-e", "/define[ \t]\\+PTHREAD_COND_INITIALIZER/s/{ { 0, } }/{ { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }/", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Gnu_Types fix + */ +tSCC zGnu_TypesName[] = + "gnu_types"; + +/* + * File name selection pattern + */ +tSCC zGnu_TypesList[] = + "sys/types.h\0stdlib.h\0sys/stdtypes.h\0stddef.h\0memory.h\0unistd.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzGnu_TypesMachs[] = { + "*-*-solaris2.1[0-9]*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zGnu_TypesSelect0[] = + "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zGnu_TypesBypass0[] = + "_GCC_(PTRDIFF|SIZE|WCHAR)_T"; + +#define GNU_TYPES_TEST_CT 2 +static tTestDesc aGnu_TypesTests[] = { + { TT_NEGREP, zGnu_TypesBypass0, (regex_t*)NULL }, + { TT_EGREP, zGnu_TypesSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Gnu_Types + */ +static const char* apzGnu_TypesPatch[] = { + "gnu_type", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hp_Inline fix + */ +tSCC zHp_InlineName[] = + "hp_inline"; + +/* + * File name selection pattern + */ +tSCC zHp_InlineList[] = + "sys/spinlock.h\0machine/machparam.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHp_InlineMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHp_InlineSelect0[] = + "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/"; + +#define HP_INLINE_TEST_CT 1 +static tTestDesc aHp_InlineTests[] = { + { TT_EGREP, zHp_InlineSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hp_Inline + */ +static const char* apzHp_InlinePatch[] = { + "format", + "%1<machine/%2.h>", + "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hp_Sysfile fix + */ +tSCC zHp_SysfileName[] = + "hp_sysfile"; + +/* + * File name selection pattern + */ +tSCC zHp_SysfileList[] = + "sys/file.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHp_SysfileMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHp_SysfileSelect0[] = + "HPUX_SOURCE"; + +#define HP_SYSFILE_TEST_CT 1 +static tTestDesc aHp_SysfileTests[] = { + { TT_EGREP, zHp_SysfileSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hp_Sysfile + */ +static const char* apzHp_SysfilePatch[] = { + "format", + "(struct file *, ...)", + "\\(\\.\\.\\.\\)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hppa_Hpux_Fp_Macros fix + */ +tSCC zHppa_Hpux_Fp_MacrosName[] = + "hppa_hpux_fp_macros"; + +/* + * File name selection pattern + */ +tSCC zHppa_Hpux_Fp_MacrosList[] = + "math.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHppa_Hpux_Fp_MacrosMachs[] = { + "hppa*-hp-hpux11*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHppa_Hpux_Fp_MacrosSelect0[] = + "#[ \t]*define[ \t]*FP_NORMAL.*\n\ +#[ \t]*define[ \t]*FP_ZERO.*\n\ +#[ \t]*define[ \t]*FP_INFINITE.*\n\ +#[ \t]*define[ \t]*FP_SUBNORMAL.*\n\ +#[ \t]*define[ \t]*FP_NAN.*\n"; + +#define HPPA_HPUX_FP_MACROS_TEST_CT 1 +static tTestDesc aHppa_Hpux_Fp_MacrosTests[] = { + { TT_EGREP, zHppa_Hpux_Fp_MacrosSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hppa_Hpux_Fp_Macros + */ +static const char* apzHppa_Hpux_Fp_MacrosPatch[] = { + "format", + "#endif /* _INCLUDE_HPUX_SOURCE */\n\n\ +#if defined(_INCLUDE_HPUX_SOURCE) || \\\n\ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))\n\ +%0#endif\n\n\ +#ifdef _INCLUDE_HPUX_SOURCE\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux10_Cpp_Pow_Inline fix + */ +tSCC zHpux10_Cpp_Pow_InlineName[] = + "hpux10_cpp_pow_inline"; + +/* + * File name selection pattern + */ +tSCC zHpux10_Cpp_Pow_InlineList[] = + "fixinc-test-limits.h\0math.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux10_Cpp_Pow_InlineSelect0[] = + "^# +ifdef +__cplusplus\n\ + +\\}\n\ + +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\ +[ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\ + +\\}\n\ + +extern +\"C\" +\\{\n\ +#else\n\ +# +endif"; + +#define HPUX10_CPP_POW_INLINE_TEST_CT 1 +static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = { + { TT_EGREP, zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux10_Cpp_Pow_Inline + */ +static const char* apzHpux10_Cpp_Pow_InlinePatch[] = { + "format", + "", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux11_Cpp_Pow_Inline fix + */ +tSCC zHpux11_Cpp_Pow_InlineName[] = + "hpux11_cpp_pow_inline"; + +/* + * File name selection pattern + */ +tSCC zHpux11_Cpp_Pow_InlineList[] = + "math.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux11_Cpp_Pow_InlineSelect0[] = + " +inline double pow\\(double d,int expon\\) \\{\n\ + +return pow\\(d, \\(double\\)expon\\);\n\ + +\\}\n"; + +#define HPUX11_CPP_POW_INLINE_TEST_CT 1 +static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = { + { TT_EGREP, zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux11_Cpp_Pow_Inline + */ +static const char* apzHpux11_Cpp_Pow_InlinePatch[] = { + "format", + "", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux10_Ctype_Declarations1 fix + */ +tSCC zHpux10_Ctype_Declarations1Name[] = + "hpux10_ctype_declarations1"; + +/* + * File name selection pattern + */ +tSCC zHpux10_Ctype_Declarations1List[] = + "ctype.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHpux10_Ctype_Declarations1Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux10_Ctype_Declarations1Select0[] = + "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zHpux10_Ctype_Declarations1Bypass0[] = + "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\("; + +#define HPUX10_CTYPE_DECLARATIONS1_TEST_CT 2 +static tTestDesc aHpux10_Ctype_Declarations1Tests[] = { + { TT_NEGREP, zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL }, + { TT_EGREP, zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux10_Ctype_Declarations1 + */ +static const char* apzHpux10_Ctype_Declarations1Patch[] = { + "format", + "#ifdef _PROTOTYPES\n\ +extern int __tolower(int);\n\ +extern int __toupper(int);\n\ +#else /* NOT _PROTOTYPES */\n\ +extern int __tolower();\n\ +extern int __toupper();\n\ +#endif /* _PROTOTYPES */\n\n\ +%0\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux10_Ctype_Declarations2 fix + */ +tSCC zHpux10_Ctype_Declarations2Name[] = + "hpux10_ctype_declarations2"; + +/* + * File name selection pattern + */ +tSCC zHpux10_Ctype_Declarations2List[] = + "ctype.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHpux10_Ctype_Declarations2Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux10_Ctype_Declarations2Select0[] = + "^# if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zHpux10_Ctype_Declarations2Bypass0[] = + "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\("; + +#define HPUX10_CTYPE_DECLARATIONS2_TEST_CT 2 +static tTestDesc aHpux10_Ctype_Declarations2Tests[] = { + { TT_NEGREP, zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL }, + { TT_EGREP, zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux10_Ctype_Declarations2 + */ +static const char* apzHpux10_Ctype_Declarations2Patch[] = { + "format", + "%0\n\n\ +#ifdef _PROTOTYPES\n\ + extern int _isalnum(int);\n\ + extern int _isalpha(int);\n\ + extern int _iscntrl(int);\n\ + extern int _isdigit(int);\n\ + extern int _isgraph(int);\n\ + extern int _islower(int);\n\ + extern int _isprint(int);\n\ + extern int _ispunct(int);\n\ + extern int _isspace(int);\n\ + extern int _isupper(int);\n\ + extern int _isxdigit(int);\n\ +# else /* not _PROTOTYPES */\n\ + extern int _isalnum();\n\ + extern int _isalpha();\n\ + extern int _iscntrl();\n\ + extern int _isdigit();\n\ + extern int _isgraph();\n\ + extern int _islower();\n\ + extern int _isprint();\n\ + extern int _ispunct();\n\ + extern int _isspace();\n\ + extern int _isupper();\n\ + extern int _isxdigit();\n\ +#endif /* _PROTOTYPES */\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux10_Stdio_Declarations fix + */ +tSCC zHpux10_Stdio_DeclarationsName[] = + "hpux10_stdio_declarations"; + +/* + * File name selection pattern + */ +tSCC zHpux10_Stdio_DeclarationsList[] = + "stdio.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux10_Stdio_DeclarationsSelect0[] = + "^#[ \t]*define _iob[ \t]*__iob"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zHpux10_Stdio_DeclarationsBypass0[] = + "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\("; + +#define HPUX10_STDIO_DECLARATIONS_TEST_CT 2 +static tTestDesc aHpux10_Stdio_DeclarationsTests[] = { + { TT_NEGREP, zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL }, + { TT_EGREP, zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux10_Stdio_Declarations + */ +static const char* apzHpux10_Stdio_DeclarationsPatch[] = { + "format", + "%0\n\n\ +# if defined(__STDC__) || defined(__cplusplus)\n\ + extern int snprintf(char *, size_t, const char *, ...);\n\ + extern int vsnprintf(char *, size_t, const char *, __va_list);\n\ +# else /* not __STDC__) || __cplusplus */\n\ + extern int snprintf();\n\ + extern int vsnprintf();\n\ +# endif /* __STDC__) || __cplusplus */\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux11_Abs fix + */ +tSCC zHpux11_AbsName[] = + "hpux11_abs"; + +/* + * File name selection pattern + */ +tSCC zHpux11_AbsList[] = + "stdlib.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux11_AbsMachs[] = { + "ia64-hp-hpux11*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux11_AbsSelect0[] = + "ifndef _MATH_INCLUDED"; + +#define HPUX11_ABS_TEST_CT 1 +static tTestDesc aHpux11_AbsTests[] = { + { TT_EGREP, zHpux11_AbsSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux11_Abs + */ +static const char* apzHpux11_AbsPatch[] = { + "format", + "if !defined(_MATH_INCLUDED) || defined(__GNUG__)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux11_Fabsf fix + */ +tSCC zHpux11_FabsfName[] = + "hpux11_fabsf"; + +/* + * File name selection pattern + */ +tSCC zHpux11_FabsfList[] = + "math.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHpux11_FabsfMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux11_FabsfSelect0[] = + "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zHpux11_FabsfBypass0[] = + "__cplusplus"; + +#define HPUX11_FABSF_TEST_CT 2 +static tTestDesc aHpux11_FabsfTests[] = { + { TT_NEGREP, zHpux11_FabsfBypass0, (regex_t*)NULL }, + { TT_EGREP, zHpux11_FabsfSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux11_Fabsf + */ +static const char* apzHpux11_FabsfPatch[] = { + "format", + "#ifndef __cplusplus\n\ +%0\n\ +#endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux11_Pthread_Const fix + */ +tSCC zHpux11_Pthread_ConstName[] = + "hpux11_pthread_const"; + +/* + * File name selection pattern + */ +tSCC zHpux11_Pthread_ConstList[] = + "sys/pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux11_Pthread_ConstMachs[] = { + "*-hp-hpux11.[0-3]*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux11_Pthread_ConstSelect0[] = + "^#define[ \t]*__POINTER_SET[ \t]*\\(\\(void \\*\\) 1LL\\)"; + +#define HPUX11_PTHREAD_CONST_TEST_CT 1 +static tTestDesc aHpux11_Pthread_ConstTests[] = { + { TT_EGREP, zHpux11_Pthread_ConstSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux11_Pthread_Const + */ +static const char* apzHpux11_Pthread_ConstPatch[] = { + "format", + "#define __POINTER_SET\t\t((void *) 1L)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux11_Size_T fix + */ +tSCC zHpux11_Size_TName[] = + "hpux11_size_t"; + +/* + * File name selection pattern + */ +#define zHpux11_Size_TList (char*)NULL +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux11_Size_TMachs[] = { + "*-hp-hpux11*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux11_Size_TSelect0[] = + "__size_t"; + +#define HPUX11_SIZE_T_TEST_CT 1 +static tTestDesc aHpux11_Size_TTests[] = { + { TT_EGREP, zHpux11_Size_TSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux11_Size_T + */ +static const char* apzHpux11_Size_TPatch[] = { + "format", + "_hpux_size_t", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux11_Snprintf fix + */ +tSCC zHpux11_SnprintfName[] = + "hpux11_snprintf"; + +/* + * File name selection pattern + */ +tSCC zHpux11_SnprintfList[] = + "stdio.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHpux11_SnprintfMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux11_SnprintfSelect0[] = + "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)"; + +#define HPUX11_SNPRINTF_TEST_CT 1 +static tTestDesc aHpux11_SnprintfTests[] = { + { TT_EGREP, zHpux11_SnprintfSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux11_Snprintf + */ +static const char* apzHpux11_SnprintfPatch[] = { + "format", + "%1 const %3", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux11_Uint32_C fix + */ +tSCC zHpux11_Uint32_CName[] = + "hpux11_uint32_c"; + +/* + * File name selection pattern + */ +tSCC zHpux11_Uint32_CList[] = + "inttypes.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHpux11_Uint32_CMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux11_Uint32_CSelect0[] = + "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)"; + +#define HPUX11_UINT32_C_TEST_CT 1 +static tTestDesc aHpux11_Uint32_CTests[] = { + { TT_EGREP, zHpux11_Uint32_CSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux11_Uint32_C + */ +static const char* apzHpux11_Uint32_CPatch[] = { + "format", + "#define UINT32_C(__c) __CONCAT__(__c,ul)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux11_Vsnprintf fix + */ +tSCC zHpux11_VsnprintfName[] = + "hpux11_vsnprintf"; + +/* + * File name selection pattern + */ +tSCC zHpux11_VsnprintfList[] = + "stdio.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHpux11_VsnprintfMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux11_VsnprintfSelect0[] = + "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);"; + +#define HPUX11_VSNPRINTF_TEST_CT 1 +static tTestDesc aHpux11_VsnprintfTests[] = { + { TT_EGREP, zHpux11_VsnprintfSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux11_Vsnprintf + */ +static const char* apzHpux11_VsnprintfPatch[] = { + "format", + "%1 __va_list);", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux8_Bogus_Inlines fix + */ +tSCC zHpux8_Bogus_InlinesName[] = + "hpux8_bogus_inlines"; + +/* + * File name selection pattern + */ +tSCC zHpux8_Bogus_InlinesList[] = + "math.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHpux8_Bogus_InlinesMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux8_Bogus_InlinesSelect0[] = + "inline"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zHpux8_Bogus_InlinesBypass0[] = + "__GNUG__"; + +#define HPUX8_BOGUS_INLINES_TEST_CT 2 +static tTestDesc aHpux8_Bogus_InlinesTests[] = { + { TT_NEGREP, zHpux8_Bogus_InlinesBypass0, (regex_t*)NULL }, + { TT_EGREP, zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux8_Bogus_Inlines + */ +static const char* apzHpux8_Bogus_InlinesPatch[] = { sed_cmd_z, + "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@", + "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@", + "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@", + "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Ctype_Macros fix + */ +tSCC zHpux_Ctype_MacrosName[] = + "hpux_ctype_macros"; + +/* + * File name selection pattern + */ +tSCC zHpux_Ctype_MacrosList[] = + "ctype.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHpux_Ctype_MacrosMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux_Ctype_MacrosSelect0[] = + "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)"; + +#define HPUX_CTYPE_MACROS_TEST_CT 1 +static tTestDesc aHpux_Ctype_MacrosTests[] = { + { TT_EGREP, zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux_Ctype_Macros + */ +static const char* apzHpux_Ctype_MacrosPatch[] = { + "format", + "%1(int)%3", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Htonl fix + */ +tSCC zHpux_HtonlName[] = + "hpux_htonl"; + +/* + * File name selection pattern + */ +tSCC zHpux_HtonlList[] = + "netinet/in.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHpux_HtonlMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux_HtonlSelect0[] = + "#ifndef _XOPEN_SOURCE_EXTENDED\n\ +(/\\*\n\ + \\* Macros for number representation conversion\\.\n\ + \\*/\n\ +#ifndef ntohl)"; + +#define HPUX_HTONL_TEST_CT 1 +static tTestDesc aHpux_HtonlTests[] = { + { TT_EGREP, zHpux_HtonlSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux_Htonl + */ +static const char* apzHpux_HtonlPatch[] = { + "format", + "#if 1\n\ +%1", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Long_Double fix + */ +tSCC zHpux_Long_DoubleName[] = + "hpux_long_double"; + +/* + * File name selection pattern + */ +tSCC zHpux_Long_DoubleList[] = + "stdlib.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHpux_Long_DoubleMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux_Long_DoubleSelect0[] = + "extern[ \t]long_double[ \t]strtold"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zHpux_Long_DoubleBypass0[] = + "long_double_t"; + +#define HPUX_LONG_DOUBLE_TEST_CT 2 +static tTestDesc aHpux_Long_DoubleTests[] = { + { TT_NEGREP, zHpux_Long_DoubleBypass0, (regex_t*)NULL }, + { TT_EGREP, zHpux_Long_DoubleSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux_Long_Double + */ +static const char* apzHpux_Long_DoublePatch[] = { sed_cmd_z, + "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D", + "-e", "s/long_double/long double/g", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Systime fix + */ +tSCC zHpux_SystimeName[] = + "hpux_systime"; + +/* + * File name selection pattern + */ +tSCC zHpux_SystimeList[] = + "sys/time.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHpux_SystimeMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux_SystimeSelect0[] = + "^extern struct sigevent;"; + +#define HPUX_SYSTIME_TEST_CT 1 +static tTestDesc aHpux_SystimeTests[] = { + { TT_EGREP, zHpux_SystimeSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux_Systime + */ +static const char* apzHpux_SystimePatch[] = { + "format", + "struct sigevent;", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Spu_Info fix + */ +tSCC zHpux_Spu_InfoName[] = + "hpux_spu_info"; + +/* + * File name selection pattern + */ +tSCC zHpux_Spu_InfoList[] = + "ia64/sys/getppdp.h\0*/sys/getppdp.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux_Spu_InfoMachs[] = { + "*-hp-hpux*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux_Spu_InfoSelect0[] = + "^.*extern.*spu_info.*"; + +#define HPUX_SPU_INFO_TEST_CT 1 +static tTestDesc aHpux_Spu_InfoTests[] = { + { TT_EGREP, zHpux_Spu_InfoSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux_Spu_Info + */ +static const char* apzHpux_Spu_InfoPatch[] = { + "format", + "#ifdef _KERNEL\n\ +%0\n\ +#endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux11_Extern_Sendfile fix + */ +tSCC zHpux11_Extern_SendfileName[] = + "hpux11_extern_sendfile"; + +/* + * File name selection pattern + */ +tSCC zHpux11_Extern_SendfileList[] = + "sys/socket.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux11_Extern_SendfileMachs[] = { + "*-hp-hpux11.[12]*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux11_Extern_SendfileSelect0[] = + "^[ \t]*extern sbsize_t sendfile.*\n\ +.*, int\\)\\);\n"; + +#define HPUX11_EXTERN_SENDFILE_TEST_CT 1 +static tTestDesc aHpux11_Extern_SendfileTests[] = { + { TT_EGREP, zHpux11_Extern_SendfileSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux11_Extern_Sendfile + */ +static const char* apzHpux11_Extern_SendfilePatch[] = { + "format", + "#ifndef _APP32_64BIT_OFF_T\n\ +%0#endif\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux11_Extern_Sendpath fix + */ +tSCC zHpux11_Extern_SendpathName[] = + "hpux11_extern_sendpath"; + +/* + * File name selection pattern + */ +tSCC zHpux11_Extern_SendpathList[] = + "sys/socket.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux11_Extern_SendpathMachs[] = { + "*-hp-hpux11.[12]*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux11_Extern_SendpathSelect0[] = + "^[ \t]*extern sbsize_t sendpath.*\n\ +.*, int\\)\\);\n"; + +#define HPUX11_EXTERN_SENDPATH_TEST_CT 1 +static tTestDesc aHpux11_Extern_SendpathTests[] = { + { TT_EGREP, zHpux11_Extern_SendpathSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux11_Extern_Sendpath + */ +static const char* apzHpux11_Extern_SendpathPatch[] = { + "format", + "#ifndef _APP32_64BIT_OFF_T\n\ +%0#endif\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Extern_Errno fix + */ +tSCC zHpux_Extern_ErrnoName[] = + "hpux_extern_errno"; + +/* + * File name selection pattern + */ +tSCC zHpux_Extern_ErrnoList[] = + "errno.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux_Extern_ErrnoMachs[] = { + "*-hp-hpux10.*", + "*-hp-hpux11.[0-2]*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux_Extern_ErrnoSelect0[] = + "^[ \t]*extern int errno;$"; + +#define HPUX_EXTERN_ERRNO_TEST_CT 1 +static tTestDesc aHpux_Extern_ErrnoTests[] = { + { TT_EGREP, zHpux_Extern_ErrnoSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux_Extern_Errno + */ +static const char* apzHpux_Extern_ErrnoPatch[] = { + "format", + "#ifdef __cplusplus\n\ +extern \"C\" {\n\ +#endif\n\ +%0\n\ +#ifdef __cplusplus\n\ +}\n\ +#endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Pthread_Initializers fix + */ +tSCC zHpux_Pthread_InitializersName[] = + "hpux_pthread_initializers"; + +/* + * File name selection pattern + */ +tSCC zHpux_Pthread_InitializersList[] = + "sys/pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux_Pthread_InitializersMachs[] = { + "*-hp-hpux11.[0-3]*", + (const char*)NULL }; +#define HPUX_PTHREAD_INITIALIZERS_TEST_CT 0 +#define aHpux_Pthread_InitializersTests (tTestDesc*)NULL + +/* + * Fix Command Arguments for Hpux_Pthread_Initializers + */ +static const char* apzHpux_Pthread_InitializersPatch[] = { sed_cmd_z, + "-e", "s@^[ \t]*1, 1, 1, 1,[ \t]*\\\\@\t{ 1, 1, 1, 1 },\t\t\t\t\t\t\t\\\\@", + "-e", "s@^[ \t]*1,[ \t]*\\\\@\t{ 1, 0 }@", + "-e", "/^[ \t]*0$/d", + "-e", "s@__PTHREAD_MUTEX_VALID, 0@{ __PTHREAD_MUTEX_VALID, 0 }@", + "-e", "s@^[ \t]*0, 0, -1, 0,[ \t]*\\\\@\t{ 0, 0, -1, 0 },\t\t\t\t\t\t\\\\@", + "-e", "s@0, __LWP_MTX_VALID, 0, 1, 1, 1, 1,[ \t]*\\\\@{ 0, __LWP_MTX_VALID }, { 0, 1, 1, 1, 1 },\t\t\t\\\\@", + "-e", "s@^[ \t]*__LWP_MTX_VALID, 0, 1, 1, 1, 1,[ \t]*\\\\@\t{ 0, __LWP_MTX_VALID }, { 0, 1, 1, 1, 1 },\t\t\t\\\\@", + "-e", "s@^[ \t]*0, 0[ \t]*\\\\@\t{ 0, 0 }\t\t\t\t\t\t\t\\\\@", + "-e", "s@__PTHREAD_COND_VALID, 0@{ __PTHREAD_COND_VALID, 0 }@", + "-e", "s@__LWP_COND_VALID, 0,[ \t]*\\\\@{ __LWP_COND_VALID, 0 },\t\t\t\t\t\\\\@", + "-e", "s@__PTHREAD_RWLOCK_VALID, 0@{ __PTHREAD_RWLOCK_VALID, 0 }@", + "-e", "s@__LWP_RWLOCK_VALID, 0,[ \t]*\\\\@{ __LWP_RWLOCK_VALID, 0 },\t\t\t\t\t\\\\@", + "-e", "s@^[ \t]*0, 0, 0, 0, 0, 0, 0[ \t]*\\\\@\t{ 0, 0, 0, 0, 0 }, { 0, 0}\t\t\t\t\t\\\\@", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Huge_Val_Hex fix + */ +tSCC zHuge_Val_HexName[] = + "huge_val_hex"; + +/* + * File name selection pattern + */ +tSCC zHuge_Val_HexList[] = + "bits/huge_val.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHuge_Val_HexMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHuge_Val_HexSelect0[] = + "^#[ \t]*define[ \t]*HUGE_VAL[ \t].*0x1\\.0p.*"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zHuge_Val_HexBypass0[] = + "__builtin_huge_val"; + +#define HUGE_VAL_HEX_TEST_CT 2 +static tTestDesc aHuge_Val_HexTests[] = { + { TT_NEGREP, zHuge_Val_HexBypass0, (regex_t*)NULL }, + { TT_EGREP, zHuge_Val_HexSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Huge_Val_Hex + */ +static const char* apzHuge_Val_HexPatch[] = { + "format", + "#define HUGE_VAL (__builtin_huge_val())\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Huge_Valf_Hex fix + */ +tSCC zHuge_Valf_HexName[] = + "huge_valf_hex"; + +/* + * File name selection pattern + */ +tSCC zHuge_Valf_HexList[] = + "bits/huge_val.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHuge_Valf_HexMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHuge_Valf_HexSelect0[] = + "^#[ \t]*define[ \t]*HUGE_VALF[ \t].*0x1\\.0p.*"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zHuge_Valf_HexBypass0[] = + "__builtin_huge_valf"; + +#define HUGE_VALF_HEX_TEST_CT 2 +static tTestDesc aHuge_Valf_HexTests[] = { + { TT_NEGREP, zHuge_Valf_HexBypass0, (regex_t*)NULL }, + { TT_EGREP, zHuge_Valf_HexSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Huge_Valf_Hex + */ +static const char* apzHuge_Valf_HexPatch[] = { + "format", + "#define HUGE_VALF (__builtin_huge_valf())\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Huge_Vall_Hex fix + */ +tSCC zHuge_Vall_HexName[] = + "huge_vall_hex"; + +/* + * File name selection pattern + */ +tSCC zHuge_Vall_HexList[] = + "bits/huge_val.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHuge_Vall_HexMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHuge_Vall_HexSelect0[] = + "^#[ \t]*define[ \t]*HUGE_VALL[ \t].*0x1\\.0p.*"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zHuge_Vall_HexBypass0[] = + "__builtin_huge_vall"; + +#define HUGE_VALL_HEX_TEST_CT 2 +static tTestDesc aHuge_Vall_HexTests[] = { + { TT_NEGREP, zHuge_Vall_HexBypass0, (regex_t*)NULL }, + { TT_EGREP, zHuge_Vall_HexSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Huge_Vall_Hex + */ +static const char* apzHuge_Vall_HexPatch[] = { + "format", + "#define HUGE_VALL (__builtin_huge_vall())\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Int_Abort_Free_And_Exit fix + */ +tSCC zInt_Abort_Free_And_ExitName[] = + "int_abort_free_and_exit"; + +/* + * File name selection pattern + */ +tSCC zInt_Abort_Free_And_ExitList[] = + "stdlib.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzInt_Abort_Free_And_ExitMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zInt_Abort_Free_And_ExitSelect0[] = + "int[ \t]+(abort|free|exit)[ \t]*\\("; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zInt_Abort_Free_And_ExitBypass0[] = + "_CLASSIC_ANSI_TYPES"; + +#define INT_ABORT_FREE_AND_EXIT_TEST_CT 2 +static tTestDesc aInt_Abort_Free_And_ExitTests[] = { + { TT_NEGREP, zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL }, + { TT_EGREP, zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Int_Abort_Free_And_Exit + */ +static const char* apzInt_Abort_Free_And_ExitPatch[] = { + "format", + "void\t%1(", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Io_Quotes_Def fix + */ +tSCC zIo_Quotes_DefName[] = + "io_quotes_def"; + +/* + * File name selection pattern + */ +#define zIo_Quotes_DefList (char*)NULL +/* + * Machine/OS name selection pattern + */ +#define apzIo_Quotes_DefMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIo_Quotes_DefSelect0[] = + "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]"; + +#define IO_QUOTES_DEF_TEST_CT 1 +static tTestDesc aIo_Quotes_DefTests[] = { + { TT_EGREP, zIo_Quotes_DefSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Io_Quotes_Def + */ +static const char* apzIo_Quotes_DefPatch[] = { + "char_macro_def", + "IO", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Io_Quotes_Use fix + */ +tSCC zIo_Quotes_UseName[] = + "io_quotes_use"; + +/* + * File name selection pattern + */ +#define zIo_Quotes_UseList (char*)NULL +/* + * Machine/OS name selection pattern + */ +#define apzIo_Quotes_UseMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIo_Quotes_UseSelect0[] = + "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']"; + +#define IO_QUOTES_USE_TEST_CT 1 +static tTestDesc aIo_Quotes_UseTests[] = { + { TT_EGREP, zIo_Quotes_UseSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Io_Quotes_Use + */ +static const char* apzIo_Quotes_UsePatch[] = { + "char_macro_use", + "IO", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Ip_Missing_Semi fix + */ +tSCC zIp_Missing_SemiName[] = + "ip_missing_semi"; + +/* + * File name selection pattern + */ +tSCC zIp_Missing_SemiList[] = + "netinet/ip.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzIp_Missing_SemiMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIp_Missing_SemiSelect0[] = + "}$"; + +#define IP_MISSING_SEMI_TEST_CT 1 +static tTestDesc aIp_Missing_SemiTests[] = { + { TT_EGREP, zIp_Missing_SemiSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Ip_Missing_Semi + */ +static const char* apzIp_Missing_SemiPatch[] = { sed_cmd_z, + "-e", "/^struct/,/^};/s/}$/};/", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Irix___Restrict fix + */ +tSCC zIrix___RestrictName[] = + "irix___restrict"; + +/* + * File name selection pattern + */ +tSCC zIrix___RestrictList[] = + "internal/sgimacros.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzIrix___RestrictMachs[] = { + "mips-sgi-irix6.5", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIrix___RestrictSelect0[] = + "(#ifdef __c99\n\ +)(#[ \t]*define __restrict restrict)"; + +#define IRIX___RESTRICT_TEST_CT 1 +static tTestDesc aIrix___RestrictTests[] = { + { TT_EGREP, zIrix___RestrictSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Irix___Restrict + */ +static const char* apzIrix___RestrictPatch[] = { + "format", + "%1# ifndef __cplusplus\n\ +%2\n\ +# endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Irix___Generic1 fix + */ +tSCC zIrix___Generic1Name[] = + "irix___generic1"; + +/* + * File name selection pattern + */ +tSCC zIrix___Generic1List[] = + "internal/math_core.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzIrix___Generic1Machs[] = { + "mips-sgi-irix6.5", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIrix___Generic1Select0[] = + "#define ([a-z]+)\\(x\\) *__generic.*"; + +#define IRIX___GENERIC1_TEST_CT 1 +static tTestDesc aIrix___Generic1Tests[] = { + { TT_EGREP, zIrix___Generic1Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Irix___Generic1 + */ +static const char* apzIrix___Generic1Patch[] = { + "format", + "extern int %1(double);\n\ +extern int %1f(float);\n\ +extern int %1l(long double);\n\ +#define %1(x) (sizeof(x) == sizeof(double) ? _%1(x) \\\n\ + : sizeof(x) == sizeof(float) ? _%1f(x) \\\n\ + : _%1l(x))\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Irix___Generic2 fix + */ +tSCC zIrix___Generic2Name[] = + "irix___generic2"; + +/* + * File name selection pattern + */ +tSCC zIrix___Generic2List[] = + "internal/math_core.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzIrix___Generic2Machs[] = { + "mips-sgi-irix6.5", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIrix___Generic2Select0[] = + "#define ([a-z]+)\\(x,y\\) *__generic.*"; + +#define IRIX___GENERIC2_TEST_CT 1 +static tTestDesc aIrix___Generic2Tests[] = { + { TT_EGREP, zIrix___Generic2Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Irix___Generic2 + */ +static const char* apzIrix___Generic2Patch[] = { + "format", + "#define %1(x,y) \\\n\ + ((sizeof(x)<=4 && sizeof(y)<=4) ? _%1f(x,y) \\\n\ + : (sizeof(x)<=8 && sizeof(y)<=8) ? _%1(x,y) \\\n\ + : _%1l(x,y))\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Irix_Asm_Apostrophe fix + */ +tSCC zIrix_Asm_ApostropheName[] = + "irix_asm_apostrophe"; + +/* + * File name selection pattern + */ +tSCC zIrix_Asm_ApostropheList[] = + "sys/asm.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzIrix_Asm_ApostropheMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIrix_Asm_ApostropheSelect0[] = + "^[ \t]*#.*[Ww]e're"; + +#define IRIX_ASM_APOSTROPHE_TEST_CT 1 +static tTestDesc aIrix_Asm_ApostropheTests[] = { + { TT_EGREP, zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Irix_Asm_Apostrophe + */ +static const char* apzIrix_Asm_ApostrophePatch[] = { + "format", + "%1 are", + "^([ \t]*#.*[Ww]e)'re", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Irix_Limits_Const fix + */ +tSCC zIrix_Limits_ConstName[] = + "irix_limits_const"; + +/* + * File name selection pattern + */ +tSCC zIrix_Limits_ConstList[] = + "fixinc-test-limits.h\0limits.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzIrix_Limits_ConstMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIrix_Limits_ConstSelect0[] = + "^extern const "; + +#define IRIX_LIMITS_CONST_TEST_CT 1 +static tTestDesc aIrix_Limits_ConstTests[] = { + { TT_EGREP, zIrix_Limits_ConstSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Irix_Limits_Const + */ +static const char* apzIrix_Limits_ConstPatch[] = { + "format", + "extern __const ", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Irix_Socklen_T fix + */ +tSCC zIrix_Socklen_TName[] = + "irix_socklen_t"; + +/* + * File name selection pattern + */ +tSCC zIrix_Socklen_TList[] = + "sys/socket.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzIrix_Socklen_TMachs[] = { + "mips-sgi-irix6.5", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIrix_Socklen_TSelect0[] = + "(#define _SOCKLEN_T\n\ +)(typedef u_int32_t socklen_t;)"; + +#define IRIX_SOCKLEN_T_TEST_CT 1 +static tTestDesc aIrix_Socklen_TTests[] = { + { TT_EGREP, zIrix_Socklen_TSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Irix_Socklen_T + */ +static const char* apzIrix_Socklen_TPatch[] = { + "format", + "%1#if _NO_XOPEN4 && _NO_XOPEN5\n\ +typedef int socklen_t;\n\ +#else\n\ +%2\n\ +#endif /* _NO_XOPEN4 && _NO_XOPEN5 */", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Irix_Stdint_C99 fix + */ +tSCC zIrix_Stdint_C99Name[] = + "irix_stdint_c99"; + +/* + * File name selection pattern + */ +tSCC zIrix_Stdint_C99List[] = + "stdint.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzIrix_Stdint_C99Machs[] = { + "mips-sgi-irix6.5", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIrix_Stdint_C99Select0[] = + "(#ifndef __c99\n\ +)(#error This header file is to be used only for c99 mode compilations)"; + +#define IRIX_STDINT_C99_TEST_CT 1 +static tTestDesc aIrix_Stdint_C99Tests[] = { + { TT_EGREP, zIrix_Stdint_C99Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Irix_Stdint_C99 + */ +static const char* apzIrix_Stdint_C99Patch[] = { + "format", + "#if 0\n\ +%2", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Irix_Stdio_Va_List fix + */ +tSCC zIrix_Stdio_Va_ListName[] = + "irix_stdio_va_list"; + +/* + * File name selection pattern + */ +tSCC zIrix_Stdio_Va_ListList[] = + "stdio.h\0internal/stdio_core.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzIrix_Stdio_Va_ListMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIrix_Stdio_Va_ListSelect0[] = + "/\\* va_list \\*/ char \\*"; + +#define IRIX_STDIO_VA_LIST_TEST_CT 1 +static tTestDesc aIrix_Stdio_Va_ListTests[] = { + { TT_EGREP, zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Irix_Stdio_Va_List + */ +static const char* apzIrix_Stdio_Va_ListPatch[] = { + "format", + "__gnuc_va_list", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Irix_Wcsftime fix + */ +tSCC zIrix_WcsftimeName[] = + "irix_wcsftime"; + +/* + * File name selection pattern + */ +tSCC zIrix_WcsftimeList[] = + "internal/wchar_core.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzIrix_WcsftimeMachs[] = { + "mips-sgi-irix6.5", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIrix_WcsftimeSelect0[] = + "#if _NO_XOPEN5\n\ +(extern size_t[ \t]+wcsftime.*const char *.*)"; + +#define IRIX_WCSFTIME_TEST_CT 1 +static tTestDesc aIrix_WcsftimeTests[] = { + { TT_EGREP, zIrix_WcsftimeSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Irix_Wcsftime + */ +static const char* apzIrix_WcsftimePatch[] = { + "format", + "#if _NO_XOPEN5 && !defined(__c99)\n\ +%1", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Isc_Fmod fix + */ +tSCC zIsc_FmodName[] = + "isc_fmod"; + +/* + * File name selection pattern + */ +tSCC zIsc_FmodList[] = + "math.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzIsc_FmodMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIsc_FmodSelect0[] = + "fmod\\(double\\)"; + +#define ISC_FMOD_TEST_CT 1 +static tTestDesc aIsc_FmodTests[] = { + { TT_EGREP, zIsc_FmodSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Isc_Fmod + */ +static const char* apzIsc_FmodPatch[] = { + "format", + "fmod(double, double)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Isc_Omits_With_Stdc fix + */ +tSCC zIsc_Omits_With_StdcName[] = + "isc_omits_with_stdc"; + +/* + * File name selection pattern + */ +tSCC zIsc_Omits_With_StdcList[] = + "stdio.h\0math.h\0ctype.h\0sys/limits.h\0sys/fcntl.h\0sys/dirent.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzIsc_Omits_With_StdcMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zIsc_Omits_With_StdcSelect0[] = + "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)"; + +#define ISC_OMITS_WITH_STDC_TEST_CT 1 +static tTestDesc aIsc_Omits_With_StdcTests[] = { + { TT_EGREP, zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Isc_Omits_With_Stdc + */ +static const char* apzIsc_Omits_With_StdcPatch[] = { + "format", + "!defined(_POSIX_SOURCE)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Kandr_Concat fix + */ +tSCC zKandr_ConcatName[] = + "kandr_concat"; + +/* + * File name selection pattern + */ +tSCC zKandr_ConcatList[] = + "sparc/asm_linkage.h\0sun*/asm_linkage.h\0arm/as_support.h\0arm/mc_type.h\0arm/xcb.h\0dev/chardefmac.h\0dev/ps_irq.h\0dev/screen.h\0dev/scsi.h\0sys/tty.h\0Xm.acorn/XmP.h\0bsd43/bsd43_.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzKandr_ConcatMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zKandr_ConcatSelect0[] = + "/\\*\\*/"; + +#define KANDR_CONCAT_TEST_CT 1 +static tTestDesc aKandr_ConcatTests[] = { + { TT_EGREP, zKandr_ConcatSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Kandr_Concat + */ +static const char* apzKandr_ConcatPatch[] = { + "format", + "##", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Linux_Ia64_Ucontext fix + */ +tSCC zLinux_Ia64_UcontextName[] = + "linux_ia64_ucontext"; + +/* + * File name selection pattern + */ +tSCC zLinux_Ia64_UcontextList[] = + "sys/ucontext.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzLinux_Ia64_UcontextMachs[] = { + "ia64-*-linux*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zLinux_Ia64_UcontextSelect0[] = + "\\(\\(\\(char \\*\\) &\\(\\(struct sigcontext \\*\\) 0\\)->sc_gr\\[0\\]\\) - \\(char \\*\\) 0\\)"; + +#define LINUX_IA64_UCONTEXT_TEST_CT 1 +static tTestDesc aLinux_Ia64_UcontextTests[] = { + { TT_EGREP, zLinux_Ia64_UcontextSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Linux_Ia64_Ucontext + */ +static const char* apzLinux_Ia64_UcontextPatch[] = { + "format", + "__builtin_offsetof (struct sigcontext, sc_gr[0])", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Lynxos_No_Warning_In_Sys_Time_H fix + */ +tSCC zLynxos_No_Warning_In_Sys_Time_HName[] = + "lynxos_no_warning_in_sys_time_h"; + +/* + * File name selection pattern + */ +tSCC zLynxos_No_Warning_In_Sys_Time_HList[] = + "sys/time.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzLynxos_No_Warning_In_Sys_Time_HMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zLynxos_No_Warning_In_Sys_Time_HSelect0[] = + "#warning[ \t]+Using <time.h> instead of <sys/time.h>"; + +#define LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT 1 +static tTestDesc aLynxos_No_Warning_In_Sys_Time_HTests[] = { + { TT_EGREP, zLynxos_No_Warning_In_Sys_Time_HSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Lynxos_No_Warning_In_Sys_Time_H + */ +static const char* apzLynxos_No_Warning_In_Sys_Time_HPatch[] = { + "format", + "", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Lynxos_Missing_Putenv fix + */ +tSCC zLynxos_Missing_PutenvName[] = + "lynxos_missing_putenv"; + +/* + * File name selection pattern + */ +tSCC zLynxos_Missing_PutenvList[] = + "stdlib.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzLynxos_Missing_PutenvMachs[] = { + "*-*-lynxos*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zLynxos_Missing_PutenvSelect0[] = + "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zLynxos_Missing_PutenvBypass0[] = + "putenv[ \\t]*\\("; + +#define LYNXOS_MISSING_PUTENV_TEST_CT 2 +static tTestDesc aLynxos_Missing_PutenvTests[] = { + { TT_NEGREP, zLynxos_Missing_PutenvBypass0, (regex_t*)NULL }, + { TT_EGREP, zLynxos_Missing_PutenvSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Lynxos_Missing_Putenv + */ +static const char* apzLynxos_Missing_PutenvPatch[] = { + "format", + "%0\n\ +extern int putenv\t\t\t\t_AP((char *));", + "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Machine_Ansi_H_Va_List fix + */ +tSCC zMachine_Ansi_H_Va_ListName[] = + "machine_ansi_h_va_list"; + +/* + * File name selection pattern + */ +#define zMachine_Ansi_H_Va_ListList (char*)NULL +/* + * Machine/OS name selection pattern + */ +#define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zMachine_Ansi_H_Va_ListSelect0[] = + "define[ \t]+_BSD_VA_LIST_[ \t]"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zMachine_Ansi_H_Va_ListBypass0[] = + "__builtin_va_list"; + +#define MACHINE_ANSI_H_VA_LIST_TEST_CT 2 +static tTestDesc aMachine_Ansi_H_Va_ListTests[] = { + { TT_NEGREP, zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL }, + { TT_EGREP, zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Machine_Ansi_H_Va_List + */ +static const char* apzMachine_Ansi_H_Va_ListPatch[] = { + "format", + "%1__builtin_va_list", + "(define[ \t]+_BSD_VA_LIST_[ \t]+).*", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Machine_Name fix + */ +tSCC zMachine_NameName[] = + "machine_name"; + +/* + * File name selection pattern + */ +#define zMachine_NameList (char*)NULL +/* + * Machine/OS name selection pattern + */ +#define apzMachine_NameMachs (const char**)NULL + +/* + * perform the C function call test + */ +tSCC zMachine_NameFTst0[] = "machine_name"; + +#define MACHINE_NAME_TEST_CT 1 +static tTestDesc aMachine_NameTests[] = { + { TT_FUNCTION, zMachine_NameFTst0, 0 /* unused */ }, }; + +/* + * Fix Command Arguments for Machine_Name + */ +static const char* apzMachine_NamePatch[] = { + "machine_name", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Math_Exception fix + */ +tSCC zMath_ExceptionName[] = + "math_exception"; + +/* + * File name selection pattern + */ +tSCC zMath_ExceptionList[] = + "math.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzMath_ExceptionMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zMath_ExceptionSelect0[] = + "struct exception"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zMath_ExceptionBypass0[] = + "We have a problem when using C\\+\\+|for C\\+\\+, _[a-z0-9A-Z_]+_exception; for C, exception"; + +#define MATH_EXCEPTION_TEST_CT 2 +static tTestDesc aMath_ExceptionTests[] = { + { TT_NEGREP, zMath_ExceptionBypass0, (regex_t*)NULL }, + { TT_EGREP, zMath_ExceptionSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Math_Exception + */ +static const char* apzMath_ExceptionPatch[] = { + "wrap", + "#ifdef __cplusplus\n\ +#define exception __math_exception\n\ +#endif\n", + "#ifdef __cplusplus\n\ +#undef exception\n\ +#endif\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Math_Huge_Val_From_Dbl_Max fix + */ +tSCC zMath_Huge_Val_From_Dbl_MaxName[] = + "math_huge_val_from_dbl_max"; + +/* + * File name selection pattern + */ +tSCC zMath_Huge_Val_From_Dbl_MaxList[] = + "math.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] = + "define[ \t]+HUGE_VAL[ \t]+DBL_MAX"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] = + "define[ \t]+DBL_MAX"; + +#define MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT 2 +static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = { + { TT_NEGREP, zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL }, + { TT_EGREP, zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Math_Huge_Val_From_Dbl_Max + */ +static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c", + "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\ +\tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\ +\tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\ +\telse cat\n\ +\tfi", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Nested_Auth_Des fix + */ +tSCC zNested_Auth_DesName[] = + "nested_auth_des"; + +/* + * File name selection pattern + */ +tSCC zNested_Auth_DesList[] = + "rpc/rpc.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzNested_Auth_DesMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zNested_Auth_DesSelect0[] = + "(/\\*.*rpc/auth_des\\.h>.*)/\\*"; + +#define NESTED_AUTH_DES_TEST_CT 1 +static tTestDesc aNested_Auth_DesTests[] = { + { TT_EGREP, zNested_Auth_DesSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Nested_Auth_Des + */ +static const char* apzNested_Auth_DesPatch[] = { + "format", + "%1*/ /*", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Nested_Sys_Limits fix + */ +tSCC zNested_Sys_LimitsName[] = + "nested_sys_limits"; + +/* + * File name selection pattern + */ +tSCC zNested_Sys_LimitsList[] = + "sys/limits.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzNested_Sys_LimitsMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zNested_Sys_LimitsSelect0[] = + "CHILD_MAX"; + +#define NESTED_SYS_LIMITS_TEST_CT 1 +static tTestDesc aNested_Sys_LimitsTests[] = { + { TT_EGREP, zNested_Sys_LimitsSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Nested_Sys_Limits + */ +static const char* apzNested_Sys_LimitsPatch[] = { sed_cmd_z, + "-e", "/CHILD_MAX/s,/\\* Max, Max,", + "-e", "/OPEN_MAX/s,/\\* Max, Max,", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Netbsd_C99_Inline_1 fix + */ +tSCC zNetbsd_C99_Inline_1Name[] = + "netbsd_c99_inline_1"; + +/* + * File name selection pattern + */ +tSCC zNetbsd_C99_Inline_1List[] = + "signal.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzNetbsd_C99_Inline_1Machs[] = { + "*-*-netbsd*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zNetbsd_C99_Inline_1Select0[] = + "extern __inline int"; + +#define NETBSD_C99_INLINE_1_TEST_CT 1 +static tTestDesc aNetbsd_C99_Inline_1Tests[] = { + { TT_EGREP, zNetbsd_C99_Inline_1Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Netbsd_C99_Inline_1 + */ +static const char* apzNetbsd_C99_Inline_1Patch[] = { + "format", + "extern\n\ +#ifdef __GNUC_STDC_INLINE__\n\ +__attribute__((__gnu_inline__))\n\ +#endif\n\ +__inline int", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Netbsd_C99_Inline_2 fix + */ +tSCC zNetbsd_C99_Inline_2Name[] = + "netbsd_c99_inline_2"; + +/* + * File name selection pattern + */ +tSCC zNetbsd_C99_Inline_2List[] = + "signal.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzNetbsd_C99_Inline_2Machs[] = { + "*-*-netbsd*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zNetbsd_C99_Inline_2Select0[] = + "#define _SIGINLINE extern __inline"; + +#define NETBSD_C99_INLINE_2_TEST_CT 1 +static tTestDesc aNetbsd_C99_Inline_2Tests[] = { + { TT_EGREP, zNetbsd_C99_Inline_2Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Netbsd_C99_Inline_2 + */ +static const char* apzNetbsd_C99_Inline_2Patch[] = { + "format", + "#ifdef __GNUC_STDC_INLINE__\n\ +#define _SIGINLINE extern __attribute__((__gnu_inline__)) __inline\n\ +#else\n\ +%0\n\ +#endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Netbsd_Extra_Semicolon fix + */ +tSCC zNetbsd_Extra_SemicolonName[] = + "netbsd_extra_semicolon"; + +/* + * File name selection pattern + */ +tSCC zNetbsd_Extra_SemicolonList[] = + "sys/cdefs.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzNetbsd_Extra_SemicolonMachs[] = { + "*-*-netbsd*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zNetbsd_Extra_SemicolonSelect0[] = + "#define[ \t]*__END_DECLS[ \t]*};"; + +#define NETBSD_EXTRA_SEMICOLON_TEST_CT 1 +static tTestDesc aNetbsd_Extra_SemicolonTests[] = { + { TT_EGREP, zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Netbsd_Extra_Semicolon + */ +static const char* apzNetbsd_Extra_SemicolonPatch[] = { + "format", + "#define __END_DECLS }", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Next_Math_Prefix fix + */ +tSCC zNext_Math_PrefixName[] = + "next_math_prefix"; + +/* + * File name selection pattern + */ +tSCC zNext_Math_PrefixList[] = + "ansi/math.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzNext_Math_PrefixMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zNext_Math_PrefixSelect0[] = + "^extern[ \t]+double[ \t]+__const__[ \t]"; + +#define NEXT_MATH_PREFIX_TEST_CT 1 +static tTestDesc aNext_Math_PrefixTests[] = { + { TT_EGREP, zNext_Math_PrefixSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Next_Math_Prefix + */ +static const char* apzNext_Math_PrefixPatch[] = { + "format", + "extern double %1(", + "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Next_Template fix + */ +tSCC zNext_TemplateName[] = + "next_template"; + +/* + * File name selection pattern + */ +tSCC zNext_TemplateList[] = + "bsd/libc.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzNext_TemplateMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zNext_TemplateSelect0[] = + "[ \t]template\\)"; + +#define NEXT_TEMPLATE_TEST_CT 1 +static tTestDesc aNext_TemplateTests[] = { + { TT_EGREP, zNext_TemplateSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Next_Template + */ +static const char* apzNext_TemplatePatch[] = { + "format", + "(%1)", + "\\(([^)]*)[ \t]template\\)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Next_Volitile fix + */ +tSCC zNext_VolitileName[] = + "next_volitile"; + +/* + * File name selection pattern + */ +tSCC zNext_VolitileList[] = + "ansi/stdlib.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzNext_VolitileMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zNext_VolitileSelect0[] = + "^extern[ \t]+volatile[ \t]+void[ \t]"; + +#define NEXT_VOLITILE_TEST_CT 1 +static tTestDesc aNext_VolitileTests[] = { + { TT_EGREP, zNext_VolitileSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Next_Volitile + */ +static const char* apzNext_VolitilePatch[] = { + "format", + "extern void %1(", + "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Next_Wait_Union fix + */ +tSCC zNext_Wait_UnionName[] = + "next_wait_union"; + +/* + * File name selection pattern + */ +tSCC zNext_Wait_UnionList[] = + "sys/wait.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzNext_Wait_UnionMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zNext_Wait_UnionSelect0[] = + "wait\\(union wait"; + +#define NEXT_WAIT_UNION_TEST_CT 1 +static tTestDesc aNext_Wait_UnionTests[] = { + { TT_EGREP, zNext_Wait_UnionSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Next_Wait_Union + */ +static const char* apzNext_Wait_UnionPatch[] = { + "format", + "wait(void", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Nodeent_Syntax fix + */ +tSCC zNodeent_SyntaxName[] = + "nodeent_syntax"; + +/* + * File name selection pattern + */ +tSCC zNodeent_SyntaxList[] = + "netdnet/dnetdb.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzNodeent_SyntaxMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zNodeent_SyntaxSelect0[] = + "char[ \t]*\\*na_addr[ \t]*$"; + +#define NODEENT_SYNTAX_TEST_CT 1 +static tTestDesc aNodeent_SyntaxTests[] = { + { TT_EGREP, zNodeent_SyntaxSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Nodeent_Syntax + */ +static const char* apzNodeent_SyntaxPatch[] = { + "format", + "%0;", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Openbsd_Null_Definition fix + */ +tSCC zOpenbsd_Null_DefinitionName[] = + "openbsd_null_definition"; + +/* + * File name selection pattern + */ +tSCC zOpenbsd_Null_DefinitionList[] = + "locale.h\0stddef.h\0stdio.h\0string.h\0time.h\0unistd.h\0wchar.h\0sys/param.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzOpenbsd_Null_DefinitionMachs[] = { + "*-*-openbsd*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zOpenbsd_Null_DefinitionSelect0[] = + "__GNUG__"; + +#define OPENBSD_NULL_DEFINITION_TEST_CT 1 +static tTestDesc aOpenbsd_Null_DefinitionTests[] = { + { TT_EGREP, zOpenbsd_Null_DefinitionSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Openbsd_Null_Definition + */ +static const char* apzOpenbsd_Null_DefinitionPatch[] = { + "format", + "#ifndef NULL\n\ +#ifdef __cplusplus\n\ +#ifdef __GNUG__\n\ +#define NULL\t__null\n\ +#else\t /* ! __GNUG__ */\n\ +#define NULL\t0L\n\ +#endif\t /* __GNUG__ */\n\ +#else\t /* ! __cplusplus */\n\ +#define NULL\t((void *)0)\n\ +#endif\t /* __cplusplus */\n\ +#endif\t /* !NULL */", + "^#ifndef[ \t]*NULL\n\ +^#ifdef[ \t]*__GNUG__\n\ +^#define[ \t]*NULL[ \t]*__null\n\ +^#else\n\ +^#define[ \t]*NULL[ \t]*0L\n\ +^#endif\n\ +^#endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Obstack_Lvalue_Cast fix + */ +tSCC zObstack_Lvalue_CastName[] = + "obstack_lvalue_cast"; + +/* + * File name selection pattern + */ +tSCC zObstack_Lvalue_CastList[] = + "obstack.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzObstack_Lvalue_CastMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zObstack_Lvalue_CastSelect0[] = + "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)"; + +#define OBSTACK_LVALUE_CAST_TEST_CT 1 +static tTestDesc aObstack_Lvalue_CastTests[] = { + { TT_EGREP, zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Obstack_Lvalue_Cast + */ +static const char* apzObstack_Lvalue_CastPatch[] = { + "format", + "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Openbsd_Va_Start fix + */ +tSCC zOpenbsd_Va_StartName[] = + "openbsd_va_start"; + +/* + * File name selection pattern + */ +tSCC zOpenbsd_Va_StartList[] = + "stdarg.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzOpenbsd_Va_StartMachs[] = { + "*-*-openbsd*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zOpenbsd_Va_StartSelect0[] = + "__builtin_stdarg_start"; + +#define OPENBSD_VA_START_TEST_CT 1 +static tTestDesc aOpenbsd_Va_StartTests[] = { + { TT_EGREP, zOpenbsd_Va_StartSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Openbsd_Va_Start + */ +static const char* apzOpenbsd_Va_StartPatch[] = { + "format", + "__builtin_va_start", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Osf_Namespace_A fix + */ +tSCC zOsf_Namespace_AName[] = + "osf_namespace_a"; + +/* + * File name selection pattern + */ +tSCC zOsf_Namespace_AList[] = + "reg_types.h\0sys/lc_core.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzOsf_Namespace_AMachs (const char**)NULL + +/* + * perform the 'test' shell command - do fix on success + */ +tSCC zOsf_Namespace_ATest0[] = + " -r reg_types.h"; +tSCC zOsf_Namespace_ATest1[] = + " -r sys/lc_core.h"; +tSCC zOsf_Namespace_ATest2[] = + " -n \"`grep '} regex_t;' reg_types.h`\""; +tSCC zOsf_Namespace_ATest3[] = + " -z \"`grep __regex_t regex.h`\""; + +#define OSF_NAMESPACE_A_TEST_CT 4 +static tTestDesc aOsf_Namespace_ATests[] = { + { TT_TEST, zOsf_Namespace_ATest0, 0 /* unused */ }, + { TT_TEST, zOsf_Namespace_ATest1, 0 /* unused */ }, + { TT_TEST, zOsf_Namespace_ATest2, 0 /* unused */ }, + { TT_TEST, zOsf_Namespace_ATest3, 0 /* unused */ }, }; + +/* + * Fix Command Arguments for Osf_Namespace_A + */ +static const char* apzOsf_Namespace_APatch[] = { + "format", + "__%0", + "reg(ex|off|match)_t", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Osf_Namespace_C fix + */ +tSCC zOsf_Namespace_CName[] = + "osf_namespace_c"; + +/* + * File name selection pattern + */ +tSCC zOsf_Namespace_CList[] = + "regex.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzOsf_Namespace_CMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zOsf_Namespace_CSelect0[] = + "#include <reg_types.h>.*"; + +/* + * perform the 'test' shell command - do fix on success + */ +tSCC zOsf_Namespace_CTest0[] = + " -r reg_types.h"; +tSCC zOsf_Namespace_CTest1[] = + " -r sys/lc_core.h"; +tSCC zOsf_Namespace_CTest2[] = + " -n \"`grep '} regex_t;' reg_types.h`\""; +tSCC zOsf_Namespace_CTest3[] = + " -z \"`grep __regex_t regex.h`\""; + +#define OSF_NAMESPACE_C_TEST_CT 5 +static tTestDesc aOsf_Namespace_CTests[] = { + { TT_TEST, zOsf_Namespace_CTest0, 0 /* unused */ }, + { TT_TEST, zOsf_Namespace_CTest1, 0 /* unused */ }, + { TT_TEST, zOsf_Namespace_CTest2, 0 /* unused */ }, + { TT_TEST, zOsf_Namespace_CTest3, 0 /* unused */ }, + { TT_EGREP, zOsf_Namespace_CSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Osf_Namespace_C + */ +static const char* apzOsf_Namespace_CPatch[] = { + "format", + "%0\n\ +typedef __regex_t\tregex_t;\n\ +typedef __regoff_t\tregoff_t;\n\ +typedef __regmatch_t\tregmatch_t;", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Pthread_Page_Size fix + */ +tSCC zPthread_Page_SizeName[] = + "pthread_page_size"; + +/* + * File name selection pattern + */ +tSCC zPthread_Page_SizeList[] = + "pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzPthread_Page_SizeMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zPthread_Page_SizeSelect0[] = + "^int __page_size"; + +#define PTHREAD_PAGE_SIZE_TEST_CT 1 +static tTestDesc aPthread_Page_SizeTests[] = { + { TT_EGREP, zPthread_Page_SizeSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Pthread_Page_Size + */ +static const char* apzPthread_Page_SizePatch[] = { + "format", + "extern %0", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Pthread_Incomplete_Struct_Argument fix + */ +tSCC zPthread_Incomplete_Struct_ArgumentName[] = + "pthread_incomplete_struct_argument"; + +/* + * File name selection pattern + */ +tSCC zPthread_Incomplete_Struct_ArgumentList[] = + "pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] = + "struct __jmp_buf_tag"; + +#define PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT 1 +static tTestDesc aPthread_Incomplete_Struct_ArgumentTests[] = { + { TT_EGREP, zPthread_Incomplete_Struct_ArgumentSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Pthread_Incomplete_Struct_Argument + */ +static const char* apzPthread_Incomplete_Struct_ArgumentPatch[] = { + "format", + "%1 *%2%3", + "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Read_Ret_Type fix + */ +tSCC zRead_Ret_TypeName[] = + "read_ret_type"; + +/* + * File name selection pattern + */ +tSCC zRead_Ret_TypeList[] = + "stdio.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzRead_Ret_TypeMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zRead_Ret_TypeSelect0[] = + "extern int\t.*, fread\\(\\), fwrite\\(\\)"; + +#define READ_RET_TYPE_TEST_CT 1 +static tTestDesc aRead_Ret_TypeTests[] = { + { TT_EGREP, zRead_Ret_TypeSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Read_Ret_Type + */ +static const char* apzRead_Ret_TypePatch[] = { + "format", + "extern unsigned int fread(), fwrite();\n\ +%1%2", + "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Rpc_Xdr_Lvalue_Cast_A fix + */ +tSCC zRpc_Xdr_Lvalue_Cast_AName[] = + "rpc_xdr_lvalue_cast_a"; + +/* + * File name selection pattern + */ +tSCC zRpc_Xdr_Lvalue_Cast_AList[] = + "rpc/xdr.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] = + "#define[ \t]*IXDR_GET_LONG.*\\\\\n\ +.*__extension__.*"; + +#define RPC_XDR_LVALUE_CAST_A_TEST_CT 1 +static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = { + { TT_EGREP, zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A + */ +static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = { + "format", + "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Rpc_Xdr_Lvalue_Cast_B fix + */ +tSCC zRpc_Xdr_Lvalue_Cast_BName[] = + "rpc_xdr_lvalue_cast_b"; + +/* + * File name selection pattern + */ +tSCC zRpc_Xdr_Lvalue_Cast_BList[] = + "rpc/xdr.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] = + "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\ +.*__extension__.*"; + +#define RPC_XDR_LVALUE_CAST_B_TEST_CT 1 +static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = { + { TT_EGREP, zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B + */ +static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = { + "format", + "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Rs6000_Double fix + */ +tSCC zRs6000_DoubleName[] = + "rs6000_double"; + +/* + * File name selection pattern + */ +tSCC zRs6000_DoubleList[] = + "math.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzRs6000_DoubleMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zRs6000_DoubleSelect0[] = + "[^a-zA-Z_]class\\("; + +#define RS6000_DOUBLE_TEST_CT 1 +static tTestDesc aRs6000_DoubleTests[] = { + { TT_EGREP, zRs6000_DoubleSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Rs6000_Double + */ +static const char* apzRs6000_DoublePatch[] = { + "format", + "#ifndef __cplusplus\n\ +%0\n\ +#endif", + "^.*[^a-zA-Z_]class\\(.*", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Rs6000_Fchmod fix + */ +tSCC zRs6000_FchmodName[] = + "rs6000_fchmod"; + +/* + * File name selection pattern + */ +tSCC zRs6000_FchmodList[] = + "sys/stat.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzRs6000_FchmodMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zRs6000_FchmodSelect0[] = + "fchmod\\(char \\*"; + +#define RS6000_FCHMOD_TEST_CT 1 +static tTestDesc aRs6000_FchmodTests[] = { + { TT_EGREP, zRs6000_FchmodSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Rs6000_Fchmod + */ +static const char* apzRs6000_FchmodPatch[] = { + "format", + "fchmod(int", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Rs6000_Param fix + */ +tSCC zRs6000_ParamName[] = + "rs6000_param"; + +/* + * File name selection pattern + */ +tSCC zRs6000_ParamList[] = + "stdio.h\0unistd.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzRs6000_ParamMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zRs6000_ParamSelect0[] = + "rename\\(const char \\*old, const char \\*new\\)"; + +#define RS6000_PARAM_TEST_CT 1 +static tTestDesc aRs6000_ParamTests[] = { + { TT_EGREP, zRs6000_ParamSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Rs6000_Param + */ +static const char* apzRs6000_ParamPatch[] = { + "format", + "rename(const char *_old, const char *_new)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Sco_Math fix + */ +tSCC zSco_MathName[] = + "sco_math"; + +/* + * File name selection pattern + */ +tSCC zSco_MathList[] = + "math.h\0*/math.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSco_MathMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSco_MathSelect0[] = + "inline double abs"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSco_MathBypass0[] = + "__GNUG__"; + +#define SCO_MATH_TEST_CT 2 +static tTestDesc aSco_MathTests[] = { + { TT_NEGREP, zSco_MathBypass0, (regex_t*)NULL }, + { TT_EGREP, zSco_MathSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Sco_Math + */ +static const char* apzSco_MathPatch[] = { sed_cmd_z, + "-e", "/#define.*__fp_class(a) \\\\/i\\\n\ +#ifndef __GNUC__\n", + "-e", "/.*__builtin_generic/a\\\n\ +#else\\\n\ +#define __fp_class(a) \\\\\\\n\ + __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\ + __fpclassifyl(a), \\\\\\\n\ + __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\ + __fpclassifyf(a),__fpclassify(a)))\\\n\ +#endif", + "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\ +#ifndef __GNUC__\n", + "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\ +#endif /* ! __GNUC__ */", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Math_1 fix + */ +tSCC zSolaris_Math_1Name[] = + "solaris_math_1"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Math_1List[] = + "iso/math_c99.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSolaris_Math_1Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Math_1Select0[] = + "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSolaris_Math_1Bypass0[] = + "__GNUC__"; + +#define SOLARIS_MATH_1_TEST_CT 2 +static tTestDesc aSolaris_Math_1Tests[] = { + { TT_NEGREP, zSolaris_Math_1Bypass0, (regex_t*)NULL }, + { TT_EGREP, zSolaris_Math_1Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Math_1 + */ +static const char* apzSolaris_Math_1Patch[] = { + "format", + "#define\tHUGE_VA%1\t(__builtin_huge_va%2())", + "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Math_2 fix + */ +tSCC zSolaris_Math_2Name[] = + "solaris_math_2"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Math_2List[] = + "iso/math_c99.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSolaris_Math_2Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Math_2Select0[] = + "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSolaris_Math_2Bypass0[] = + "__GNUC__"; + +#define SOLARIS_MATH_2_TEST_CT 2 +static tTestDesc aSolaris_Math_2Tests[] = { + { TT_NEGREP, zSolaris_Math_2Bypass0, (regex_t*)NULL }, + { TT_EGREP, zSolaris_Math_2Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Math_2 + */ +static const char* apzSolaris_Math_2Patch[] = { + "format", + "#define\tINFINITY\t(__builtin_inff())", + "^#define[ \t]+INFINITY[ \t]+__builtin_infinity", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Math_3 fix + */ +tSCC zSolaris_Math_3Name[] = + "solaris_math_3"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Math_3List[] = + "iso/math_c99.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSolaris_Math_3Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Math_3Select0[] = + "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSolaris_Math_3Bypass0[] = + "__GNUC__"; + +#define SOLARIS_MATH_3_TEST_CT 2 +static tTestDesc aSolaris_Math_3Tests[] = { + { TT_NEGREP, zSolaris_Math_3Bypass0, (regex_t*)NULL }, + { TT_EGREP, zSolaris_Math_3Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Math_3 + */ +static const char* apzSolaris_Math_3Patch[] = { + "format", + "#define\tNAN\t\t(__builtin_nanf(\"\"))", + "^#define[ \t]+NAN[ \t]+__builtin_nan", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Math_4 fix + */ +tSCC zSolaris_Math_4Name[] = + "solaris_math_4"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Math_4List[] = + "iso/math_c99.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSolaris_Math_4Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Math_4Select0[] = + "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSolaris_Math_4Bypass0[] = + "__GNUC__"; + +#define SOLARIS_MATH_4_TEST_CT 2 +static tTestDesc aSolaris_Math_4Tests[] = { + { TT_NEGREP, zSolaris_Math_4Bypass0, (regex_t*)NULL }, + { TT_EGREP, zSolaris_Math_4Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Math_4 + */ +static const char* apzSolaris_Math_4Patch[] = { + "format", + "#define\tfpclassify(x) \\\n\ + __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))", + "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Math_8 fix + */ +tSCC zSolaris_Math_8Name[] = + "solaris_math_8"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Math_8List[] = + "iso/math_c99.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSolaris_Math_8Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Math_8Select0[] = + "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSolaris_Math_8Bypass0[] = + "__GNUC__"; + +#define SOLARIS_MATH_8_TEST_CT 2 +static tTestDesc aSolaris_Math_8Tests[] = { + { TT_NEGREP, zSolaris_Math_8Bypass0, (regex_t*)NULL }, + { TT_EGREP, zSolaris_Math_8Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Math_8 + */ +static const char* apzSolaris_Math_8Patch[] = { + "format", + "#define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n\ +\t\t\t ? __builtin_signbitf(x) \\\n\ +\t\t\t : sizeof(x) == sizeof(long double) \\\n\ +\t\t\t ? __builtin_signbitl(x) \\\n\ +\t\t\t : __builtin_signbit(x))", + "^#define[ \t]+signbit\\(x\\)[ \t]+__builtin_signbit\\(x\\)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Math_9 fix + */ +tSCC zSolaris_Math_9Name[] = + "solaris_math_9"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Math_9List[] = + "iso/math_c99.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSolaris_Math_9Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Math_9Select0[] = + "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSolaris_Math_9Bypass0[] = + "__GNUC__"; + +#define SOLARIS_MATH_9_TEST_CT 2 +static tTestDesc aSolaris_Math_9Tests[] = { + { TT_NEGREP, zSolaris_Math_9Bypass0, (regex_t*)NULL }, + { TT_EGREP, zSolaris_Math_9Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Math_9 + */ +static const char* apzSolaris_Math_9Patch[] = { + "format", + "#define\t%1(x, y)%2__builtin_%1(x, y)", + "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) __builtin_[a-z]+\\(y\\)\\)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Math_10 fix + */ +tSCC zSolaris_Math_10Name[] = + "solaris_math_10"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Math_10List[] = + "iso/math_c99.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSolaris_Math_10Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Math_10Select0[] = + "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + +#define SOLARIS_MATH_10_TEST_CT 1 +static tTestDesc aSolaris_Math_10Tests[] = { + { TT_EGREP, zSolaris_Math_10Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Math_10 + */ +static const char* apzSolaris_Math_10Patch[] = { + "format", + "#define\tisinf(x) __builtin_isinf(x)", + "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n\ +[ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n\ +[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*INFINITY[ \t]*\\|\\|[ \t]*\\\\\n\ +[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*\\(-INFINITY\\);[ \t]*\\}\\)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Mutex_Init_2 fix + */ +tSCC zSolaris_Mutex_Init_2Name[] = + "solaris_mutex_init_2"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Mutex_Init_2List[] = + "pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_Mutex_Init_2Machs[] = { + "*-*-solaris2.[0-9]", + "*-*-solaris2.[0-9][!0-9]*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Mutex_Init_2Select0[] = + "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + +#define SOLARIS_MUTEX_INIT_2_TEST_CT 1 +static tTestDesc aSolaris_Mutex_Init_2Tests[] = { + { TT_EGREP, zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Mutex_Init_2 + */ +static const char* apzSolaris_Mutex_Init_2Patch[] = { + "format", + "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\ +%0\n\ +#else\n\ +%1, {0}}%4\n\ +#endif", + "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+(|/*.**/[ \t]*\\\\\n\ +[ \t]*)\\{.*),[ \t]*0\\}(|[ \t].*)$", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Rwlock_Init_1 fix + */ +tSCC zSolaris_Rwlock_Init_1Name[] = + "solaris_rwlock_init_1"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Rwlock_Init_1List[] = + "pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_Rwlock_Init_1Machs[] = { + "*-*-solaris*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Rwlock_Init_1Select0[] = + "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + +#define SOLARIS_RWLOCK_INIT_1_TEST_CT 1 +static tTestDesc aSolaris_Rwlock_Init_1Tests[] = { + { TT_EGREP, zSolaris_Rwlock_Init_1Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Rwlock_Init_1 + */ +static const char* apzSolaris_Rwlock_Init_1Patch[] = { + "format", + "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\ +%0\n\ +#else\n\ +%1{0, 0, 0, {{0}, {0}, {0}}, {{0}, {0}}, {{0}, {0}}}\n\ +#endif", + "(^#define[ \t]+PTHREAD_RWLOCK_INITIALIZER[ \t]+)\\{0, 0, 0, \\{0, 0, 0\\}, \\{0, 0\\}, \\{0, 0\\}\\}[ \t]*$", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Once_Init_1 fix + */ +tSCC zSolaris_Once_Init_1Name[] = + "solaris_once_init_1"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Once_Init_1List[] = + "pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_Once_Init_1Machs[] = { + "*-*-solaris*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Once_Init_1Select0[] = + "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + +#define SOLARIS_ONCE_INIT_1_TEST_CT 1 +static tTestDesc aSolaris_Once_Init_1Tests[] = { + { TT_EGREP, zSolaris_Once_Init_1Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Once_Init_1 + */ +static const char* apzSolaris_Once_Init_1Patch[] = { + "format", + "%1{%2}%3", + "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{)([^}]+)(\\})[ \t]*$", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Once_Init_2 fix + */ +tSCC zSolaris_Once_Init_2Name[] = + "solaris_once_init_2"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Once_Init_2List[] = + "pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_Once_Init_2Machs[] = { + "*-*-solaris2.[0-9]", + "*-*-solaris2.[0-9][!0-9]*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Once_Init_2Select0[] = + "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + +#define SOLARIS_ONCE_INIT_2_TEST_CT 1 +static tTestDesc aSolaris_Once_Init_2Tests[] = { + { TT_EGREP, zSolaris_Once_Init_2Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Once_Init_2 + */ +static const char* apzSolaris_Once_Init_2Patch[] = { + "format", + "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\ +%0\n\ +#else\n\ +%1{0}, {0}, {0}, {%3}%4\n\ +#endif", + "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{\\{)(0, 0, 0, )(PTHREAD_[A-Z_]+)(\\}\\})[ \t]*$", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Stdio_Tag fix + */ +tSCC zSolaris_Stdio_TagName[] = + "solaris_stdio_tag"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Stdio_TagList[] = + "stdio_tag.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSolaris_Stdio_TagMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Stdio_TagSelect0[] = + "__cplusplus < 54321L"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSolaris_Stdio_TagBypass0[] = + "__GNUC__"; + +#define SOLARIS_STDIO_TAG_TEST_CT 2 +static tTestDesc aSolaris_Stdio_TagTests[] = { + { TT_NEGREP, zSolaris_Stdio_TagBypass0, (regex_t*)NULL }, + { TT_EGREP, zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Stdio_Tag + */ +static const char* apzSolaris_Stdio_TagPatch[] = { sed_cmd_z, + "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Statsswtch fix + */ +tSCC zStatsswtchName[] = + "statsswtch"; + +/* + * File name selection pattern + */ +tSCC zStatsswtchList[] = + "rpcsvc/rstat.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzStatsswtchMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zStatsswtchSelect0[] = + "boottime$"; + +#define STATSSWTCH_TEST_CT 1 +static tTestDesc aStatsswtchTests[] = { + { TT_EGREP, zStatsswtchSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Statsswtch + */ +static const char* apzStatsswtchPatch[] = { + "format", + "boottime;", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Stdio_Stdarg_H fix + */ +tSCC zStdio_Stdarg_HName[] = + "stdio_stdarg_h"; + +/* + * File name selection pattern + */ +tSCC zStdio_Stdarg_HList[] = + "stdio.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzStdio_Stdarg_HMachs[] = { + "*-*-solaris2.1[0-9]*", + (const char*)NULL }; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zStdio_Stdarg_HBypass0[] = + "include.*(stdarg.h|machine/ansi.h)"; + +#define STDIO_STDARG_H_TEST_CT 1 +static tTestDesc aStdio_Stdarg_HTests[] = { + { TT_NEGREP, zStdio_Stdarg_HBypass0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Stdio_Stdarg_H + */ +static const char* apzStdio_Stdarg_HPatch[] = { + "wrap", + "#define __need___va_list\n\ +#include <stdarg.h>\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Stdio_Va_List fix + */ +tSCC zStdio_Va_ListName[] = + "stdio_va_list"; + +/* + * File name selection pattern + */ +tSCC zStdio_Va_ListList[] = + "stdio.h\0internal/stdio_core.h\0internal/wchar_core.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzStdio_Va_ListMachs[] = { + "*-*-solaris2.1[0-9]*", + (const char*)NULL }; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zStdio_Va_ListBypass0[] = + "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list"; + +#define STDIO_VA_LIST_TEST_CT 1 +static tTestDesc aStdio_Va_ListTests[] = { + { TT_NEGREP, zStdio_Va_ListBypass0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Stdio_Va_List + */ +static const char* apzStdio_Va_ListPatch[] = { sed_cmd_z, + "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\ +s@(va_list)&@(__gnuc_va_list)\\&@\n\ +s@ _VA_LIST_));@ __gnuc_va_list));@\n\ +s@ __VA_LIST__));@ __gnuc_va_list));@\n\ +s@ va_list@ __not_va_list__@\n\ +s@\\*va_list@*__not_va_list__@\n\ +s@ __va_list)@ __gnuc_va_list)@\n\ +s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\ +s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\ +s@GNUC_VA_LIST@GNUC_Va_LIST@\n\ +s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\ +s@_NEED___VA_LIST@_NEED___Va_LIST@\n\ +s@VA_LIST@DUMMY_VA_LIST@\n\ +s@_Va_LIST@_VA_LIST@", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Stdio_Va_List_Clients fix + */ +tSCC zStdio_Va_List_ClientsName[] = + "stdio_va_list_clients"; + +/* + * File name selection pattern + */ +tSCC zStdio_Va_List_ClientsList[] = + "com_err.h\0cps.h\0curses.h\0krb5.h\0lc_core.h\0pfmt.h\0wchar.h\0curses_colr/curses.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzStdio_Va_List_ClientsMachs (const char**)NULL + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zStdio_Va_List_ClientsBypass0[] = + "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list"; +tSCC zStdio_Va_List_ClientsBypass1[] = + "include <stdarg\\.h>|#ifdef va_start"; + +#define STDIO_VA_LIST_CLIENTS_TEST_CT 2 +static tTestDesc aStdio_Va_List_ClientsTests[] = { + { TT_NEGREP, zStdio_Va_List_ClientsBypass0, (regex_t*)NULL }, + { TT_NEGREP, zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Stdio_Va_List_Clients + */ +static const char* apzStdio_Va_List_ClientsPatch[] = { sed_cmd_z, + "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\ +s@(va_list)&@(__gnuc_va_list)\\&@\n\ +s@ _VA_LIST_));@ __gnuc_va_list));@\n\ +s@ __VA_LIST__));@ __gnuc_va_list));@\n\ +s@ va_list@ __not_va_list__@\n\ +s@\\*va_list@*__not_va_list__@\n\ +s@ __va_list)@ __gnuc_va_list)@\n\ +s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\ +s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\ +s@GNUC_VA_LIST@GNUC_Va_LIST@\n\ +s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\ +s@_NEED___VA_LIST@_NEED___Va_LIST@\n\ +s@VA_LIST@DUMMY_VA_LIST@\n\ +s@_Va_LIST@_VA_LIST@", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Strict_Ansi_Not fix + */ +tSCC zStrict_Ansi_NotName[] = + "strict_ansi_not"; + +/* + * File name selection pattern + */ +#define zStrict_Ansi_NotList (char*)NULL +/* + * Machine/OS name selection pattern + */ +#define apzStrict_Ansi_NotMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zStrict_Ansi_NotSelect0[] = + "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zStrict_Ansi_NotBypass0[] = + "GNU and MIPS C compilers define __STDC__ differently"; +tSCC zStrict_Ansi_NotBypass1[] = + "__SCO_VERSION__.*__STDC__ != 1"; + +/* + * perform the C function call test + */ +tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers"; + +#define STRICT_ANSI_NOT_TEST_CT 4 +static tTestDesc aStrict_Ansi_NotTests[] = { + { TT_FUNCTION, zStrict_Ansi_NotFTst0, 0 /* unused */ }, + { TT_NEGREP, zStrict_Ansi_NotBypass0, (regex_t*)NULL }, + { TT_NEGREP, zStrict_Ansi_NotBypass1, (regex_t*)NULL }, + { TT_EGREP, zStrict_Ansi_NotSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Strict_Ansi_Not + */ +static const char* apzStrict_Ansi_NotPatch[] = { + "format", + "%1 !defined(__STRICT_ANSI__)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Strict_Ansi_Not_Ctd fix + */ +tSCC zStrict_Ansi_Not_CtdName[] = + "strict_ansi_not_ctd"; + +/* + * File name selection pattern + */ +tSCC zStrict_Ansi_Not_CtdList[] = + "math.h\0limits.h\0stdio.h\0signal.h\0stdlib.h\0sys/signal.h\0time.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzStrict_Ansi_Not_CtdMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zStrict_Ansi_Not_CtdSelect0[] = + "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)"; + +/* + * perform the C function call test + */ +tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers"; + +#define STRICT_ANSI_NOT_CTD_TEST_CT 2 +static tTestDesc aStrict_Ansi_Not_CtdTests[] = { + { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0, 0 /* unused */ }, + { TT_EGREP, zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Strict_Ansi_Not_Ctd + */ +static const char* apzStrict_Ansi_Not_CtdPatch[] = { + "format", + "%1 !defined(__STRICT_ANSI__)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Strict_Ansi_Only fix + */ +tSCC zStrict_Ansi_OnlyName[] = + "strict_ansi_only"; + +/* + * File name selection pattern + */ +#define zStrict_Ansi_OnlyList (char*)NULL +/* + * Machine/OS name selection pattern + */ +#define apzStrict_Ansi_OnlyMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zStrict_Ansi_OnlySelect0[] = + "^([ \t]*#[ \t]*if.*)(__STDC__[ \t]*!=[ \t]*0|__STDC__[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*!=[ \t]*0)"; + +/* + * perform the C function call test + */ +tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers"; + +#define STRICT_ANSI_ONLY_TEST_CT 2 +static tTestDesc aStrict_Ansi_OnlyTests[] = { + { TT_FUNCTION, zStrict_Ansi_OnlyFTst0, 0 /* unused */ }, + { TT_EGREP, zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Strict_Ansi_Only + */ +static const char* apzStrict_Ansi_OnlyPatch[] = { + "format", + "%1 defined(__STRICT_ANSI__)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Struct_File fix + */ +tSCC zStruct_FileName[] = + "struct_file"; + +/* + * File name selection pattern + */ +tSCC zStruct_FileList[] = + "rpc/xdr.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzStruct_FileMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zStruct_FileSelect0[] = + "^.*xdrstdio_create.*struct __file_s"; + +#define STRUCT_FILE_TEST_CT 1 +static tTestDesc aStruct_FileTests[] = { + { TT_EGREP, zStruct_FileSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Struct_File + */ +static const char* apzStruct_FilePatch[] = { + "format", + "struct __file_s;\n\ +%0", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Struct_Sockaddr fix + */ +tSCC zStruct_SockaddrName[] = + "struct_sockaddr"; + +/* + * File name selection pattern + */ +tSCC zStruct_SockaddrList[] = + "rpc/auth.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzStruct_SockaddrMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zStruct_SockaddrSelect0[] = + "^.*authdes_create.*struct sockaddr[^_]"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zStruct_SockaddrBypass0[] = + "<sys/socket.h>"; +tSCC zStruct_SockaddrBypass1[] = + "struct sockaddr;\n"; + +#define STRUCT_SOCKADDR_TEST_CT 3 +static tTestDesc aStruct_SockaddrTests[] = { + { TT_NEGREP, zStruct_SockaddrBypass0, (regex_t*)NULL }, + { TT_NEGREP, zStruct_SockaddrBypass1, (regex_t*)NULL }, + { TT_EGREP, zStruct_SockaddrSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Struct_Sockaddr + */ +static const char* apzStruct_SockaddrPatch[] = { + "format", + "struct sockaddr;\n\ +%0", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Sun_Auth_Proto fix + */ +tSCC zSun_Auth_ProtoName[] = + "sun_auth_proto"; + +/* + * File name selection pattern + */ +tSCC zSun_Auth_ProtoList[] = + "rpc/auth.h\0rpc/clnt.h\0rpc/svc.h\0rpc/xdr.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSun_Auth_ProtoMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSun_Auth_ProtoSelect0[] = + "\\(\\*[a-z][a-z_]*\\)\\(\\)"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSun_Auth_ProtoBypass0[] = + "__cplusplus"; + +#define SUN_AUTH_PROTO_TEST_CT 2 +static tTestDesc aSun_Auth_ProtoTests[] = { + { TT_NEGREP, zSun_Auth_ProtoBypass0, (regex_t*)NULL }, + { TT_EGREP, zSun_Auth_ProtoSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Sun_Auth_Proto + */ +static const char* apzSun_Auth_ProtoPatch[] = { + "format", + "#ifdef __cplusplus\n\ +%1(...);%2\n\ +#else\n\ +%1();%2\n\ +#endif", + "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Sun_Bogus_Ifdef fix + */ +tSCC zSun_Bogus_IfdefName[] = + "sun_bogus_ifdef"; + +/* + * File name selection pattern + */ +tSCC zSun_Bogus_IfdefList[] = + "hsfs/hsfs_spec.h\0hsfs/iso_spec.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSun_Bogus_IfdefMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSun_Bogus_IfdefSelect0[] = + "#ifdef(.*\\|\\|.*)"; + +#define SUN_BOGUS_IFDEF_TEST_CT 1 +static tTestDesc aSun_Bogus_IfdefTests[] = { + { TT_EGREP, zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Sun_Bogus_Ifdef + */ +static const char* apzSun_Bogus_IfdefPatch[] = { + "format", + "#if%1", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Sun_Catmacro fix + */ +tSCC zSun_CatmacroName[] = + "sun_catmacro"; + +/* + * File name selection pattern + */ +tSCC zSun_CatmacroList[] = + "pixrect/memvar.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSun_CatmacroMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSun_CatmacroSelect0[] = + "^#define[ \t]+CAT\\(a,b\\).*"; + +#define SUN_CATMACRO_TEST_CT 1 +static tTestDesc aSun_CatmacroTests[] = { + { TT_EGREP, zSun_CatmacroSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Sun_Catmacro + */ +static const char* apzSun_CatmacroPatch[] = { + "format", + "#ifdef __STDC__\n\ +# define CAT(a,b) a##b\n\ +#else\n\ +%0\n\ +#endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Sun_Malloc fix + */ +tSCC zSun_MallocName[] = + "sun_malloc"; + +/* + * File name selection pattern + */ +tSCC zSun_MallocList[] = + "malloc.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSun_MallocMachs (const char**)NULL + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSun_MallocBypass0[] = + "_CLASSIC_ANSI_TYPES"; + +#define SUN_MALLOC_TEST_CT 1 +static tTestDesc aSun_MallocTests[] = { + { TT_NEGREP, zSun_MallocBypass0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Sun_Malloc + */ +static const char* apzSun_MallocPatch[] = { sed_cmd_z, + "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g", + "-e", "s/int[ \t][ \t]*free/void\tfree/g", + "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g", + "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g", + "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Sun_Rusers_Semi fix + */ +tSCC zSun_Rusers_SemiName[] = + "sun_rusers_semi"; + +/* + * File name selection pattern + */ +tSCC zSun_Rusers_SemiList[] = + "rpcsvc/rusers.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSun_Rusers_SemiMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSun_Rusers_SemiSelect0[] = + "_cnt$"; + +#define SUN_RUSERS_SEMI_TEST_CT 1 +static tTestDesc aSun_Rusers_SemiTests[] = { + { TT_EGREP, zSun_Rusers_SemiSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Sun_Rusers_Semi + */ +static const char* apzSun_Rusers_SemiPatch[] = { sed_cmd_z, + "-e", "/^struct/,/^};/s/_cnt$/_cnt;/", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Sun_Signal fix + */ +tSCC zSun_SignalName[] = + "sun_signal"; + +/* + * File name selection pattern + */ +tSCC zSun_SignalList[] = + "sys/signal.h\0signal.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSun_SignalMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSun_SignalSelect0[] = + "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*"; + +#define SUN_SIGNAL_TEST_CT 1 +static tTestDesc aSun_SignalTests[] = { + { TT_EGREP, zSun_SignalSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Sun_Signal + */ +static const char* apzSun_SignalPatch[] = { + "format", + "#ifdef __cplusplus\n\ +void\t(*signal(...))(...);\n\ +#else\n\ +%0\n\ +#endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Sunos_Strlen fix + */ +tSCC zSunos_StrlenName[] = + "sunos_strlen"; + +/* + * File name selection pattern + */ +tSCC zSunos_StrlenList[] = + "strings.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSunos_StrlenMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSunos_StrlenSelect0[] = + "int[ \t]*strlen\\(\\);(.*)"; + +#define SUNOS_STRLEN_TEST_CT 1 +static tTestDesc aSunos_StrlenTests[] = { + { TT_EGREP, zSunos_StrlenSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Sunos_Strlen + */ +static const char* apzSunos_StrlenPatch[] = { + "format", + "__SIZE_TYPE__ strlen();%1", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Svr4_Disable_Opt fix + */ +tSCC zSvr4_Disable_OptName[] = + "svr4_disable_opt"; + +/* + * File name selection pattern + */ +tSCC zSvr4_Disable_OptList[] = + "string.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSvr4_Disable_OptMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSvr4_Disable_OptSelect0[] = + "#define.*__std_hdr_"; + +#define SVR4_DISABLE_OPT_TEST_CT 1 +static tTestDesc aSvr4_Disable_OptTests[] = { + { TT_EGREP, zSvr4_Disable_OptSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Svr4_Disable_Opt + */ +static const char* apzSvr4_Disable_OptPatch[] = { sed_cmd_z, + "-e", "/#define.*__std_hdr_/d", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Svr4_Getcwd fix + */ +tSCC zSvr4_GetcwdName[] = + "svr4_getcwd"; + +/* + * File name selection pattern + */ +tSCC zSvr4_GetcwdList[] = + "stdlib.h\0unistd.h\0prototypes.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSvr4_GetcwdMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSvr4_GetcwdSelect0[] = + "getcwd\\(char \\*, int\\)"; + +#define SVR4_GETCWD_TEST_CT 1 +static tTestDesc aSvr4_GetcwdTests[] = { + { TT_EGREP, zSvr4_GetcwdSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Svr4_Getcwd + */ +static const char* apzSvr4_GetcwdPatch[] = { + "format", + "getcwd(char *, size_t)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Svr4_Profil fix + */ +tSCC zSvr4_ProfilName[] = + "svr4_profil"; + +/* + * File name selection pattern + */ +tSCC zSvr4_ProfilList[] = + "stdlib.h\0unistd.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSvr4_ProfilMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSvr4_ProfilSelect0[] = + "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSvr4_ProfilBypass0[] = + "Silicon Graphics"; + +#define SVR4_PROFIL_TEST_CT 2 +static tTestDesc aSvr4_ProfilTests[] = { + { TT_NEGREP, zSvr4_ProfilBypass0, (regex_t*)NULL }, + { TT_EGREP, zSvr4_ProfilSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Svr4_Profil + */ +static const char* apzSvr4_ProfilPatch[] = { + "format", + "profil(unsigned short *, size_t, int, unsigned int)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Svr4_Sighandler_Type fix + */ +tSCC zSvr4_Sighandler_TypeName[] = + "svr4_sighandler_type"; + +/* + * File name selection pattern + */ +tSCC zSvr4_Sighandler_TypeList[] = + "sys/signal.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSvr4_Sighandler_TypeMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSvr4_Sighandler_TypeSelect0[] = + "void *\\(\\*\\)\\(\\)"; + +#define SVR4_SIGHANDLER_TYPE_TEST_CT 1 +static tTestDesc aSvr4_Sighandler_TypeTests[] = { + { TT_EGREP, zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Svr4_Sighandler_Type + */ +static const char* apzSvr4_Sighandler_TypePatch[] = { + "format", + "void (*)(int)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Svr4_Undeclared_Getrnge fix + */ +tSCC zSvr4_Undeclared_GetrngeName[] = + "svr4_undeclared_getrnge"; + +/* + * File name selection pattern + */ +tSCC zSvr4_Undeclared_GetrngeList[] = + "regexp.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSvr4_Undeclared_GetrngeSelect0[] = + "getrnge"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSvr4_Undeclared_GetrngeBypass0[] = + "static void getrnge"; + +#define SVR4_UNDECLARED_GETRNGE_TEST_CT 2 +static tTestDesc aSvr4_Undeclared_GetrngeTests[] = { + { TT_NEGREP, zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL }, + { TT_EGREP, zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Svr4_Undeclared_Getrnge + */ +static const char* apzSvr4_Undeclared_GetrngePatch[] = { + "format", + "%0\n\ +static int getrnge ();", + "^static int[ \t]+size;", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Sysv68_String fix + */ +tSCC zSysv68_StringName[] = + "sysv68_string"; + +/* + * File name selection pattern + */ +tSCC zSysv68_StringList[] = + "testing.h\0string.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSysv68_StringMachs (const char**)NULL + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSysv68_StringBypass0[] = + "_CLASSIC_ANSI_TYPES"; + +#define SYSV68_STRING_TEST_CT 1 +static tTestDesc aSysv68_StringTests[] = { + { TT_NEGREP, zSysv68_StringBypass0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Sysv68_String + */ +static const char* apzSysv68_StringPatch[] = { sed_cmd_z, + "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/", + "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/", + "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/", + "-e", "/^extern char$/N", + "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/", + "-e", "/^extern int$/N", + "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/", + "-e", "/^\tstrncmp(),$/N", + "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\ +extern unsigned int\\\n\ +\\2/", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Sysz_Stdlib_For_Sun fix + */ +tSCC zSysz_Stdlib_For_SunName[] = + "sysz_stdlib_for_sun"; + +/* + * File name selection pattern + */ +tSCC zSysz_Stdlib_For_SunList[] = + "stdlib.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSysz_Stdlib_For_SunMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSysz_Stdlib_For_SunSelect0[] = + "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\("; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSysz_Stdlib_For_SunBypass0[] = + "_CLASSIC_ANSI_TYPES"; + +#define SYSZ_STDLIB_FOR_SUN_TEST_CT 2 +static tTestDesc aSysz_Stdlib_For_SunTests[] = { + { TT_NEGREP, zSysz_Stdlib_For_SunBypass0, (regex_t*)NULL }, + { TT_EGREP, zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Sysz_Stdlib_For_Sun + */ +static const char* apzSysz_Stdlib_For_SunPatch[] = { + "format", + "void *\t%1(", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Thread_Keyword fix + */ +tSCC zThread_KeywordName[] = + "thread_keyword"; + +/* + * File name selection pattern + */ +tSCC zThread_KeywordList[] = + "pthread.h\0bits/sigthread.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzThread_KeywordMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zThread_KeywordSelect0[] = + "([* ])__thread([,)])"; + +#define THREAD_KEYWORD_TEST_CT 1 +static tTestDesc aThread_KeywordTests[] = { + { TT_EGREP, zThread_KeywordSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Thread_Keyword + */ +static const char* apzThread_KeywordPatch[] = { + "format", + "%1__thr%2", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Tinfo_Cplusplus fix + */ +tSCC zTinfo_CplusplusName[] = + "tinfo_cplusplus"; + +/* + * File name selection pattern + */ +tSCC zTinfo_CplusplusList[] = + "tinfo.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzTinfo_CplusplusMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zTinfo_CplusplusSelect0[] = + "[ \t]_cplusplus"; + +#define TINFO_CPLUSPLUS_TEST_CT 1 +static tTestDesc aTinfo_CplusplusTests[] = { + { TT_EGREP, zTinfo_CplusplusSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Tinfo_Cplusplus + */ +static const char* apzTinfo_CplusplusPatch[] = { + "format", + " __cplusplus", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Ultrix_Const fix + */ +tSCC zUltrix_ConstName[] = + "ultrix_const"; + +/* + * File name selection pattern + */ +tSCC zUltrix_ConstList[] = + "stdio.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzUltrix_ConstMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zUltrix_ConstSelect0[] = + "perror\\( char \\*"; + +#define ULTRIX_CONST_TEST_CT 1 +static tTestDesc aUltrix_ConstTests[] = { + { TT_EGREP, zUltrix_ConstSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Ultrix_Const + */ +static const char* apzUltrix_ConstPatch[] = { + "format", + "%1 const %3 *__", + "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Ultrix_Const2 fix + */ +tSCC zUltrix_Const2Name[] = + "ultrix_const2"; + +/* + * File name selection pattern + */ +tSCC zUltrix_Const2List[] = + "stdio.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzUltrix_Const2Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zUltrix_Const2Select0[] = + "\\*fopen\\( char \\*"; + +#define ULTRIX_CONST2_TEST_CT 1 +static tTestDesc aUltrix_Const2Tests[] = { + { TT_EGREP, zUltrix_Const2Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Ultrix_Const2 + */ +static const char* apzUltrix_Const2Patch[] = { + "format", + "%1( const char *%3, const char *", + "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Va_I960_Macro fix + */ +tSCC zVa_I960_MacroName[] = + "va_i960_macro"; + +/* + * File name selection pattern + */ +tSCC zVa_I960_MacroList[] = + "arch/i960/archI960.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzVa_I960_MacroMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zVa_I960_MacroSelect0[] = + "__(vsiz|vali|vpad|alignof__)"; + +#define VA_I960_MACRO_TEST_CT 1 +static tTestDesc aVa_I960_MacroTests[] = { + { TT_EGREP, zVa_I960_MacroSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Va_I960_Macro + */ +static const char* apzVa_I960_MacroPatch[] = { + "format", + "__vx%1", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Void_Null fix + */ +tSCC zVoid_NullName[] = + "void_null"; + +/* + * File name selection pattern + */ +tSCC zVoid_NullList[] = + "curses.h\0dbm.h\0locale.h\0stdio.h\0stdlib.h\0string.h\0time.h\0unistd.h\0sys/dir.h\0sys/param.h\0sys/types.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzVoid_NullMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zVoid_NullSelect0[] = + "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zVoid_NullBypass0[] = + "__cplusplus"; + +#define VOID_NULL_TEST_CT 2 +static tTestDesc aVoid_NullTests[] = { + { TT_NEGREP, zVoid_NullBypass0, (regex_t*)NULL }, + { TT_EGREP, zVoid_NullSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Void_Null + */ +static const char* apzVoid_NullPatch[] = { + "format", + "#define NULL 0", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Vxworks_Gcc_Problem fix + */ +tSCC zVxworks_Gcc_ProblemName[] = + "vxworks_gcc_problem"; + +/* + * File name selection pattern + */ +tSCC zVxworks_Gcc_ProblemList[] = + "types/vxTypesBase.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzVxworks_Gcc_ProblemMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zVxworks_Gcc_ProblemSelect0[] = + "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__"; + +#define VXWORKS_GCC_PROBLEM_TEST_CT 1 +static tTestDesc aVxworks_Gcc_ProblemTests[] = { + { TT_EGREP, zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Vxworks_Gcc_Problem + */ +static const char* apzVxworks_Gcc_ProblemPatch[] = { sed_cmd_z, + "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/", + "-e", "/[ \t]size_t/i\\\n\ +#ifndef _GCC_SIZE_T\\\n\ +#define _GCC_SIZE_T\n", + "-e", "/[ \t]size_t/a\\\n\ +#endif\n", + "-e", "/[ \t]ptrdiff_t/i\\\n\ +#ifndef _GCC_PTRDIFF_T\\\n\ +#define _GCC_PTRDIFF_T\n", + "-e", "/[ \t]ptrdiff_t/a\\\n\ +#endif\n", + "-e", "/[ \t]wchar_t/i\\\n\ +#ifndef _GCC_WCHAR_T\\\n\ +#define _GCC_WCHAR_T\n", + "-e", "/[ \t]wchar_t/a\\\n\ +#endif\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Vxworks_Needs_Vxtypes fix + */ +tSCC zVxworks_Needs_VxtypesName[] = + "vxworks_needs_vxtypes"; + +/* + * File name selection pattern + */ +tSCC zVxworks_Needs_VxtypesList[] = + "time.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzVxworks_Needs_VxtypesMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zVxworks_Needs_VxtypesSelect0[] = + "uint_t([ \t]+_clocks_per_sec)"; + +#define VXWORKS_NEEDS_VXTYPES_TEST_CT 1 +static tTestDesc aVxworks_Needs_VxtypesTests[] = { + { TT_EGREP, zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Vxworks_Needs_Vxtypes + */ +static const char* apzVxworks_Needs_VxtypesPatch[] = { + "format", + "unsigned int%1", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Vxworks_Needs_Vxworks fix + */ +tSCC zVxworks_Needs_VxworksName[] = + "vxworks_needs_vxworks"; + +/* + * File name selection pattern + */ +tSCC zVxworks_Needs_VxworksList[] = + "sys/stat.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzVxworks_Needs_VxworksMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zVxworks_Needs_VxworksSelect0[] = + "#[ \t]define[ \t]+__INCstath"; + +/* + * perform the 'test' shell command - do fix on success + */ +tSCC zVxworks_Needs_VxworksTest0[] = + " -r types/vxTypesOld.h"; +tSCC zVxworks_Needs_VxworksTest1[] = + " -n \"`egrep '#include' $file`\""; +tSCC zVxworks_Needs_VxworksTest2[] = + " -n \"`egrep ULONG $file`\""; + +#define VXWORKS_NEEDS_VXWORKS_TEST_CT 4 +static tTestDesc aVxworks_Needs_VxworksTests[] = { + { TT_TEST, zVxworks_Needs_VxworksTest0, 0 /* unused */ }, + { TT_TEST, zVxworks_Needs_VxworksTest1, 0 /* unused */ }, + { TT_TEST, zVxworks_Needs_VxworksTest2, 0 /* unused */ }, + { TT_EGREP, zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Vxworks_Needs_Vxworks + */ +static const char* apzVxworks_Needs_VxworksPatch[] = { sed_cmd_z, + "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\ +#include <types/vxTypesOld.h>\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Vxworks_Time fix + */ +tSCC zVxworks_TimeName[] = + "vxworks_time"; + +/* + * File name selection pattern + */ +tSCC zVxworks_TimeList[] = + "time.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzVxworks_TimeMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zVxworks_TimeSelect0[] = + "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*"; + +/* + * perform the 'test' shell command - do fix on success + */ +tSCC zVxworks_TimeTest0[] = + " -r vxWorks.h"; + +#define VXWORKS_TIME_TEST_CT 2 +static tTestDesc aVxworks_TimeTests[] = { + { TT_TEST, zVxworks_TimeTest0, 0 /* unused */ }, + { TT_EGREP, zVxworks_TimeSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Vxworks_Time + */ +static const char* apzVxworks_TimePatch[] = { + "format", + "#ifndef __gcc_VOIDFUNCPTR_defined\n\ +#ifdef __cplusplus\n\ +typedef void (*__gcc_VOIDFUNCPTR) (...);\n\ +#else\n\ +typedef void (*__gcc_VOIDFUNCPTR) ();\n\ +#endif\n\ +#define __gcc_VOIDFUNCPTR_defined\n\ +#endif\n\ +#define VOIDFUNCPTR __gcc_VOIDFUNCPTR", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of X11_Class fix + */ +tSCC zX11_ClassName[] = + "x11_class"; + +/* + * File name selection pattern + */ +tSCC zX11_ClassList[] = + "X11/ShellP.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzX11_ClassMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zX11_ClassSelect0[] = + "^([ \t]*char \\*)class;(.*)"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zX11_ClassBypass0[] = + "__cplusplus"; + +#define X11_CLASS_TEST_CT 2 +static tTestDesc aX11_ClassTests[] = { + { TT_NEGREP, zX11_ClassBypass0, (regex_t*)NULL }, + { TT_EGREP, zX11_ClassSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for X11_Class + */ +static const char* apzX11_ClassPatch[] = { + "format", + "#ifdef __cplusplus\n\ +%1c_class;%2\n\ +#else\n\ +%1class;%2\n\ +#endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of X11_Class_Usage fix + */ +tSCC zX11_Class_UsageName[] = + "x11_class_usage"; + +/* + * File name selection pattern + */ +tSCC zX11_Class_UsageList[] = + "Xm/BaseClassI.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzX11_Class_UsageMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zX11_Class_UsageSelect0[] = + " class\\)"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zX11_Class_UsageBypass0[] = + "__cplusplus"; + +#define X11_CLASS_USAGE_TEST_CT 2 +static tTestDesc aX11_Class_UsageTests[] = { + { TT_NEGREP, zX11_Class_UsageBypass0, (regex_t*)NULL }, + { TT_EGREP, zX11_Class_UsageSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for X11_Class_Usage + */ +static const char* apzX11_Class_UsagePatch[] = { + "format", + " c_class)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of X11_New fix + */ +tSCC zX11_NewName[] = + "x11_new"; + +/* + * File name selection pattern + */ +tSCC zX11_NewList[] = + "Xm/Traversal.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzX11_NewMachs (const char**)NULL + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zX11_NewBypass0[] = + "__cplusplus"; + +#define X11_NEW_TEST_CT 1 +static tTestDesc aX11_NewTests[] = { + { TT_NEGREP, zX11_NewBypass0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for X11_New + */ +static const char* apzX11_NewPatch[] = { sed_cmd_z, + "-e", "/Widget\told, new;/i\\\n\ +#ifdef __cplusplus\\\n\ +\tWidget\told, c_new;\\\n\ +#else\n", + "-e", "/Widget\told, new;/a\\\n\ +#endif\n", + "-e", "s/Widget new,/Widget c_new,/g", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of X11_Sprintf fix + */ +tSCC zX11_SprintfName[] = + "x11_sprintf"; + +/* + * File name selection pattern + */ +tSCC zX11_SprintfList[] = + "X11/Xmu.h\0X11/Xmu/Xmu.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzX11_SprintfMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zX11_SprintfSelect0[] = + "^extern char \\*\tsprintf\\(\\);$"; + +#define X11_SPRINTF_TEST_CT 1 +static tTestDesc aX11_SprintfTests[] = { + { TT_EGREP, zX11_SprintfSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for X11_Sprintf + */ +static const char* apzX11_SprintfPatch[] = { + "format", + "#ifndef __STDC__\n\ +%0\n\ |