From 80e156814d1dde2cff7a37b1c5c1c2e0e527d455 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Wed, 12 Sep 2012 19:52:30 +0100 Subject: [PATCH] Add xkbcommon-compat.h and compat.c So we can start renaming stuff while retaining backwards source and binary compatibility. Signed-off-by: Daniel Stone --- Makefile.am | 6 ++++-- src/compat.c | 33 +++++++++++++++++++++++++++++++++ xkbcommon/xkbcommon-compat.h | 29 +++++++++++++++++++++++++++++ xkbcommon/xkbcommon.h | 3 +++ 4 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 src/compat.c create mode 100644 xkbcommon/xkbcommon-compat.h diff --git a/Makefile.am b/Makefile.am index 8ee8aeb..a8c1414 100644 --- a/Makefile.am +++ b/Makefile.am @@ -33,8 +33,9 @@ AM_YFLAGS = -d xkbcommonincludedir = $(includedir)/xkbcommon xkbcommoninclude_HEADERS = \ xkbcommon/xkbcommon.h \ - xkbcommon/xkbcommon-names.h \ - xkbcommon/xkbcommon-keysyms.h + xkbcommon/xkbcommon-compat.h \ + xkbcommon/xkbcommon-keysyms.h \ + xkbcommon/xkbcommon-names.h lib_LTLIBRARIES = libxkbcommon.la libxkbcommon_la_LDFLAGS = -no-undefined @@ -67,6 +68,7 @@ libxkbcommon_la_SOURCES = \ src/atom.h \ src/context.c \ src/context.h \ + src/compat.c \ src/darray.h \ src/keymap-dump.c \ src/keysym.c \ diff --git a/src/compat.c b/src/compat.c new file mode 100644 index 0000000..1847edb --- /dev/null +++ b/src/compat.c @@ -0,0 +1,33 @@ +/* + * Copyright © 2012 Daniel Stone + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Author: Daniel Stone + */ + +#define _XKBCOMMON_COMPAT_H /* don't mangle our legacy names! */ + +#include "xkbcommon/xkbcommon.h" +#include "utils.h" + +/* We don't carry any prototypes for these functions, as we #define them + * to their newer versions so people link against those. */ +#pragma GCC diagnostic ignored "-Wmissing-prototypes" diff --git a/xkbcommon/xkbcommon-compat.h b/xkbcommon/xkbcommon-compat.h new file mode 100644 index 0000000..f258651 --- /dev/null +++ b/xkbcommon/xkbcommon-compat.h @@ -0,0 +1,29 @@ +/* + * Copyright © 2012 Daniel Stone + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Author: Daniel Stone + */ + +#ifndef _XKBCOMMON_COMPAT_H +#define _XKBCOMMON_COMPAT_H + +#endif diff --git a/xkbcommon/xkbcommon.h b/xkbcommon/xkbcommon.h index f741837..fb5d450 100644 --- a/xkbcommon/xkbcommon.h +++ b/xkbcommon/xkbcommon.h @@ -715,6 +715,9 @@ xkb_state_led_index_is_active(struct xkb_state *state, xkb_led_index_t idx); /** @} */ +/* Leave this include last, so it can pick up our types, etc. */ +#include + #ifdef __cplusplus } /* extern "C" */ #endif