Commit Graph

37 Commits (04e687c9da4cd643779fa4571c7e452c4f7e2dc7)

Author SHA1 Message Date
Kristian Høgsberg 9dd7dc6d88 configure: Lower kbproto requirement to 1.0.4
There's nothing in 1.0.5 that we need.
2011-03-18 00:33:48 -04:00
Kristian Høgsberg dd0e8b70fb Revert "config: remove incorrectly implemented visibility compiler option"
This reverts commit bf9fdceef6.

We really only want to expose symbols that we explicitly mark as part of
the API.  This may not work with other platforms or compilers, but the
fact that private symbols are not available on Linux+GCC is enough of an
incentive to not use those.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2011-01-29 14:11:36 -05:00
Gaetan Nadon 1b6e022c97 config: set the default xkb config root based on xkeyboard-config module
The default value ${dataroot}/X11/xkb only works if xkeyboard-config
has created the keymaps in that directory. Let's obtain the true final
value of where the keymaps are and use that as a default. In a production
environment this is the only value that can work.

This new default value also has the merit of making the 'check' target
to work in distcheck which does not have a copy of the xkeyboard-config
keymaps in its sandbox based on ${dataroot}/X11/xkb. The test data
cannot find the "include" keymaps it needs.
.../libxkbcommon-0.1.0/_inst/share/X11/xkb

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-12-18 11:19:57 -05:00
Gaetan Nadon 69e52ad901 config: makekeys prog should stand alone in the makekeys directory
This program is a utility to generated a header file.
The header file it generates should not be located in the
directory where this utility program is compiled.

Move the /makekeys dir as a sibling of /src.
This reduces the number of bi-directional relationships
between directories.

Make corresponding makefiles simplifications.

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-12-18 11:19:56 -05:00
Gaetan Nadon 89377d5cd1 config: use existing variables KEYSYMDEF_H and XF86KEYSYM_H
These automake variables are not currently used.
The variable KS_HEADERS is not required anymore.

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-12-18 11:19:56 -05:00
Gaetan Nadon bf9fdceef6 config: remove incorrectly implemented visibility compiler option
CFLAGS is a user variable which should never be set by the configuration.
It allows the user to alter the configuration compiler options.

The visibility is only set for GNU compiler, leaving libraries built
with other compilers with the wrong visibility.

All other xorg libraries set visibilty using _X_EXPORT or _X_HIDDEN.

For the time being, all the symbols will have the default visibility
which does not break anything.

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-12-18 11:19:56 -05:00
Gaetan Nadon ec3fbfdf6d config: use xproto pkgconfig includex11dir variable
Rather than appending X11 to the include dir.
It should be safe to use as it has been added in 2005.

Use a local variable name matching the pkgconfig name.

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-12-18 11:19:56 -05:00
Gaetan Nadon 3c570b7ce9 config: relocate library functions check and comment
No functional changes.
Follow Automake suggested order.

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-12-18 11:19:56 -05:00
Gaetan Nadon 41664ba237 config: remove PKG_PROG_PKG_CONFIG test
If pkg-config is missing, the configuration fails while initializing
XORG_* macros:

warning: PKG_PROG_PKG_CONFIG is m4_require'd but not m4_defun'd
line 11622: PKG_PROG_PKG_CONFIG: command not found

The output is sufficient to locate the problem.
It is not possible, or very difficult, to not have pkg-config
installed as the whole desktop and countless other software
depends on it.

Acked-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-12-08 15:24:21 -05:00
Gaetan Nadon e2f9f51667 config: allow to build tarball when yacc is missing
Autoconf does not handle this scenario as well as Automake does.
If xkbparse.c is already there, do not abort the configuration
if yacc is missing as it is not needed.

If both xkbparse.c and yacc are missing, abort configuration.
Yacc is a required tool to build the package.

Acked-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-12-08 15:24:21 -05:00
Gaetan Nadon 83f64da993 config: remove AC_PROG_CC as it overrides AC_PROG_C_C99
XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls
AC_PROG_C_C99. This sets gcc with -std=gnu99.
If AC_PROG_CC macro is called afterwards, it resets CC to gcc.

Acked-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-12-07 09:47:32 -05:00
Gaetan Nadon a0512b28de config: initialize autoconf, automake and libtool
Add missing AM_MAINTAINER_MODE, matching --enable-maintainer-mode
option in autogen.sh.

Acked-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-12-07 09:47:31 -05:00
Gaetan Nadon 971d9a9955 config: use XORG_DEFAULT_OPTION from util-macros version 1.8
This will handle AM_SILENT_RULES such that it will not break
on earlier Autoconf versions.
It provides a host of other configuration items

Acked-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-12-07 09:47:31 -05:00
Gaetan Nadon 8562d97808 config: set Autoconf minimum version required to 2.60
This is the current minimum version required for all X.Org modules.
The module can be configured with any higher version.
Autoconf features from version > 2.60 cannot be used.

Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-12-07 09:47:31 -05:00
Jan Engelhardt d84da95f69 build: run autoupdate
Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
2010-11-11 23:21:36 +01:00
Jan Engelhardt 2b36543ab1 build: use AC_CONFIG_MACRO_DIR as per libtoolize warning
libtoolize: Consider adding "AC_CONFIG_MACRO_DIR([m4])" to configure.ac and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding "-I m4" to ACLOCAL_AMFLAGS in Makefile.am.

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
2010-11-11 23:21:34 +01:00
Kristian Høgsberg 8d2c522f31 Don't check for xlib, we don't need it 2010-10-21 21:34:41 -04:00
Kristian Høgsberg a84c08795e Use flex for generating the scanner, add support for parsing from strings
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2010-10-20 14:03:53 -04:00
Kristian Høgsberg be2bd66181 Pull in a few #defines from libxkbfile and lower kbproto requirement 2010-08-25 14:51:52 -04:00
Kristian Høgsberg 5669e1a82d Compile with -fvisibility=hidden when possible 2010-07-02 12:20:59 -04:00
Daniel Stone 240a0c3409 xkbcomp: Lazy keysym parsing (avoid XStringToKeysym)
Instead of calling XStringToKeysym on every keysym we parse, store it as
a string until we need to store it in an actual keymap.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2010-06-22 15:56:56 +01:00
Daniel Stone 080a083fd2 configure.ac: Enable automake silent rules by default
This allows us to spot warnings much more easily.  Also, drop the
now-deprecated AM_MAINTAINER_MODE.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2010-06-22 15:56:56 +01:00
Dan Nicholson 5889cef809 Require strdup and remove utils wrapper
This kills a couple warnings from using the uStringDup wrapper. If you
don't have strdup on your platform, you have bigger issues.
2009-04-05 20:27:35 -07:00
Dan Nicholson a9822d8720 Add xkbcommon pkg-config file 2009-04-01 06:22:06 -07:00
Dan Nicholson 0c1bbb05d9 Import xkbcomp sources for CompileKeymap
A copy of the xkbcomp sources (except the frontend) have been copied in
to provide a means to compile a XkbDescPtr. This definitely doesn't
build or do the right thing yet.
2009-03-27 06:55:32 -07:00
Dan Nicholson f4d8e2932c Move ks_tables.h build into makekeys subdirectory
This avoids the BUILT_SOURCES weirdness and forcing the build into the
makekeys subdirectory. Added a new make variable KS_HEADERS that lists
all the keysym headers we're going to parse.
2009-03-27 06:46:32 -07:00
Dan Nicholson 3a700f8123 Use common XKB headers and add common type XkbcDescRec
Switched to the common XKB headers which don't contain Xlib pollution.
A new common keyboard description type, XkbcDescRec, has been added.
This is the XkbDescRec definitions in xkbstr.h in the xserver since it
contains the defined field we'll need.
2009-03-19 17:16:13 -07:00
Dan Nicholson d4ddac2b8d Use XKB alloc macros internally
These are used throughout the XKB code, but are defined in XKBsrv.h,
which we'd like to avoid. Internal definitions for True/False have also
been added since they're in Xlib.h
2009-03-19 16:58:45 -07:00
Dan Nicholson 036c23eaf2 Use generated config.h header 2009-03-19 16:25:34 -07:00
Dan Nicholson ffa0ccfad9 Use XORG_CWARNFLAGS for more warnings 2009-03-19 16:25:34 -07:00
Dan Nicholson 49cda1187f Move makekeys to separate subdir
The build is a little cleaner when makekeys has its own Makefile.
2009-03-19 11:51:09 -07:00
Dan Nicholson b2737e9bfb Testing harness for keysym functions
A test program and script have been added for checking the XkbCommon
keysym functions. This has already highlighted an error in handling of
keysyms from XF86keysym.h.
2009-03-19 11:51:09 -07:00
Dan Nicholson 732bade234 Fix CC_FOR_BUILD detection 2009-03-19 11:51:09 -07:00
Dan Nicholson 83f198f1ae Initial implementation of keysym handlers
Add the xkbcommon implementations of XKeysymToString and XStringToKeysym.
These symbols have the namespace prefix of Xkbc and are declared in
X11/XkbCommon.h.

The implementation is taken directly from Xlib, but does not include the
XKeysymDB parsing and hashing yet (if it ever will). A couple type
conversions were needed to keep from using Xlib.h. See original files:

libX11/src/KeysymStr.c
libX11/src/StrKeysym.c
2009-03-19 11:51:09 -07:00
Dan Nicholson fa6a3d122d Generate keysym tables from X and XF86 keysym definitions
The keysym hash table ks_tables.h is generated by makekeys from
keysymdef.h and XF86keysym.h.
2009-03-19 11:51:09 -07:00
Dan Nicholson 27fe8d1657 Add makekeys for creating keysym hash tables
The makekeys utility is used to generate the keysym hash tables during
the build. We try to detect a build machine native compiler so the
tables can be generated when cross compiling.
2009-03-19 10:54:31 -07:00
Dan Nicholson b58a95d037 Initial autotools commit 2009-03-19 10:47:15 -07:00