diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rwxr-xr-x | configure | 27 | ||||
-rw-r--r-- | configure.ac | 18 | ||||
-rw-r--r-- | doc/ChangeLog | 5 | ||||
-rw-r--r-- | doc/gawk.info | 120 | ||||
-rw-r--r-- | doc/gawk.texi | 8 | ||||
-rw-r--r-- | doc/gawktexi.in | 8 | ||||
-rw-r--r-- | extension/ChangeLog | 5 | ||||
-rwxr-xr-x | extension/configure | 2 | ||||
-rw-r--r-- | extension/configure.ac | 4 |
10 files changed, 139 insertions, 63 deletions
@@ -1,3 +1,8 @@ +2017-12-20 Arnold D. Robbins <arnold@skeeve.com> + + * configure.ac: Add --enable-versioned-dir option for a + directory with API version in it to hold extensions. + 2017-12-19 Arnold D. Robbins <arnold@skeeve.com> * configure.ac: Remove x's from `test "x$something" = "xyes" @@ -660,7 +660,6 @@ MSGFMT GETTEXT_MACRO_VERSION USE_NLS SED -pkgextensiondir acl_shlibext RANLIB LN_S @@ -694,6 +693,7 @@ build_os build_vendor build_cpu build +pkgextensiondir AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V @@ -768,6 +768,7 @@ enable_lint enable_severe_portability_problems enable_builtin_intdiv0 enable_mpfr +enable_versioned_extension_dir enable_dependency_tracking enable_largefile enable_nls @@ -1417,6 +1418,8 @@ Optional Features: --enable-builtin-intdiv0 enable built-in intdiv0 function --disable-mpfr do not check for MPFR + --enable-versioned-extension-dir + use a versioned directory for extensions --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking @@ -3275,6 +3278,25 @@ if test "${enable_mpfr+set}" = set; then : fi +EXTENSIONDIR= +# Check whether --enable-versioned-extension-dir was given. +if test "${enable_versioned_extension_dir+set}" = set; then : + enableval=$enable_versioned_extension_dir; if test "$enableval" = yes + then + MAJOR=`awk '/define gawk_api_major_version/ { print $3 }' < $srcdir/gawkapi.h` + MINOR=`awk '/define gawk_api_minor_version/ { print $3 }' < $srcdir/gawkapi.h` + + # note leading slash on the value + export EXTENSIONDIR=/ext-$MAJOR.$MINOR + fi + +fi + + +# set default shared library location +pkgextensiondir='${pkglibdir}'${EXTENSIONDIR} + + # 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 @@ -5436,9 +5458,6 @@ fi # shared library suffix for dynamic loading: -# default shared library location -pkgextensiondir='${pkglibdir}' - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for z/OS USS compilation" >&5 diff --git a/configure.ac b/configure.ac index 8b3434f2..548379c0 100644 --- a/configure.ac +++ b/configure.ac @@ -88,6 +88,22 @@ AC_ARG_ENABLE([mpfr], fi ) +EXTENSIONDIR= +AC_ARG_ENABLE([versioned-extension-dir], + [AS_HELP_STRING([--enable-versioned-extension-dir], [use a versioned directory for extensions])], + if test "$enableval" = yes + then + MAJOR=`awk '/define gawk_api_major_version/ { print $3 }' < $srcdir/gawkapi.h` + MINOR=`awk '/define gawk_api_minor_version/ { print $3 }' < $srcdir/gawkapi.h` + + # note leading slash on the value + export EXTENSIONDIR=/ext-$MAJOR.$MINOR + fi +) + +# set default shared library location +AC_SUBST([pkgextensiondir], ['${pkglibdir}'${EXTENSIONDIR}]) + AC_CANONICAL_HOST AC_USE_SYSTEM_EXTENSIONS @@ -129,8 +145,6 @@ AC_SUBST(CFLAGS) # shared library suffix for dynamic loading: AC_SUBST(acl_shlibext) -# default shared library location -AC_SUBST([pkgextensiondir], ['${pkglibdir}']) dnl checks for systems AC_ZOS_USS diff --git a/doc/ChangeLog b/doc/ChangeLog index d73f9392..d6f061dc 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,8 @@ +2017-12-20 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in (Additional Configuration Options): Add + description of the --enable-versioned-extension-dir option. + 2017-12-01 Sergey Tselikh <stselikh@gmail.com> * gawktexi.in: Several small changes to gawktexi.in, diff --git a/doc/gawk.info b/doc/gawk.info index e93b4d37..b0b732bb 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -28971,6 +28971,12 @@ command line when compiling 'gawk' from scratch, including: desirable, but it may bring you some slight performance improvement. +'--enable-versioned-extension-dir' + Use a versioned directory for extensions. The directory name will + include the major and minor API versions in it. This makes it + possible to keep extensions for different API versions on the same + system without their conflicting with one another. + '--with-whiny-user-strftime' Force use of the included version of the C 'strftime()' function for deficient systems. @@ -32878,6 +32884,8 @@ Index * --dump-variables option: Options. (line 94) * --dump-variables option, using for library functions: Library Names. (line 45) +* --enable-versioned-extension-dir configuration option: Additional Configuration Options. + (line 42) * --exec option: Options. (line 139) * --field-separator option: Options. (line 21) * --file option: Options. (line 25) @@ -32914,7 +32922,7 @@ Index * --use-lc-numeric option: Options. (line 232) * --version option: Options. (line 318) * --with-whiny-user-strftime configuration option: Additional Configuration Options. - (line 42) + (line 48) * -b option: Options. (line 69) * -c option: Options. (line 82) * -C option: Options. (line 89) @@ -33619,8 +33627,10 @@ Index (line 32) * configuration option, --disable-nls: Additional Configuration Options. (line 37) -* configuration option, --with-whiny-user-strftime: Additional Configuration Options. +* configuration option, --enable-versioned-extension-dir: Additional Configuration Options. (line 42) +* configuration option, --with-whiny-user-strftime: Additional Configuration Options. + (line 48) * configuration options, gawk: Additional Configuration Options. (line 6) * constant regexps: Regexp Usage. (line 57) @@ -36459,58 +36469,58 @@ Node: Unix Installation1163323 Node: Quick Installation1164005 Node: Shell Startup Files1166419 Node: Additional Configuration Options1167508 -Node: Configuration Philosophy1169497 -Node: Non-Unix Installation1171866 -Node: PC Installation1172326 -Node: PC Binary Installation1173164 -Node: PC Compiling1173599 -Node: PC Using1174716 -Node: Cygwin1177761 -Node: MSYS1178531 -Node: VMS Installation1179032 -Node: VMS Compilation1179823 -Ref: VMS Compilation-Footnote-11181052 -Node: VMS Dynamic Extensions1181110 -Node: VMS Installation Details1182795 -Node: VMS Running1185048 -Node: VMS GNV1189327 -Node: VMS Old Gawk1190062 -Node: Bugs1190533 -Node: Bug address1191196 -Node: Usenet1193988 -Node: Maintainers1194765 -Node: Other Versions1196026 -Node: Installation summary1202788 -Node: Notes1203990 -Node: Compatibility Mode1204855 -Node: Additions1205637 -Node: Accessing The Source1206562 -Node: Adding Code1207999 -Node: New Ports1214218 -Node: Derived Files1218706 -Ref: Derived Files-Footnote-11224352 -Ref: Derived Files-Footnote-21224387 -Ref: Derived Files-Footnote-31224985 -Node: Future Extensions1225099 -Node: Implementation Limitations1225757 -Node: Extension Design1226940 -Node: Old Extension Problems1228094 -Ref: Old Extension Problems-Footnote-11229612 -Node: Extension New Mechanism Goals1229669 -Ref: Extension New Mechanism Goals-Footnote-11233033 -Node: Extension Other Design Decisions1233222 -Node: Extension Future Growth1235335 -Node: Old Extension Mechanism1236171 -Node: Notes summary1237934 -Node: Basic Concepts1239116 -Node: Basic High Level1239797 -Ref: figure-general-flow1240079 -Ref: figure-process-flow1240764 -Ref: Basic High Level-Footnote-11244065 -Node: Basic Data Typing1244250 -Node: Glossary1247578 -Node: Copying1279416 -Node: GNU Free Documentation License1316955 -Node: Index1342073 +Node: Configuration Philosophy1169801 +Node: Non-Unix Installation1172170 +Node: PC Installation1172630 +Node: PC Binary Installation1173468 +Node: PC Compiling1173903 +Node: PC Using1175020 +Node: Cygwin1178065 +Node: MSYS1178835 +Node: VMS Installation1179336 +Node: VMS Compilation1180127 +Ref: VMS Compilation-Footnote-11181356 +Node: VMS Dynamic Extensions1181414 +Node: VMS Installation Details1183099 +Node: VMS Running1185352 +Node: VMS GNV1189631 +Node: VMS Old Gawk1190366 +Node: Bugs1190837 +Node: Bug address1191500 +Node: Usenet1194292 +Node: Maintainers1195069 +Node: Other Versions1196330 +Node: Installation summary1203092 +Node: Notes1204294 +Node: Compatibility Mode1205159 +Node: Additions1205941 +Node: Accessing The Source1206866 +Node: Adding Code1208303 +Node: New Ports1214522 +Node: Derived Files1219010 +Ref: Derived Files-Footnote-11224656 +Ref: Derived Files-Footnote-21224691 +Ref: Derived Files-Footnote-31225289 +Node: Future Extensions1225403 +Node: Implementation Limitations1226061 +Node: Extension Design1227244 +Node: Old Extension Problems1228398 +Ref: Old Extension Problems-Footnote-11229916 +Node: Extension New Mechanism Goals1229973 +Ref: Extension New Mechanism Goals-Footnote-11233337 +Node: Extension Other Design Decisions1233526 +Node: Extension Future Growth1235639 +Node: Old Extension Mechanism1236475 +Node: Notes summary1238238 +Node: Basic Concepts1239420 +Node: Basic High Level1240101 +Ref: figure-general-flow1240383 +Ref: figure-process-flow1241068 +Ref: Basic High Level-Footnote-11244369 +Node: Basic Data Typing1244554 +Node: Glossary1247882 +Node: Copying1279720 +Node: GNU Free Documentation License1317259 +Node: Index1342377 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 781f157e..cc32cb84 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -39552,6 +39552,14 @@ Disable all message-translation facilities. This is usually not desirable, but it may bring you some slight performance improvement. +@cindex @option{--enable-versioned-extension-dir} configuration option +@cindex configuration option, @code{--enable-versioned-extension-dir} +@item --enable-versioned-extension-dir +Use a versioned directory for extensions. The directory name will +include the major and minor API versions in it. This makes it possible +to keep extensions for different API versions on the same system +without their conflicting with one another. + @cindex @option{--with-whiny-user-strftime} configuration option @cindex configuration option, @code{--with-whiny-user-strftime} @item --with-whiny-user-strftime diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 7596bd95..20321ada 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -38565,6 +38565,14 @@ Disable all message-translation facilities. This is usually not desirable, but it may bring you some slight performance improvement. +@cindex @option{--enable-versioned-extension-dir} configuration option +@cindex configuration option, @code{--enable-versioned-extension-dir} +@item --enable-versioned-extension-dir +Use a versioned directory for extensions. The directory name will +include the major and minor API versions in it. This makes it possible +to keep extensions for different API versions on the same system +without their conflicting with one another. + @cindex @option{--with-whiny-user-strftime} configuration option @cindex configuration option, @code{--with-whiny-user-strftime} @item --with-whiny-user-strftime diff --git a/extension/ChangeLog b/extension/ChangeLog index 830c6568..f7884019 100644 --- a/extension/ChangeLog +++ b/extension/ChangeLog @@ -1,3 +1,8 @@ +2017-12-20 Arnold D. Robbins <arnold@skeeve.com> + + * configure.ac: Add support for the --enable-versioned-dir option + in the main configure program. + 2017-12-19 Arnold D. Robbins <arnold@skeeve.com> * configure.ac: Add --disable-mpfr to be in sync with main diff --git a/extension/configure b/extension/configure index e5fd4752..3666df28 100755 --- a/extension/configure +++ b/extension/configure @@ -12595,7 +12595,7 @@ CC=$lt_save_CC -pkgextensiondir='${libdir}/gawk' +pkgextensiondir='${pkglibdir}'${EXTENSIONDIR} if test "$GCC" = yes diff --git a/extension/configure.ac b/extension/configure.ac index 69461d24..e1438259 100644 --- a/extension/configure.ac +++ b/extension/configure.ac @@ -54,7 +54,9 @@ AC_DISABLE_STATIC LT_INIT dnl AC_PROG_INSTALL -AC_SUBST([pkgextensiondir], ['${libdir}/gawk']) +dnl use the same definition as the main configure script. +dnl EXTENSIONDIR is exported if it was set there. +AC_SUBST([pkgextensiondir], ['${pkglibdir}'${EXTENSIONDIR}]) if test "$GCC" = yes then |