aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2017-12-22 11:13:31 +0200
committerArnold D. Robbins <arnold@skeeve.com>2017-12-22 11:13:31 +0200
commit67a491896e14a12f85d336864138c21c6146aea0 (patch)
tree35696fc0edd3a16130899284a8be92401e17882e
parent5864e4d3bff453af474557234a573b8f1785fc8a (diff)
downloadegawk-67a491896e14a12f85d336864138c21c6146aea0.tar.gz
egawk-67a491896e14a12f85d336864138c21c6146aea0.tar.bz2
egawk-67a491896e14a12f85d336864138c21c6146aea0.zip
Add --enable-versioned-extension-dir configure option.
-rw-r--r--ChangeLog5
-rwxr-xr-xconfigure27
-rw-r--r--configure.ac18
-rw-r--r--doc/ChangeLog5
-rw-r--r--doc/gawk.info120
-rw-r--r--doc/gawk.texi8
-rw-r--r--doc/gawktexi.in8
-rw-r--r--extension/ChangeLog5
-rwxr-xr-xextension/configure2
-rw-r--r--extension/configure.ac4
10 files changed, 139 insertions, 63 deletions
diff --git a/ChangeLog b/ChangeLog
index 84f83663..67c2252e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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"
diff --git a/configure b/configure
index 0b2b84c7..1af24a51 100755
--- a/configure
+++ b/configure
@@ -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