diff options
author | Julien Isorce <[email protected]> | 2015-06-23 22:47:05 +0100 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2015-06-24 13:43:44 +0100 |
commit | 30d67d38246410274713380664be87cd1df9486a (patch) | |
tree | 99085e3a2b8f2bf1bfe95133db50732e9c505a48 /src/loader/loader.c | |
parent | 390f94e3581384838595185a06d5943089d3f9ab (diff) |
loader: move loader_open_device out of HAVE_LIBUDEV block
Fixes the following build issue, when building without libudev.
CCLD libGL.la
./.libs/libglx.a(dri2_glx.o): In function `dri2CreateScreen':
src/glx/dri2_glx.c:1186: undefined reference to `loader_open_device'
collect2: ld returned 1 exit status
CCLD libEGL.la
Undefined symbols for architecture x86_64:
"_loader_open_device", referenced from:
_dri2_initialize_x11_dri2 in libegl_dri2.a(platform_x11.o)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91077
Signed-off-by: Julien Isorce <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
Diffstat (limited to 'src/loader/loader.c')
-rw-r--r-- | src/loader/loader.c | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/src/loader/loader.c b/src/loader/loader.c index fc468153425..8452cd3560e 100644 --- a/src/loader/loader.c +++ b/src/loader/loader.c @@ -64,6 +64,8 @@ * Rob Clark <[email protected]> */ +#include <errno.h> +#include <fcntl.h> #include <sys/stat.h> #include <stdarg.h> #include <stdio.h> @@ -71,10 +73,8 @@ #ifdef HAVE_LIBUDEV #include <assert.h> #include <dlfcn.h> -#include <fcntl.h> #include <unistd.h> #include <stdlib.h> -#include <errno.h> #ifdef USE_DRICONF #include "xmlconfig.h" #include "xmlpool.h" @@ -104,6 +104,22 @@ static void default_logger(int level, const char *fmt, ...) static void (*log_)(int level, const char *fmt, ...) = default_logger; +int +loader_open_device(const char *device_name) +{ + int fd; +#ifdef O_CLOEXEC + fd = open(device_name, O_RDWR | O_CLOEXEC); + if (fd == -1 && errno == EINVAL) +#endif + { + fd = open(device_name, O_RDWR); + if (fd != -1) + fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC); + } + return fd; +} + #ifdef HAVE_LIBUDEV #include <libudev.h> @@ -314,22 +330,6 @@ get_id_path_tag_from_fd(struct udev *udev, int fd) return id_path_tag; } -int -loader_open_device(const char *device_name) -{ - int fd; -#ifdef O_CLOEXEC - fd = open(device_name, O_RDWR | O_CLOEXEC); - if (fd == -1 && errno == EINVAL) -#endif - { - fd = open(device_name, O_RDWR); - if (fd != -1) - fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC); - } - return fd; -} - #ifdef USE_DRICONF const char __driConfigOptionsLoader[] = DRI_CONF_BEGIN |