diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | NEWS | 3 | ||||
-rwxr-xr-x | configure | 233 | ||||
-rw-r--r-- | configure.ac | 77 | ||||
-rw-r--r-- | doc/ChangeLog | 5 | ||||
-rw-r--r-- | doc/gawk.info | 540 | ||||
-rw-r--r-- | doc/gawk.texi | 8 | ||||
-rw-r--r-- | doc/gawktexi.in | 8 | ||||
-rw-r--r-- | extension/ChangeLog | 6 | ||||
-rw-r--r-- | extension/Makefile.am | 15 | ||||
-rw-r--r-- | extension/Makefile.in | 15 | ||||
-rwxr-xr-x | extension/configure | 14 | ||||
-rw-r--r-- | extension/configure.ac | 11 |
13 files changed, 746 insertions, 197 deletions
@@ -1,3 +1,11 @@ +2013-12-21 Mike Frysinger <vapier@gentoo.org> + + * configure.ac: Add --disable-extensions flag to control + compiling extensions. Better for cross-compiling. + (AC_CANONICAL_HOST): Added. Changed case statments appropriately. + * Makefile.am (check-for-shared-lib-support): Removed. + (check-recursive, all-recursive): Removed. + 2013-12-21 Arnold D. Robbins <arnold@skeeve.com> * config.guess: Updated. @@ -27,6 +27,9 @@ Changes from 4.1.0 to 4.1.1 9. Infrastructure updated to automake 1.13.4 and libtool 2.4.2.418. +10. The configure script now accepts a --disable-extensions option, +which disables checking for and building the extensions. + XXX. A number of bugs have been fixed. See the ChangeLog. Changes from 4.0.2 to 4.1.0 @@ -647,14 +647,6 @@ INTLLIBS LTLIBICONV LIBICONV INTL_MACOSX_LIBS -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build XGETTEXT_EXTRA_OPTIONS MSGMERGE XGETTEXT_015 @@ -690,6 +682,14 @@ CPPFLAGS LDFLAGS CFLAGS CC +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V @@ -769,6 +769,7 @@ enable_rpath with_libiconv_prefix with_libintl_prefix with_libsigsegv_prefix +enable_extensions with_readline with_mpfr ' @@ -1411,6 +1412,7 @@ Optional Features: --disable-largefile omit support for large files --disable-nls do not use Native Language Support --disable-rpath do not hardcode runtime library paths + --disable-extensions disable dynamic extensions (default is detect) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -3180,6 +3182,77 @@ $as_echo "#define NO_LINT 1" >>confdefs.h fi +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" @@ -5926,8 +5999,8 @@ then CFLAGS="$CFLAGS -D_SYSV3" fi -case `uname` in -MirBSD | MirOS) +case $host_os in +mirbsd*) $as_echo "#define LIBC_IS_BORKED 1" >>confdefs.h @@ -6257,77 +6330,6 @@ fi eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : @@ -9441,8 +9443,8 @@ _ACEOF fi -case `uname` in -OSF1) : ;; +case $host_os in +osf1) : ;; *) @@ -10057,17 +10059,25 @@ $as_echo "#define HAVE_MBRTOWC 1" >>confdefs.h fi -case `uname` in -MirBSD | MirOS) - : ;; -*) -ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default" +# Check whether --enable-extensions was given. +if test "${enable_extensions+set}" = set; then : + enableval=$enable_extensions; +fi + +if test "x$enable_extensions" != "xno"; then + extensions_supported=no + + case $host_os in + mirbsd*) + : ;; + *) + ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default" if test "x$ac_cv_header_dlfcn_h" = xyes; then : - # Check this separately. Some systems have dlopen - # in libc. Notably freebsd and cygwin. - # HP-NSK has it in zrldsrl - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 + # Check this separately. Some systems have dlopen + # in libc. Notably freebsd and cygwin. + # HP-NSK has it in zrldsrl + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 $as_echo_n "checking for library containing dlopen... " >&6; } if ${ac_cv_search_dlopen+:} false; then : $as_echo_n "(cached) " >&6 @@ -10125,29 +10135,38 @@ else gawk_have_dlopen=no fi - # Only do DYNAMIC if we have the lib. z/OS (some versions) have - # the header but not the lib, apparently - if test "$gawk_have_dlopen" = yes - then + # Only do DYNAMIC if we have the lib. z/OS (some versions) have + # the header but not the lib, apparently + if test "$gawk_have_dlopen" = yes + then + extensions_supported=yes $as_echo "#define DYNAMIC 1" >>confdefs.h - # Add -export-dynamic for old extensions. Only works for GCC - if test "$GCC" = yes && - uname | $EGREP -i 'linux|freebsd' > /dev/null - then - LDFLAGS="$LDFLAGS -export-dynamic" + # Add -export-dynamic for old extensions. Only works for GCC + if test "$GCC" = yes; then + case $host_os in + linux*|freebsd*) + LDFLAGS="$LDFLAGS -export-dynamic" + ;; + esac + fi fi - fi fi - ;; -esac + ;; + esac -case `(uname) 2> /dev/null` in -*VMS*|*BeOS*|*OS/2*|*MS-DOS*) + if test "x$enable_extensions$extensions_supported" = "xyesno"; then + as_fn_error $? "extension support requested, but unavailable" "$LINENO" 5 + fi + enable_extensions=$extensions_supported +fi + +case $host_os in +vms*|beos*|os2*|msdos) $as_echo "#define GETPGRP_VOID 1" >>confdefs.h @@ -10970,10 +10989,12 @@ esac ac_config_files="$ac_config_files Makefile awklib/Makefile doc/Makefile po/Makefile.in test/Makefile" +if test "x$enable_extensions" = "xyes"; then subdirs="$subdirs extension" +fi 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 diff --git a/configure.ac b/configure.ac index 02267978..e58d9590 100644 --- a/configure.ac +++ b/configure.ac @@ -59,6 +59,7 @@ AC_ARG_ENABLE([lint], [ --disable-lint Disable gawk lint checking], fi ) +AC_CANONICAL_HOST AC_USE_SYSTEM_EXTENSIONS dnl checks for programs @@ -119,8 +120,8 @@ dnl need -D_SYSV3 for ISC fi dnl check for systems where libc is borked for regex handling -case `uname` in -MirBSD | MirOS) +case $host_os in +mirbsd*) AC_DEFINE([LIBC_IS_BORKED], 1, [libc is broken for regex handling]) ;; esac @@ -262,8 +263,8 @@ AC_CHECK_LIB(m, fmod) AC_CHECK_LIB(m, isinf) AC_CHECK_LIB(m, ismod) dnl Don't look for libsigsegv on OSF/1, gives us severe headaches -case `uname` in -OSF1) : ;; +case $host_os in +osf1) : ;; *) gl_LIBSIGSEGV ;; @@ -282,38 +283,52 @@ AC_FUNC_MBRTOWC dnl check for dynamic linking dnl This is known to be very primitive -dnl On MirBSD (and probably other systems), don't even try. -case `uname` in -MirBSD | MirOS) - : ;; -*) -AC_CHECK_HEADER(dlfcn.h, - [ - # Check this separately. Some systems have dlopen - # in libc. Notably freebsd and cygwin. - # HP-NSK has it in zrldsrl - AC_SEARCH_LIBS(dlopen, dl zrldsrl, gawk_have_dlopen=yes, gawk_have_dlopen=no) - # Only do DYNAMIC if we have the lib. z/OS (some versions) have - # the header but not the lib, apparently - if test "$gawk_have_dlopen" = yes - then - AC_DEFINE([DYNAMIC], 1, [dynamic loading is possible]) - # Add -export-dynamic for old extensions. Only works for GCC - if test "$GCC" = yes && - uname | $EGREP -i 'linux|freebsd' > /dev/null +AC_ARG_ENABLE([extensions], + [AS_HELP_STRING([--disable-extensions], [disable dynamic extensions (default is detect)])]) +if test "x$enable_extensions" != "xno"; then + extensions_supported=no + + dnl On MirBSD (and probably other systems), don't even try. + case $host_os in + mirbsd*) + : ;; + *) + AC_CHECK_HEADER(dlfcn.h, + [ + # Check this separately. Some systems have dlopen + # in libc. Notably freebsd and cygwin. + # HP-NSK has it in zrldsrl + AC_SEARCH_LIBS(dlopen, dl zrldsrl, gawk_have_dlopen=yes, gawk_have_dlopen=no) + # Only do DYNAMIC if we have the lib. z/OS (some versions) have + # the header but not the lib, apparently + if test "$gawk_have_dlopen" = yes then - LDFLAGS="$LDFLAGS -export-dynamic" + extensions_supported=yes + AC_DEFINE([DYNAMIC], 1, [dynamic loading is possible]) + # Add -export-dynamic for old extensions. Only works for GCC + if test "$GCC" = yes; then + case $host_os in + linux*|freebsd*) + LDFLAGS="$LDFLAGS -export-dynamic" + ;; + esac + fi fi + ]) + ;; + esac + + if test "x$enable_extensions$extensions_supported" = "xyesno"; then + AC_MSG_ERROR([extension support requested, but unavailable]) fi -]) - ;; -esac + enable_extensions=$extensions_supported +fi dnl check for how to use getpgrp dnl have to hardwire it for VMS POSIX. Sigh. dnl ditto for BeOS, OS/2, and MS-DOS. -case `(uname) 2> /dev/null` in -*VMS*|*BeOS*|*OS/2*|*MS-DOS*) +case $host_os in +vms*|beos*|os2*|msdos) AC_DEFINE(GETPGRP_VOID, 1, [Define to 1 if the getpgrp function requires zero arguments.]) ;; @@ -387,5 +402,7 @@ AC_CONFIG_FILES(Makefile doc/Makefile po/Makefile.in test/Makefile) -AC_CONFIG_SUBDIRS(extension) +if test "x$enable_extensions" = "xyes"; then + AC_CONFIG_SUBDIRS(extension) +fi AC_OUTPUT diff --git a/doc/ChangeLog b/doc/ChangeLog index ad7c52a3..82150f34 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,8 @@ +2013-12-21 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in (Additional Configuration Options): Document + the --disable-extensions option. + 2013-12-16 John E. Malmberg <wb8tyw@qsl.net> * gawktexi.in: Updates to VMS sections. diff --git a/doc/gawk.info b/doc/gawk.info index bc807235..d0444668 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -25832,6 +25832,12 @@ B.2.2 Additional Configuration Options There are several additional options you may use on the `configure' command line when compiling `gawk' from scratch, including: +`--disable-extensions' + Disable configuring and building the sample extensions in the + `extension' directory. This is useful for cross-compiling. The + default action is to dynamically check if the extensions can be + configured and compiled. + `--disable-lint' Disable all lint checking within `gawk'. The `--lint' and `--lint-old' options (*note Options::) are accepted, but silently @@ -29533,10 +29539,12 @@ Index * --characters-as-bytes option: Options. (line 82) * --copyright option: Options. (line 102) * --debug option: Options. (line 122) -* --disable-lint configuration option: Additional Configuration Options. +* --disable-extensions configuration option: Additional Configuration Options. (line 9) +* --disable-lint configuration option: Additional Configuration Options. + (line 15) * --disable-nls configuration option: Additional Configuration Options. - (line 24) + (line 30) * --dump-variables option <1>: Library Names. (line 45) * --dump-variables option: Options. (line 107) * --exec option: Options. (line 139) @@ -29574,7 +29582,7 @@ Index * --use-lc-numeric option: Options. (line 215) * --version option: Options. (line 293) * --with-whiny-user-strftime configuration option: Additional Configuration Options. - (line 29) + (line 35) * -b option: Options. (line 82) * -C option: Options. (line 102) * -D option: Options. (line 122) @@ -30169,12 +30177,14 @@ Index * concatenating: Concatenation. (line 8) * condition debugger command: Breakpoint Control. (line 54) * conditional expressions: Conditional Exp. (line 6) -* configuration option, --disable-lint: Additional Configuration Options. +* configuration option, --disable-extensions: Additional Configuration Options. (line 9) +* configuration option, --disable-lint: Additional Configuration Options. + (line 15) * configuration option, --disable-nls: Additional Configuration Options. - (line 24) + (line 30) * configuration option, --with-whiny-user-strftime: Additional Configuration Options. - (line 29) + (line 35) * configuration options, gawk: Additional Configuration Options. (line 6) * constants, floating-point: Floating-point Constants. @@ -32257,6 +32267,7 @@ Index Tag Table: Node: Top1360 +<<<<<<< HEAD Node: Foreword40645 Node: Preface44990 Ref: Preface-Footnote-148043 @@ -32774,5 +32785,522 @@ Node: Glossary1113241 Node: Copying1138703 Node: GNU Free Documentation License1176260 Node: Index1201397 +======= +Node: Foreword40460 +Node: Preface44805 +Ref: Preface-Footnote-147858 +Ref: Preface-Footnote-247954 +Node: History48186 +Node: Names50560 +Ref: Names-Footnote-152037 +Node: This Manual52109 +Ref: This Manual-Footnote-157883 +Node: Conventions57983 +Node: Manual History60139 +Ref: Manual History-Footnote-163587 +Ref: Manual History-Footnote-263628 +Node: How To Contribute63702 +Node: Acknowledgments64846 +Node: Getting Started69055 +Node: Running gawk71434 +Node: One-shot72620 +Node: Read Terminal73845 +Ref: Read Terminal-Footnote-175495 +Ref: Read Terminal-Footnote-275771 +Node: Long75942 +Node: Executable Scripts77318 +Ref: Executable Scripts-Footnote-179151 +Ref: Executable Scripts-Footnote-279253 +Node: Comments79800 +Node: Quoting82267 +Node: DOS Quoting86890 +Node: Sample Data Files87565 +Node: Very Simple90609 +Node: Two Rules95208 +Node: More Complex97355 +Ref: More Complex-Footnote-1100285 +Node: Statements/Lines100370 +Ref: Statements/Lines-Footnote-1104832 +Node: Other Features105097 +Node: When106025 +Node: Invoking Gawk108172 +Node: Command Line109633 +Node: Options110416 +Ref: Options-Footnote-1125808 +Node: Other Arguments125833 +Node: Naming Standard Input128491 +Node: Environment Variables129585 +Node: AWKPATH Variable130143 +Ref: AWKPATH Variable-Footnote-1132901 +Node: AWKLIBPATH Variable133161 +Node: Other Environment Variables133879 +Node: Exit Status136842 +Node: Include Files137517 +Node: Loading Shared Libraries141086 +Node: Obsolete142450 +Node: Undocumented143147 +Node: Regexp143389 +Node: Regexp Usage144778 +Node: Escape Sequences146804 +Node: Regexp Operators152473 +Ref: Regexp Operators-Footnote-1159853 +Ref: Regexp Operators-Footnote-2160000 +Node: Bracket Expressions160098 +Ref: table-char-classes161988 +Node: GNU Regexp Operators164511 +Node: Case-sensitivity168234 +Ref: Case-sensitivity-Footnote-1171202 +Ref: Case-sensitivity-Footnote-2171437 +Node: Leftmost Longest171545 +Node: Computed Regexps172746 +Node: Reading Files176083 +Node: Records178085 +Ref: Records-Footnote-1186974 +Node: Fields187011 +Ref: Fields-Footnote-1190044 +Node: Nonconstant Fields190130 +Node: Changing Fields192332 +Node: Field Separators198291 +Node: Default Field Splitting200920 +Node: Regexp Field Splitting202037 +Node: Single Character Fields205379 +Node: Command Line Field Separator206438 +Node: Field Splitting Summary209879 +Ref: Field Splitting Summary-Footnote-1212990 +Node: Constant Size213091 +Node: Splitting By Content217675 +Ref: Splitting By Content-Footnote-1221401 +Node: Multiple Line221441 +Ref: Multiple Line-Footnote-1227288 +Node: Getline227467 +Node: Plain Getline229683 +Node: Getline/Variable231778 +Node: Getline/File232925 +Node: Getline/Variable/File234266 +Ref: Getline/Variable/File-Footnote-1235865 +Node: Getline/Pipe235952 +Node: Getline/Variable/Pipe238651 +Node: Getline/Coprocess239758 +Node: Getline/Variable/Coprocess241010 +Node: Getline Notes241747 +Node: Getline Summary244534 +Ref: table-getline-variants244942 +Node: Read Timeout245854 +Ref: Read Timeout-Footnote-1249595 +Node: Command line directories249652 +Node: Printing250282 +Node: Print251913 +Node: Print Examples253250 +Node: Output Separators256034 +Node: OFMT257794 +Node: Printf259152 +Node: Basic Printf260058 +Node: Control Letters261597 +Node: Format Modifiers265409 +Node: Printf Examples271418 +Node: Redirection274133 +Node: Special Files281098 +Node: Special FD281631 +Ref: Special FD-Footnote-1285256 +Node: Special Network285330 +Node: Special Caveats286180 +Node: Close Files And Pipes286976 +Ref: Close Files And Pipes-Footnote-1293959 +Ref: Close Files And Pipes-Footnote-2294107 +Node: Expressions294257 +Node: Values295389 +Node: Constants296065 +Node: Scalar Constants296745 +Ref: Scalar Constants-Footnote-1297604 +Node: Nondecimal-numbers297786 +Node: Regexp Constants300786 +Node: Using Constant Regexps301261 +Node: Variables304316 +Node: Using Variables304971 +Node: Assignment Options306695 +Node: Conversion308567 +Ref: table-locale-affects314068 +Ref: Conversion-Footnote-1314692 +Node: All Operators314801 +Node: Arithmetic Ops315431 +Node: Concatenation317936 +Ref: Concatenation-Footnote-1320728 +Node: Assignment Ops320848 +Ref: table-assign-ops325836 +Node: Increment Ops327167 +Node: Truth Values and Conditions330601 +Node: Truth Values331684 +Node: Typing and Comparison332733 +Node: Variable Typing333526 +Ref: Variable Typing-Footnote-1337423 +Node: Comparison Operators337545 +Ref: table-relational-ops337955 +Node: POSIX String Comparison341504 +Ref: POSIX String Comparison-Footnote-1342460 +Node: Boolean Ops342598 +Ref: Boolean Ops-Footnote-1346676 +Node: Conditional Exp346767 +Node: Function Calls348499 +Node: Precedence352093 +Node: Locales355762 +Node: Patterns and Actions356851 +Node: Pattern Overview357905 +Node: Regexp Patterns359574 +Node: Expression Patterns360117 +Node: Ranges363802 +Node: BEGIN/END366768 +Node: Using BEGIN/END367530 +Ref: Using BEGIN/END-Footnote-1370261 +Node: I/O And BEGIN/END370367 +Node: BEGINFILE/ENDFILE372649 +Node: Empty375563 +Node: Using Shell Variables375879 +Node: Action Overview378164 +Node: Statements380521 +Node: If Statement382375 +Node: While Statement383874 +Node: Do Statement385918 +Node: For Statement387074 +Node: Switch Statement390226 +Node: Break Statement392323 +Node: Continue Statement394313 +Node: Next Statement396106 +Node: Nextfile Statement398496 +Node: Exit Statement401139 +Node: Built-in Variables403555 +Node: User-modified404650 +Ref: User-modified-Footnote-1413008 +Node: Auto-set413070 +Ref: Auto-set-Footnote-1426148 +Ref: Auto-set-Footnote-2426353 +Node: ARGC and ARGV426409 +Node: Arrays430260 +Node: Array Basics431765 +Node: Array Intro432591 +Node: Reference to Elements436908 +Node: Assigning Elements439178 +Node: Array Example439669 +Node: Scanning an Array441401 +Node: Controlling Scanning443715 +Ref: Controlling Scanning-Footnote-1448802 +Node: Delete449118 +Ref: Delete-Footnote-1451883 +Node: Numeric Array Subscripts451940 +Node: Uninitialized Subscripts454123 +Node: Multidimensional455750 +Node: Multiscanning458842 +Node: Arrays of Arrays460431 +Node: Functions465071 +Node: Built-in465890 +Node: Calling Built-in466968 +Node: Numeric Functions468956 +Ref: Numeric Functions-Footnote-1472788 +Ref: Numeric Functions-Footnote-2473145 +Ref: Numeric Functions-Footnote-3473193 +Node: String Functions473462 +Ref: String Functions-Footnote-1496382 +Ref: String Functions-Footnote-2496511 +Ref: String Functions-Footnote-3496759 +Node: Gory Details496846 +Ref: table-sub-escapes498525 +Ref: table-sub-posix-92499879 +Ref: table-sub-proposed501230 +Ref: table-posix-sub502584 +Ref: table-gensub-escapes504129 +Ref: Gory Details-Footnote-1505305 +Ref: Gory Details-Footnote-2505356 +Node: I/O Functions505507 +Ref: I/O Functions-Footnote-1512492 +Node: Time Functions512639 +Ref: Time Functions-Footnote-1523572 +Ref: Time Functions-Footnote-2523640 +Ref: Time Functions-Footnote-3523798 +Ref: Time Functions-Footnote-4523909 +Ref: Time Functions-Footnote-5524021 +Ref: Time Functions-Footnote-6524248 +Node: Bitwise Functions524514 +Ref: table-bitwise-ops525076 +Ref: Bitwise Functions-Footnote-1529297 +Node: Type Functions529481 +Node: I18N Functions530632 +Node: User-defined532259 +Node: Definition Syntax533063 +Ref: Definition Syntax-Footnote-1537973 +Node: Function Example538042 +Node: Function Caveats540636 +Node: Calling A Function541057 +Node: Variable Scope542172 +Node: Pass By Value/Reference545135 +Node: Return Statement548643 +Node: Dynamic Typing551624 +Node: Indirect Calls552555 +Node: Library Functions562240 +Ref: Library Functions-Footnote-1565753 +Ref: Library Functions-Footnote-2565896 +Node: Library Names566067 +Ref: Library Names-Footnote-1569538 +Ref: Library Names-Footnote-2569758 +Node: General Functions569844 +Node: Strtonum Function570872 +Node: Assert Function573802 +Node: Round Function577128 +Node: Cliff Random Function578671 +Node: Ordinal Functions579687 +Ref: Ordinal Functions-Footnote-1582757 +Ref: Ordinal Functions-Footnote-2583009 +Node: Join Function583218 +Ref: Join Function-Footnote-1584989 +Node: Getlocaltime Function585189 +Node: Readfile Function588930 +Node: Data File Management590769 +Node: Filetrans Function591401 +Node: Rewind Function595470 +Node: File Checking596857 +Node: Empty Files597951 +Node: Ignoring Assigns600181 +Node: Getopt Function601734 +Ref: Getopt Function-Footnote-1613037 +Node: Passwd Functions613240 +Ref: Passwd Functions-Footnote-1622215 +Node: Group Functions622303 +Node: Walking Arrays630387 +Node: Sample Programs632524 +Node: Running Examples633198 +Node: Clones633926 +Node: Cut Program635150 +Node: Egrep Program644995 +Ref: Egrep Program-Footnote-1652768 +Node: Id Program652878 +Node: Split Program656494 +Ref: Split Program-Footnote-1660013 +Node: Tee Program660141 +Node: Uniq Program662944 +Node: Wc Program670373 +Ref: Wc Program-Footnote-1674639 +Ref: Wc Program-Footnote-2674839 +Node: Miscellaneous Programs674931 +Node: Dupword Program676119 +Node: Alarm Program678150 +Node: Translate Program682903 +Ref: Translate Program-Footnote-1687290 +Ref: Translate Program-Footnote-2687538 +Node: Labels Program687672 +Ref: Labels Program-Footnote-1691043 +Node: Word Sorting691127 +Node: History Sorting695011 +Node: Extract Program696850 +Ref: Extract Program-Footnote-1704353 +Node: Simple Sed704481 +Node: Igawk Program707543 +Ref: Igawk Program-Footnote-1722700 +Ref: Igawk Program-Footnote-2722901 +Node: Anagram Program723039 +Node: Signature Program726107 +Node: Advanced Features727207 +Node: Nondecimal Data729093 +Node: Array Sorting730676 +Node: Controlling Array Traversal731373 +Node: Array Sorting Functions739657 +Ref: Array Sorting Functions-Footnote-1743526 +Node: Two-way I/O743720 +Ref: Two-way I/O-Footnote-1749152 +Node: TCP/IP Networking749222 +Node: Profiling752066 +Node: Internationalization759563 +Node: I18N and L10N760988 +Node: Explaining gettext761674 +Ref: Explaining gettext-Footnote-1766742 +Ref: Explaining gettext-Footnote-2766926 +Node: Programmer i18n767091 +Node: Translator i18n771293 +Node: String Extraction772086 +Ref: String Extraction-Footnote-1773047 +Node: Printf Ordering773133 +Ref: Printf Ordering-Footnote-1775917 +Node: I18N Portability775981 +Ref: I18N Portability-Footnote-1778430 +Node: I18N Example778493 +Ref: I18N Example-Footnote-1781131 +Node: Gawk I18N781203 +Node: Debugger781824 +Node: Debugging782795 +Node: Debugging Concepts783228 +Node: Debugging Terms785084 +Node: Awk Debugging787681 +Node: Sample Debugging Session788573 +Node: Debugger Invocation789093 +Node: Finding The Bug790425 +Node: List of Debugger Commands796913 +Node: Breakpoint Control798247 +Node: Debugger Execution Control801911 +Node: Viewing And Changing Data805271 +Node: Execution Stack808627 +Node: Debugger Info810094 +Node: Miscellaneous Debugger Commands814076 +Node: Readline Support819252 +Node: Limitations820083 +Node: Arbitrary Precision Arithmetic822335 +Ref: Arbitrary Precision Arithmetic-Footnote-1823984 +Node: General Arithmetic824132 +Node: Floating Point Issues825852 +Node: String Conversion Precision826733 +Ref: String Conversion Precision-Footnote-1828438 +Node: Unexpected Results828547 +Node: POSIX Floating Point Problems830700 +Ref: POSIX Floating Point Problems-Footnote-1834525 +Node: Integer Programming834563 +Node: Floating-point Programming836302 +Ref: Floating-point Programming-Footnote-1842633 +Ref: Floating-point Programming-Footnote-2842903 +Node: Floating-point Representation843167 +Node: Floating-point Context844332 +Ref: table-ieee-formats845171 +Node: Rounding Mode846555 +Ref: table-rounding-modes847034 +Ref: Rounding Mode-Footnote-1850049 +Node: Gawk and MPFR850228 +Node: Arbitrary Precision Floats851483 +Ref: Arbitrary Precision Floats-Footnote-1853926 +Node: Setting Precision854242 +Ref: table-predefined-precision-strings854928 +Node: Setting Rounding Mode857073 +Ref: table-gawk-rounding-modes857477 +Node: Floating-point Constants858664 +Node: Changing Precision860093 +Ref: Changing Precision-Footnote-1861490 +Node: Exact Arithmetic861664 +Node: Arbitrary Precision Integers864802 +Ref: Arbitrary Precision Integers-Footnote-1867820 +Node: Dynamic Extensions867967 +Node: Extension Intro869425 +Node: Plugin License870690 +Node: Extension Mechanism Outline871375 +Ref: load-extension871792 +Ref: load-new-function873270 +Ref: call-new-function874265 +Node: Extension API Description876280 +Node: Extension API Functions Introduction877493 +Node: General Data Types882359 +Ref: General Data Types-Footnote-1887958 +Node: Requesting Values888257 +Ref: table-value-types-returned888988 +Node: Constructor Functions889942 +Node: Registration Functions892962 +Node: Extension Functions893647 +Node: Exit Callback Functions895872 +Node: Extension Version String897121 +Node: Input Parsers897771 +Node: Output Wrappers907528 +Node: Two-way processors912038 +Node: Printing Messages914246 +Ref: Printing Messages-Footnote-1915323 +Node: Updating `ERRNO'915475 +Node: Accessing Parameters916214 +Node: Symbol Table Access917444 +Node: Symbol table by name917956 +Node: Symbol table by cookie919703 +Ref: Symbol table by cookie-Footnote-1923833 +Node: Cached values923896 +Ref: Cached values-Footnote-1927345 +Node: Array Manipulation927436 +Ref: Array Manipulation-Footnote-1928534 +Node: Array Data Types928573 +Ref: Array Data Types-Footnote-1931276 +Node: Array Functions931368 +Node: Flattening Arrays935134 +Node: Creating Arrays941986 +Node: Extension API Variables946711 +Node: Extension Versioning947347 +Node: Extension API Informational Variables949248 +Node: Extension API Boilerplate950334 +Node: Finding Extensions954138 +Node: Extension Example954698 +Node: Internal File Description955428 +Node: Internal File Ops959519 +Ref: Internal File Ops-Footnote-1971027 +Node: Using Internal File Ops971167 +Ref: Using Internal File Ops-Footnote-1973520 +Node: Extension Samples973786 +Node: Extension Sample File Functions975310 +Node: Extension Sample Fnmatch983795 +Node: Extension Sample Fork985521 +Node: Extension Sample Inplace986739 +Node: Extension Sample Ord988517 +Node: Extension Sample Readdir989353 +Node: Extension Sample Revout990885 +Node: Extension Sample Rev2way991478 +Node: Extension Sample Read write array992168 +Node: Extension Sample Readfile994051 +Node: Extension Sample API Tests994869 +Node: Extension Sample Time995394 +Node: gawkextlib996758 +Node: Language History999518 +Node: V7/SVR3.11001040 +Node: SVR41003360 +Node: POSIX1004802 +Node: BTL1006188 +Node: POSIX/GNU1006922 +Node: Common Extensions1012457 +Node: Ranges and Locales1013763 +Ref: Ranges and Locales-Footnote-11018381 +Ref: Ranges and Locales-Footnote-21018408 +Ref: Ranges and Locales-Footnote-31018668 +Node: Contributors1018889 +Node: Installation1023964 +Node: Gawk Distribution1024858 +Node: Getting1025342 +Node: Extracting1026168 +Node: Distribution contents1027860 +Node: Unix Installation1033380 +Node: Quick Installation1033997 +Node: Additional Configuration Options1036441 +Node: Configuration Philosophy1038177 +Node: Non-Unix Installation1040531 +Node: PC Installation1040989 +Node: PC Binary Installation1042288 +Node: PC Compiling1044136 +Node: PC Testing1047080 +Node: PC Using1048256 +Node: Cygwin1052441 +Node: MSYS1053441 +Node: VMS Installation1053955 +Node: VMS Compilation1054558 +Ref: VMS Compilation-Footnote-11055565 +Node: VMS Installation Details1055623 +Node: VMS Running1057258 +Node: VMS Old Gawk1058865 +Node: Bugs1059339 +Node: Other Versions1063195 +Node: Notes1069279 +Node: Compatibility Mode1070079 +Node: Additions1070862 +Node: Accessing The Source1071789 +Node: Adding Code1073229 +Node: New Ports1079274 +Node: Derived Files1083409 +Ref: Derived Files-Footnote-11088730 +Ref: Derived Files-Footnote-21088764 +Ref: Derived Files-Footnote-31089364 +Node: Future Extensions1089462 +Node: Implementation Limitations1090039 +Node: Extension Design1091291 +Node: Old Extension Problems1092445 +Ref: Old Extension Problems-Footnote-11093953 +Node: Extension New Mechanism Goals1094010 +Ref: Extension New Mechanism Goals-Footnote-11097375 +Node: Extension Other Design Decisions1097561 +Node: Extension Future Growth1099667 +Node: Old Extension Mechanism1100503 +Node: Basic Concepts1102243 +Node: Basic High Level1102924 +Ref: figure-general-flow1103195 +Ref: figure-process-flow1103794 +Ref: Basic High Level-Footnote-11107023 +Node: Basic Data Typing1107208 +Node: Glossary1110563 +Node: Copying1136025 +Node: GNU Free Documentation License1173582 +Node: Index1198719 +>>>>>>> gawk-4.1-stable End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index f11e2be5..b56fbbad 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -34358,6 +34358,14 @@ command line when compiling @command{gawk} from scratch, including: @table @code +@cindex @code{--disable-extensions} configuration option +@cindex configuration option, @code{--disable-extensions} +@item --disable-extensions +Disable configuring and building the sample extensions in the +@file{extension} directory. This is useful for cross-compiling. +The default action is to dynamically check if the extensions +can be configured and compiled. + @cindex @code{--disable-lint} configuration option @cindex configuration option, @code{--disable-lint} @item --disable-lint diff --git a/doc/gawktexi.in b/doc/gawktexi.in index c4dbea5c..51b90877 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -33507,6 +33507,14 @@ command line when compiling @command{gawk} from scratch, including: @table @code +@cindex @code{--disable-extensions} configuration option +@cindex configuration option, @code{--disable-extensions} +@item --disable-extensions +Disable configuring and building the sample extensions in the +@file{extension} directory. This is useful for cross-compiling. +The default action is to dynamically check if the extensions +can be configured and compiled. + @cindex @code{--disable-lint} configuration option @cindex configuration option, @code{--disable-lint} @item --disable-lint diff --git a/extension/ChangeLog b/extension/ChangeLog index ec926f53..328d58ba 100644 --- a/extension/ChangeLog +++ b/extension/ChangeLog @@ -1,3 +1,9 @@ +2013-12-21 Mike Frysinger <vapier@gentoo.org> + + * configure.ac: Remove MirBSD and OS/390 hack to create + do-nothing Makefile. Should be handled by configure in the + parent directory. + 2013-12-21 Arnold D. Robbins <arnold@skeeve.com> * configure, aclocal.m4: Updated to automake 1.13.4 and diff --git a/extension/Makefile.am b/extension/Makefile.am index 3ef72568..9c49bb81 100644 --- a/extension/Makefile.am +++ b/extension/Makefile.am @@ -122,18 +122,3 @@ dist_man_MANS = \ # gettext requires this SUBDIRS = - -# This is an ugly hack, initially for MirBSD but probably needed for other -# systems. If gawk doesn't have the API built in, don't try to build the -# extensions. -# -# Given the workaround in configure, this isn't strictly necessary, but -# we're leaving it in, in case of some other system needing it. -check-recursive all-recursive: check-for-shared-lib-support - -check-for-shared-lib-support: - @if ../gawk$(EXEEXT) --version | sed 1q | grep API > /dev/null; \ - then : do nothing ; \ - else echo Building the extensions is not supported on this platform ; \ - exit 1; \ - fi diff --git a/extension/Makefile.in b/extension/Makefile.in index 7d919ca4..040cdb8f 100644 --- a/extension/Makefile.in +++ b/extension/Makefile.in @@ -1240,21 +1240,6 @@ uninstall-so: uninstall-recursive: uninstall-so -# This is an ugly hack, initially for MirBSD but probably needed for other -# systems. If gawk doesn't have the API built in, don't try to build the -# extensions. -# -# Given the workaround in configure, this isn't strictly necessary, but -# we're leaving it in, in case of some other system needing it. -check-recursive all-recursive: check-for-shared-lib-support - -check-for-shared-lib-support: - @if ../gawk$(EXEEXT) --version | sed 1q | grep API > /dev/null; \ - then : do nothing ; \ - else echo Building the extensions is not supported on this platform ; \ - exit 1; \ - fi - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/extension/configure b/extension/configure index 9e596d57..025e2723 100755 --- a/extension/configure +++ b/extension/configure @@ -14294,7 +14294,6 @@ ac_config_headers="$ac_config_headers config.h:configh.in" ac_config_files="$ac_config_files Makefile" -ac_config_commands="$ac_config_commands default-1" 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 @@ -15299,7 +15298,6 @@ fi - _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 @@ -15313,7 +15311,6 @@ do "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:configh.in" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac @@ -16592,17 +16589,6 @@ ltmain=$ac_aux_dir/ltmain.sh chmod +x "$ofile" ;; - "default-1":C) -case `uname` in -MirBSD | MirOS | "OS/390") - cat << \EOF > Makefile -all dist check clean distclean install uninstall distcheck: - @exit 0 -EOF - ;; -*) -esac - ;; esac done # for ac_tag diff --git a/extension/configure.ac b/extension/configure.ac index d819ebfa..412fec09 100644 --- a/extension/configure.ac +++ b/extension/configure.ac @@ -81,15 +81,4 @@ AC_C_INLINE AC_CONFIG_HEADERS([config.h:configh.in]) AC_CONFIG_FILES(Makefile) -AC_OUTPUT_COMMANDS([ -case `uname` in -MirBSD | MirOS | "OS/390") - cat << \EOF > Makefile -all dist check clean distclean install uninstall distcheck: - @exit 0 -EOF - ;; -*) -esac -])dnl AC_OUTPUT |