diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2020-07-13 12:28:43 +1000 |
---|---|---|
committer | Ran Benita <ran@unusedvar.com> | 2020-07-25 11:05:14 +0300 |
commit | 449ed2b8e83121ac8c322f15ca494ee7e4c4331a (patch) | |
tree | d9a9b7e0f17b786ceec2d1fee5357754eae5a281 | |
parent | 7d36a3d119826d80e48f397eb070a798f641423e (diff) | |
download | xorg-lib-libxkbcommon-449ed2b8e83121ac8c322f15ca494ee7e4c4331a.tar.gz |
tools: drop getopt vs getopt_long differentiation
On all platforms we build on where getopt.h is available, getopt_long is also
available. Only Windows doesn't have either but that's no reason for us to
differentiate between the two.
If we need to special-case getopt vs getopt_long, it's probably better to
implement our own cross-platform version of it and use that.
Fixes #161
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | meson.build | 48 | ||||
-rw-r--r-- | tools/xkbcli.c | 4 |
2 files changed, 21 insertions, 31 deletions
diff --git a/meson.build b/meson.build index fac5c6b..01afcc6 100644 --- a/meson.build +++ b/meson.build @@ -123,12 +123,8 @@ elif cc.has_header_symbol('stdlib.h', '__secure_getenv', prefix: system_ext_defi else message('C library does not support secure_getenv, using getenv instead') endif -have_getopt = cc.has_header_symbol('getopt.h', 'getopt') have_getopt_long = cc.has_header_symbol('getopt.h', 'getopt_long', prefix: '#define _GNU_SOURCE') -if have_getopt_long - configh_data.set10('HAVE_GETOPT_LONG', true) -endif # Silence some security & deprecation warnings on MSVC # for some unix/C functions we use. @@ -531,7 +527,7 @@ executable('fuzz-compose', 'fuzz/compose/target.c', dependencies: test_dep) man_pages = [] # Tools -build_tools = have_getopt +build_tools = have_getopt_long if build_tools libxkbcommon_tools_internal = static_library( 'tools-internal', @@ -549,30 +545,28 @@ if build_tools dependencies: tools_dep, install: true) man_pages += 'tools/xkbcli.1.ronn' - if have_getopt_long - executable('xkbcli-compile-keymap', - 'tools/compile-keymap.c', + executable('xkbcli-compile-keymap', + 'tools/compile-keymap.c', + dependencies: tools_dep, + install: true, + install_dir: dir_libexec) + man_pages += 'tools/xkbcli-compile-keymap.1.ronn' + configh_data.set10('HAVE_XKBCLI_COMPILE_KEYMAP', true) + executable('xkbcli-how-to-type', + 'tools/how-to-type.c', + dependencies: tools_dep, + install: true, + install_dir: dir_libexec) + man_pages += 'tools/xkbcli-how-to-type.1.ronn' + configh_data.set10('HAVE_XKBCLI_HOW_TO_TYPE', true) + if cc.has_header('linux/input.h') + executable('xkbcli-interactive-evdev', + 'tools/interactive-evdev.c', dependencies: tools_dep, install: true, install_dir: dir_libexec) - man_pages += 'tools/xkbcli-compile-keymap.1.ronn' - configh_data.set10('HAVE_XKBCLI_COMPILE_KEYMAP', true) - executable('xkbcli-how-to-type', - 'tools/how-to-type.c', - dependencies: tools_dep, - install: true, - install_dir: dir_libexec) - man_pages += 'tools/xkbcli-how-to-type.1.ronn' - configh_data.set10('HAVE_XKBCLI_HOW_TO_TYPE', true) - if cc.has_header('linux/input.h') - executable('xkbcli-interactive-evdev', - 'tools/interactive-evdev.c', - dependencies: tools_dep, - install: true, - install_dir: dir_libexec) - configh_data.set10('HAVE_XKBCLI_INTERACTIVE_EVDEV', true) - man_pages += 'tools/xkbcli-interactive-evdev.1.ronn' - endif + configh_data.set10('HAVE_XKBCLI_INTERACTIVE_EVDEV', true) + man_pages += 'tools/xkbcli-interactive-evdev.1.ronn' endif if get_option('enable-x11') x11_tools_dep = declare_dependency( @@ -627,7 +621,7 @@ if build_tools configh_data.set10('HAVE_XKBCLI_INTERACTIVE_WAYLAND', true) endif - if have_getopt_long and get_option('enable-xkbregistry') + if get_option('enable-xkbregistry') configh_data.set10('HAVE_XKBCLI_LIST', true) executable('xkbcli-list', 'tools/registry-list.c', diff --git a/tools/xkbcli.c b/tools/xkbcli.c index fe6b6b5..78a9aa5 100644 --- a/tools/xkbcli.c +++ b/tools/xkbcli.c @@ -82,7 +82,6 @@ main(int argc, char **argv) while (1) { int c; -#if HAVE_GETOPT_LONG static struct option opts[] = { { "help", no_argument, 0, OPT_HELP }, { "version", no_argument, 0, OPT_VERSION }, @@ -90,9 +89,6 @@ main(int argc, char **argv) }; c = getopt_long(argc, argv, "+hV", opts, &option_index); -#else - c = getopt(argc, argv, "+hV"); -#endif if (c == -1) break; |