Ken Moffat [Mon, 9 Aug 2010 22:41:22 +0000 (23:41 +0100)]
gtk-doc*.mak: use tabs instead of spaces to fix build with make-3.82
https://bugs.freedesktop.org/show_bug.cgi?id=29426
Tim-Philipp Müller [Sun, 8 Aug 2010 23:11:44 +0000 (00:11 +0100)]
gst-check.m4: add AG_GST_CHECK_GST_PLUGINS_{GOOD,UGLY,BAD,FFMPEG}
For future use, so we can find other plugin dirs in an uninstalled setup
more easily, for unit tests that use plugins from other modules mostly. Not
all of these modules have uninstalled .pc files yet. The currently used
(topdir)/../gst-plugins-foo trick doesn't work in all cases, e.g. when
running 'make distcheck'.
Stefan Kost [Thu, 5 Aug 2010 10:53:23 +0000 (13:53 +0300)]
scanobj: only update inspect files when we run in update mode
Check the stamp file to avoid rewriting all inspect files and rescanning.
Fixes #623356
Tim-Philipp Müller [Thu, 5 Aug 2010 01:20:50 +0000 (02:20 +0100)]
gstdoc-scangobj: output $MODULE.hierarchy sorted alphabetically
Sort hierarchy of types in alphabetical order, so it doesn't
change all the time.
Tim-Philipp Müller [Tue, 3 Aug 2010 09:35:27 +0000 (10:35 +0100)]
Revert "gtk-doc.mak: make build break on new api that has not been added to the sections file"
This reverts commit
30c7a70b1d4765d26789950ca8e983284c0a05b3.
Docs stuff should never break the build (it's fragile enough as it is), especially
not when whether things break or not depends on factors outside of the source tree
such as, for example, the gtk-doc version being used. Also, hooks like this are
probably more appropriate for the check or distcheck target.
https://bugzilla.gnome.org/show_bug.cgi?id=625862
Tim-Philipp Müller [Mon, 21 Jun 2010 15:26:21 +0000 (16:26 +0100)]
Add AG_GST_SET_PACKAGE_RELEASE_DATETIME and _DATETIME_WITH_NANO macros for configure
Sets GST_PACKAGE_RELEASE_DATETIME, either to the current date and time, or
to the specified datetime, or to the date of the current release based on
the .doap file.
In a GStreamer module context, one could use it like this:
AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO],
["${srcdir}/$PACKAGE.doap"],
[$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])
https://bugzilla.gnome.org/show_bug.cgi?id=623040
Tim-Philipp Müller [Fri, 23 Jul 2010 15:46:10 +0000 (16:46 +0100)]
gstdoc-scangobj: serialise doubles and floats always with a decimal dot
Make sure floats and double property values are output with a decimal dot
(and not e.g. a comma) irrespective of the current locale. g_ascii_formatd() is
used here instead of g_ascii_dtostr() because we want nice human-readable
numbers and do not need the exact same bit representation when deserialising.
Other parts of gtk-doc may need fixing as well to make sure to always
deserialise floats and doubles in C locale.
Tim-Philipp Müller [Thu, 15 Jul 2010 15:35:40 +0000 (16:35 +0100)]
hooks: use 'git do-something' instead of the old 'git-do-something'
Stefan Kost [Thu, 24 Jun 2010 11:30:30 +0000 (14:30 +0300)]
docs: remove cruft and clean additional copied files
Remove lines still referencing the inspect-stamps. Clean scanobj-build.stamp
file (scanobj-build.stamp rule always creates that one). Fixes #622546
Tim-Philipp Müller [Mon, 21 Jun 2010 11:34:12 +0000 (12:34 +0100)]
gst-error.m4: use 'dnl' instead of 'Dnl' for comment line
Tim-Philipp Müller [Fri, 18 Jun 2010 08:54:20 +0000 (09:54 +0100)]
gstdoc-scangobj: fix build with C compilers that don't support -Wall
Don't unconditionally pass -Wall to the compiler. Use WARNING_CFLAGS instead
if it is defined. Fixes build with Sun Studio Compiler.
Fixes #621963.
Tim-Philipp Müller [Thu, 17 Jun 2010 14:45:20 +0000 (15:45 +0100)]
gstdoc-scanobj: sort pad templates
Avoid pad template order ping-pong in generated version-controlled
files by sorting the pad templates before processing them.
Tim-Philipp Müller [Thu, 17 Jun 2010 14:37:14 +0000 (15:37 +0100)]
gstdoc-scangobj: abort with an error if we couldn't open a file for writing
Tim-Philipp Müller [Thu, 17 Jun 2010 12:15:20 +0000 (13:15 +0100)]
gstdoc-scanobj: skip static coreelements plugin with bin and pipeline factories
Same as we did before. It's best not to expose GstBin and GstPipeline here to
avoid confusion. People are better off consulting the GstBin and GstPipeline
API docs and constructing bins and pipelines using the API provided there.
Tim-Philipp Müller [Thu, 17 Jun 2010 10:24:06 +0000 (11:24 +0100)]
gstdoc-scangobj: maintain previous XML formatting
Maintain the previous XML formatting, ie. add newlines after each xml item.
Also make sure file does not end with a newline character. Simplify xmlprint()
function a little to not use home-baked xml escaping - there's a GLib function
for that, so we may just as well do it properly.
Edward Hervey [Tue, 15 Jun 2010 14:44:50 +0000 (16:44 +0200)]
Makefile.am: Don't dist file that has gone
Stefan Kost [Tue, 15 Jun 2010 13:51:28 +0000 (16:51 +0300)]
docs: use g_string instead of fragile static strings
Stefan Kost [Tue, 15 Jun 2010 13:33:25 +0000 (16:33 +0300)]
docs: make static string buffers bigger
Stefan Kost [Tue, 15 Jun 2010 12:21:15 +0000 (15:21 +0300)]
docs: move gst-xmlinspect.py functionality to gstdoc-scanobj
gst-xmlinspect was causing a circular dependency (as it uses gst-python). It
also caused and extra build step and double registry scan.
Sebastian Dröge [Mon, 14 Jun 2010 10:59:35 +0000 (12:59 +0200)]
gst-glib2.m4: Add our custom GLib CFLAGS to GLIB_EXTRA_CFLAGS
GLIB_CFLAGS is only used by core and all other modules
get the flags from gstreamer-0.10.pc.
Sebastian Dröge [Mon, 14 Jun 2010 09:26:08 +0000 (11:26 +0200)]
gst-glib.m4: Define G_DISABLE_DEPRECATED for GIT versions
If deprecated API is found, for which the replacement is in
a newer version of GLib than we currently depend on, use
the new API in a #if GLIB_CHECK_VERSION block and remove
that block after depending on a new enougb GLib version.
Fixes bug #605100.
Sebastian Dröge [Sat, 12 Jun 2010 06:19:07 +0000 (08:19 +0200)]
gst.supp: Update dl_relocate_object suppression for libc in /lib instead of /lib64
David Schleef [Wed, 9 Jun 2010 19:29:59 +0000 (12:29 -0700)]
Add orc.m4 to dist files
David Schleef [Wed, 9 Jun 2010 19:25:27 +0000 (12:25 -0700)]
Add autoconf macros for Orc
Sebastian Dröge [Tue, 8 Jun 2010 08:02:42 +0000 (10:02 +0200)]
orc.mak: Use automake silent rules for the orcc calls if automake 1.11 is used
David Schleef [Wed, 2 Jun 2010 06:47:35 +0000 (23:47 -0700)]
orc.mak: rename from orc.mk
All the other makefile snippets are called *.mak.
David Schleef [Wed, 2 Jun 2010 05:52:01 +0000 (22:52 -0700)]
orc.mk: change generated file/variable names
David Schleef [Sun, 30 May 2010 21:35:28 +0000 (14:35 -0700)]
orc: Fix distcheck problems in orc.mk
Add gst-indent to common, since orc.mk uses it to clean up
source files.
David Schleef [Fri, 28 May 2010 07:39:44 +0000 (00:39 -0700)]
Add a makefile fragment for Orc
Not updating all the modules, because it's only used on the Orc
branch for now.
Sebastian Dröge [Tue, 25 May 2010 18:04:08 +0000 (20:04 +0200)]
glib-gen.mak: Don't use == for comparisons in shell scripts
Sebastian Dröge [Tue, 25 May 2010 18:01:47 +0000 (20:01 +0200)]
gst-error.m4: Don't use == for comparisons in shell scripts
This only works with bash and not strictly POSIX compatible shells.
Tim-Philipp Müller [Fri, 14 May 2010 17:20:50 +0000 (18:20 +0100)]
gst.supp: suppress dash leaks
Tim-Philipp Müller [Thu, 29 Apr 2010 08:49:46 +0000 (09:49 +0100)]
upload-doc.mak: upload release docs to the right place
On our website, all doc links point to the docs for head, which
is where git docs get uploaded to, while release docs for some
reason get uploaded to docs/$version where no one will ever
find them. Change upload rule to upload release docs to both
the versioned directory and head, so that new docs will actually
be visible on the website when the new-release script in www
uploads them as part of the release process.
Tim-Philipp Müller [Thu, 29 Apr 2010 08:47:46 +0000 (09:47 +0100)]
win32.mak: rename check-nonportable-int64-print-format rule and check for %zu
Rename check-nonportable-int64-print-format rule to check-nonportable-print-format
and also check for %zu, %zd, etc.
Brian Cameron [Fri, 23 Apr 2010 13:34:41 +0000 (14:34 +0100)]
gst-arch.m4: fix detection on Solaris
stop-gap measure to fix CPU/arch detection on solaris, which
makes the goom problems work properly on solaris. Probably
needs more fixes after the release (use target_* etc.).
Fixes #615996.
Edward Hervey [Mon, 12 Apr 2010 13:27:41 +0000 (15:27 +0200)]
pre-commit: Add --leave-preprocessor-space
This puts it in sync with core/tools/gst-indent.
Sebastian Dröge [Fri, 9 Apr 2010 06:17:45 +0000 (08:17 +0200)]
gst-glib2.m4: Add configure parameter to disable GObject type checks
...and disable them by default for pre-releases and releases.
Fixes bug #612540.
Tim-Philipp Müller [Fri, 9 Apr 2010 08:23:15 +0000 (09:23 +0100)]
cruft.mak: add make rule to remove cruft
Tim-Philipp Müller [Wed, 7 Apr 2010 23:18:03 +0000 (00:18 +0100)]
download-translations: make sure existing translations are listed in LINGUAS
Fixes #509662.
Edward Hervey [Thu, 1 Apr 2010 14:47:56 +0000 (16:47 +0200)]
gst.supp: Make ALSA suppressions a bit more generic
Edward Hervey [Thu, 1 Apr 2010 10:27:31 +0000 (12:27 +0200)]
gst.supp: Make some suppressions more generic
Tim-Philipp Müller [Mon, 29 Mar 2010 23:44:01 +0000 (00:44 +0100)]
Make sure new parallel-subdirs.mak gets disted
It seems to get disted automagically already when used, but better be safe..
Tim-Philipp Müller [Mon, 29 Mar 2010 12:38:33 +0000 (13:38 +0100)]
gst-libxml2.m4: fix error message - we are building GStreamer, not glib2
Tim-Philipp Müller [Fri, 26 Mar 2010 19:42:41 +0000 (19:42 +0000)]
parallel-subdirs.mak: snippet to include in Makefiles to build subdirectories in parallel
Build sub-directories in parallel if make -jN is used. We'll descend
into the sub-directories a second time after the first parallel run,
but at that point there shouldn't be anything left to do. Assumes
there are no dependencies between any of the sub-directories.
Tim-Philipp Müller [Wed, 24 Mar 2010 17:57:41 +0000 (17:57 +0000)]
check.mak: fix typo in make help
Edward Hervey [Wed, 24 Mar 2010 17:14:41 +0000 (18:14 +0100)]
gst.supp: Simplify some more suppressions
Edward Hervey [Wed, 24 Mar 2010 16:32:07 +0000 (17:32 +0100)]
check.mak: Add a "make valgrind.gen-suppressions" rule
This allows generating suppressions for all tests
Edward Hervey [Fri, 12 Mar 2010 14:16:30 +0000 (15:16 +0100)]
gst.supp: More suppressions for glib 2.23
See on gentoo ~amd64. Also simplified existing ones.
Tim-Philipp Müller [Fri, 12 Mar 2010 13:53:31 +0000 (13:53 +0000)]
gst.supp: update valgrind suppressions for newer glib
Tim-Philipp Müller [Fri, 12 Mar 2010 11:57:09 +0000 (11:57 +0000)]
check.mak: fix 'make check-valgrind'
Don't use @ on a continuation line, that will lead to syntax errors.
Also replace some spaces with tabs.
Benjamin Otte [Thu, 11 Mar 2010 10:17:12 +0000 (11:17 +0100)]
Make sure MORE_FLAGS are evaluated one by one
Previously the argument was just evaluated as a single string.
I still don't get shell and m4 (un)escaping rules...
Benjamin Otte [Wed, 10 Mar 2010 20:48:34 +0000 (21:48 +0100)]
Clean up the brokenness from my latest changes
- Fix calling AG_GST_SET_ERROR_CFLAGS() without a second parameter
- Make AG_GST_SET_ERROR_CXXFLAGS() actually work
Benjamin Otte [Wed, 10 Mar 2010 15:55:23 +0000 (16:55 +0100)]
Split ERROR_{C|CXX} flags into WARNING and ERROR flags
The WARNING flags now contain all warning flags, the ERROR flags contain
the flags related to making warnings fatal. For more explanation, see
the inline docs.
The rationale is that we want to turn on a lot more warning flags, but
generated and imported sources might not have the same quality. For
those, we want to use the WARNING_CFLAGS but not the ERROR_CFLAGS.
Benjamin Otte [Wed, 10 Mar 2010 11:05:44 +0000 (12:05 +0100)]
Add a MORE_FLAGS argument to AG_GST_SET_ERROR_{C|XX}FLAGS
This allows modules to specify additional warning flags to
AG_GST_SET_ERROR_CFLAGS() and AG_GST_SET_ERROR_CXXFLAGS() that will be
added to the ERROR_CFLAGS.
https://bugzilla.gnome.org/show_bug.cgi?id=611690
Tim-Philipp Müller [Wed, 10 Mar 2010 00:07:27 +0000 (00:07 +0000)]
Don't try to dist shave files that have been removed
Sebastian Dröge [Fri, 26 Feb 2010 15:22:00 +0000 (16:22 +0100)]
build: Make some generic rules silent
Sebastian Dröge [Fri, 26 Feb 2010 14:57:06 +0000 (15:57 +0100)]
Remove shave from common, all modules are using AM_SILENT_RULES now
Sebastian Dröge [Sun, 14 Feb 2010 22:13:30 +0000 (23:13 +0100)]
gst.supp: Add another type registration, one-time leak in GObject
Tim-Philipp Müller [Mon, 1 Feb 2010 00:32:39 +0000 (00:32 +0000)]
gst.supp: even more valgrind suppressions
GLib 2.23.2, debian sid, amd64. Also make use of ... some more.
Tim-Philipp Müller [Mon, 1 Feb 2010 00:32:39 +0000 (00:32 +0000)]
gst.supp: add some more valgrind suppressions for newer glib versions
GLib 2.23.2, debian sid, amd64
Tim-Philipp Müller [Sat, 30 Jan 2010 13:56:42 +0000 (13:56 +0000)]
gst-glib2.m4: add -DG_THREADS_MANDATORY to GLIB_CFLAGS
Threading is always enabled in GStreamer code, so we may just as well
add -DG_THREADS_MANDATORY to GLIB_CFLAGS so that all GStreamer modules
are automatically compiled with it (optimisation).
Peter Korsgaard [Mon, 18 Jan 2010 15:22:01 +0000 (16:22 +0100)]
gst-arch.m4: fix unaligned detection for x86-64 when cross compiling
Commit
4221e9dc (amd64/x86_64 allows unaligned memory access too) added
x86-64 to the unaligned access whitelist, but missed the trailing
wildcards, so the test never succeeds (host is something like
x86_64-unknown-linux-gnu).
When building natively, this isn't a big deal as the AC_TRY_RUN test
correctly detects it, but that doesn't work when cross compiling so
the build dies with:
configure: error: cannot run test program while cross compiling
See `config.log' for more details.
Fix it by adding the trailing wildcards.
Fixes bug #607317.
Tim-Philipp Müller [Wed, 13 Jan 2010 00:41:04 +0000 (00:41 +0000)]
Don't forget to dist new cruft.mak file
Tim-Philipp Müller [Wed, 13 Jan 2010 00:28:03 +0000 (00:28 +0000)]
Add cruft.mak file that can be included from modules to check for cruft
When plugins get renamed, moved or removed we often leave behind unwanted
left-overs in our source tree, since no one runs 'make clean' before every
git update. This can cause problems and be confusing, so add a little
Makefile rule to include to print a warning for if any of the files or
directories specified in CRUFT_FILES and/or CRUFT_DIRS are still present
in our uninstalled tree.
Mark Nauwelaerts [Mon, 21 Dec 2009 18:09:28 +0000 (19:09 +0100)]
gtk-doc*.mak: html is created in build directory, not source directory
Fixes make dist for out-of-source build.
Mark Nauwelaerts [Mon, 21 Dec 2009 17:52:36 +0000 (18:52 +0100)]
gst.supp: Add some more invalid read variations for 64-bit
Tim-Philipp Müller [Tue, 1 Dec 2009 14:16:31 +0000 (14:16 +0000)]
Dist new gst-platform.m4
Sebastian Dröge [Tue, 1 Dec 2009 13:06:47 +0000 (14:06 +0100)]
m4: Add gst-platform.m4 for platform specific checks and defines
These are currently copied from core but some/most of them are
useful for other modules too.
Edward Hervey [Fri, 27 Nov 2009 17:52:48 +0000 (18:52 +0100)]
gst.supp: Suppression for macosx (Leopard) loader
Edward Hervey [Fri, 27 Nov 2009 17:52:23 +0000 (18:52 +0100)]
gst.supp: More suppressions for data only created once at initialization
Edward Hervey [Fri, 27 Nov 2009 17:29:47 +0000 (18:29 +0100)]
gst.supp: Suppression for allocation done only once at initialization
Tags are only registered once, and we keep a reference to some classes.
Edward Hervey [Fri, 27 Nov 2009 17:29:33 +0000 (18:29 +0100)]
gst.supp: Another dlopen suppression
Edward Hervey [Fri, 27 Nov 2009 17:28:39 +0000 (18:28 +0100)]
gst.supp: Add suppressions for new registry system
Edward Hervey [Fri, 27 Nov 2009 17:27:45 +0000 (18:27 +0100)]
gst.supp: make gstffmpegc suppression more flexible
Edward Hervey [Fri, 27 Nov 2009 17:27:15 +0000 (18:27 +0100)]
gst.supp: Make ALSA suppressions more flexible
Edward Hervey [Fri, 27 Nov 2009 14:53:48 +0000 (15:53 +0100)]
gst.supp: Add suppression for leak in glib static types
Edward Hervey [Fri, 27 Nov 2009 14:53:21 +0000 (15:53 +0100)]
gst.supp: Add suppressions for recent alsa
Edward Hervey [Fri, 27 Nov 2009 14:52:57 +0000 (15:52 +0100)]
gst.supp: Add some glibc 2.11 leaks
Edward Hervey [Fri, 27 Nov 2009 14:52:01 +0000 (15:52 +0100)]
gst.supp: Make some dlopen suppressions more flexible
Edward Hervey [Fri, 27 Nov 2009 13:57:29 +0000 (14:57 +0100)]
gst.supp: Add suppression for glibc-2.11 relocatable conditional
Tim-Philipp Müller [Thu, 19 Nov 2009 10:24:26 +0000 (10:24 +0000)]
gst-args: fix version checking
Without the 'test' configure will look for a binary call x and
fail to find it..
Tim-Philipp Müller [Tue, 17 Nov 2009 08:58:55 +0000 (08:58 +0000)]
gtk-doc.mak: add GTKDOC_EXTRA_ENVIRONMENT when calling gtkdoc-scangobj
So core can set GST_PLUGIN_SCANNER environment variable that's needed
to make building the core docs work correctly.
Stefan Kost [Fri, 16 Oct 2009 07:07:21 +0000 (10:07 +0300)]
build: use glib_gen_basename for generated files. Fixes #598114
We used pattern rules before. This breaks if a header is references from a
different directory. For marshallers I could trigger useless rebuilds. For enums
it caused that the genrated files where overwritten with wrong content as the
pattern rule has a static dependecy. So it created enumtypes for dir a in dir b.
Edward Hervey [Wed, 14 Oct 2009 06:40:11 +0000 (08:40 +0200)]
m4/gst-args: Properly set the package name for git/pre-release/release
https://bugzilla.gnome.org/show_bug.cgi?id=598248
Edward Hervey [Wed, 14 Oct 2009 06:38:47 +0000 (08:38 +0200)]
m4/as-version: Make AS_NANO set RELEASE if nano != 1
If code using AS_NANO wants finer grained control, they should
use the PACKAGE_VERSION_NANO.
https://bugzilla.gnome.org/show_bug.cgi?id=598248
Jan Schmidt [Mon, 12 Oct 2009 13:37:15 +0000 (14:37 +0100)]
check: Use the LIBTOOL env var rather than hard-coding
Instead of hard-coding libtool, use the LIBTOOL env var supplied
by the makefiles for the gdb/valgrind targets to ensure the correct
libtool binary gets used.
Jan Schmidt [Thu, 8 Oct 2009 09:56:22 +0000 (10:56 +0100)]
gtk-doc-plugins: Allow modules to add extra env vars to the inspect step.
Sebastian Dröge [Sat, 12 Sep 2009 13:02:26 +0000 (15:02 +0200)]
Update supressions for GLib 2.21
This creates static type data at different places now
Tim-Philipp Müller [Wed, 9 Sep 2009 16:49:41 +0000 (17:49 +0100)]
Dist introspection.m4 as well
Sebastian Dröge [Sat, 5 Sep 2009 07:52:49 +0000 (09:52 +0200)]
common: Add m4 file for gobject-introspection configure check
Tim-Philipp Müller [Sat, 29 Aug 2009 23:15:13 +0000 (00:15 +0100)]
mangle-tmpl.py: don't fail if there's no description for an element
Tim-Philipp Müller [Mon, 24 Aug 2009 22:36:00 +0000 (23:36 +0100)]
upload-doc.mak: abort instead of uploading docs with broken cross-references
In 'make upload', make sure we have the online locations for the various
libraries we depend on and that we want to cross-reference properly, ie.
glib, gobject, gstreamer core, gstreamer libs, and gst-plugins-base libs.
Should fix #592619.
Tim-Philipp Müller [Fri, 21 Aug 2009 01:17:42 +0000 (02:17 +0100)]
download-translations: make sure all .po files are UTF-8
Tim-Philipp Müller [Sun, 2 Aug 2009 13:43:04 +0000 (14:43 +0100)]
pre-commit.hook: mention need to run git add after fixing the indentation
Tim-Philipp Müller [Mon, 29 Jun 2009 20:56:15 +0000 (21:56 +0100)]
win32.mak: add 'check-nonportable-int64-print-format' target
Check for non-portable printf strings (%lld, %llu, %llx etc.).
Stefan Kost [Thu, 23 Jul 2009 20:53:55 +0000 (23:53 +0300)]
plugin-docs: add a fallback for the include of -details.xml
For wrapper plugins we cannot know the details.xml (besides that there will be
many). Regardless we don't want to fail if there are no details (gtk-doc-1.12
handles this already). Also remove that fancy warning -> ERROR mapping from
makefile, we don't do that for normal docs either.
Olivier Crête [Mon, 13 Jul 2009 16:13:10 +0000 (12:13 -0400)]
glib-gen: Use g_once_init to protect enum registration
Make use that enums are only registered once by using g_once_init_enter/leave()
Tim-Philipp Müller [Sun, 28 Jun 2009 00:12:00 +0000 (01:12 +0100)]
docs: do a gtkdoc-rebase --online before 'make upload'
Fix cross-references to GLib by doing a gtkdoc-rebase --online
before rsyncing the html docs to our server.
Jan Schmidt [Fri, 26 Jun 2009 12:16:05 +0000 (13:16 +0100)]
gst-autogen.sh: Substitute punctuation in variable names. Use printf
Replace the punctuation (-,.) in variable names with underscores, so
that checks for binaries with names like 'automake-1.10' can succeed.
Use printf instead of 'echo -n' as it's apparently more portable.
Jan Schmidt [Wed, 24 Jun 2009 14:11:27 +0000 (15:11 +0100)]
gst-autogen.sh: Don't use bash extension
There's no need to use bash sub-shells just to get computed variable
names. Use eval directly instead, so that it works on systems where
/bin/sh isn't bash.