package/libevdev: fix static compile
authorPeter Seiderer <ps.report@gmx.net>
Tue, 10 Mar 2020 08:45:40 +0000 (09:45 +0100)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 22 Mar 2020 21:35:45 +0000 (22:35 +0100)
Add patch to enable meson static library build (use meson
library() instead of shared_library()).

Fixes:

  - http://autobuild.buildroot.net/results/b920ef5a250e7d23223352367ded50bf32bb5688

  .../host/bin/arm-linux-gcc  -o libevdev.so.2.3.0 'evdev@sha/libevdev_libevdev-uinput.c.o' 'evdev@sha/libevdev_libevdev.c.o' 'evdev@sha/libevdev_libevdev-names.c.o' -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,libevdev.so.2 -Wl,--end-group -Wl,-elf2flt -static -Wl,--version-script,.../build/libevdev-1.9.0/libevdev/libevdev.sym
  ld (ld-elf2flt): -shared used without passing a shared library ID

  - http://autobuild.buildroot.net/results/dc52a705c7490b722380af7b00ff7c6e172450cf

  .../host/bin/x86_64-linux-gcc  -o libevdev.so.2.3.0 'evdev@sha/libevdev_libevdev-uinput.c.o' 'evdev@sha/libevdev_libevdev.c.o' 'evdev@sha/libevdev_libevdev-names.c.o' -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,libevdev.so.2 -Wl,--end-group -static -Wl,--version-script,.../build/libevdev-1.9.0/libevdev/libevdev.sym
  .../host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/8.3.0/../../../../x86_64-buildroot-linux-uclibc/bin/ld: .../host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/8.3.0/crtbeginT.o: relocation R_X86_64_32 against hidden symbol `__TMC_END__' can not be used when making a shared object
  .../host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/8.3.0/../../../../x86_64-buildroot-linux-uclibc/bin/ld: .../host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/8.3.0/crtend.o: relocation R_X86_64_32 against `.ctors' can not be used when making a shared object; recompile with -fPIC
  .../host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/8.3.0/../../../../x86_64-buildroot-linux-uclibc/bin/ld: final link failed: nonrepresentable section on output

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/libevdev/0003-meson.build-enable-static-library-build.patch [new file with mode: 0644]

diff --git a/package/libevdev/0003-meson.build-enable-static-library-build.patch b/package/libevdev/0003-meson.build-enable-static-library-build.patch
new file mode 100644 (file)
index 0000000..d9a336e
--- /dev/null
@@ -0,0 +1,30 @@
+From 0d39ee4958869e9dd7657d6d0528bc4e2461e912 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report@gmx.net>
+Date: Tue, 10 Mar 2020 09:35:52 +0100
+Subject: [PATCH] meson.build: enable static library build
+
+Use meson library() instead of shared_library() to enable
+static build.
+
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+Upstream: https://gitlab.freedesktop.org/libevdev/libevdev/-/commit/a9d324f82bd5e822ea57224000fea43cb64aa214
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index a623a90..94224cb 100644
+--- a/meson.build
++++ b/meson.build
+@@ -70,7 +70,7 @@ src_libevdev = [
+ mapfile = join_paths(dir_src, 'libevdev.sym')
+ version_flag = '-Wl,--version-script,@0@'.format(mapfile)
+-lib_libevdev = shared_library('evdev',
++lib_libevdev = library('evdev',
+       src_libevdev,
+       include_directories: [includes_include],
+       dependencies: [],
+-- 
+2.25.1
+