build: switch to C99

Remove some redundant checks while at it.
cgroup: factorize path

Spare few bytes and make typos less likely.
Merge pull request #37 from lu-zero/master

configure.ac: require C99 and drop excess checks
src/libudev/cgroup-util.c: refacotirze cgroup_path

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Adjust the install path of keymaps to $(libdir)/udev

Since these keymaps are the default reference files they should be
installed in the same location as the default rules files.  This
matches sys-fs/udev behaviour as well
Fixed some comments relating to udevlibexecdir paths

Keymaps rules had stated to add or modify /usr/lib/udev/* files instead
of using generic paths, and there was no mention of /etc/udev/* being valid
even though it is (and is the better way to do system-specific
modifications)
Fix bugs in execv() calls to modprobe

Change the execv() call to an execvp() call so that --with-modprobe="modprobe"
is supported; also added the command as argv[0] in the call to execvp(), which
fixes the failures when 'modprobe' is a symlink to kmod

Signed off by ryao
Added LIBUDEV_196 symbol versioning

systemd-udev-196 added four more functions to their libudev.sym under
the LIBUDEV_196 version; consumers such as udisks use the symbol versions
at link time and so it is absolutely necessary for us to provide the same
symbol versioning and functions in order to provide compatibility.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
The only functional changes in systemd-udev-196

As far as I can tell these are the only functional changes between the current
eudev codebase and the codebase of systemd-196, in relation to udev hwdb code.
There are some code style differences, and a number of error-trap-and-log
lines that are not present, but that's about it

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Made all parts dynamically link to libudev.so

Moved libudev.so back to $(rootlibdir) for lvm2 support, and set
it up so that all udev tools link to it dynamically instead of
statically.  To accomplish this the symbol versioning and
hidden-visibility on libudev had to be removed.

Note that libudev-private and libudev-core are still statically
linked to all the tools, so there is some separation there still
but additional space savings could be found if we migrated this
into libudev as well.
Put back symbol versioning for external functions

udisks (and presumably other tools) looks explicitly for certian
symbol versions at link time; a libudev that doesn't have any symbol
versioning will not work with them.  So far, the internal functions
are left unversioned but should probably be versioned with some
sort of 'internal' string instead.
Symbol changes: update from master, mark internal

Rebased against master to get the LIBUDEV_196 symbol versioning, also
marked all other symbols (which used to be local) as LIBUDEV_internal
Merge branch 'libudev_to_rootlibdir' of github.com:/gentoo/eudev into libudev_to_rootlibdir

Conflicts:
	src/libudev/libudev.sym