X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=Makefile.am;h=0d13625296dfdc4e9e1b690847ed6ee8a2529bd9;hb=048ee7031d8598913e778b9d4de6097584e48971;hp=e6c81169bc13c80a6570abb4f689fa5160b512fb;hpb=f95b41131d4c1815ee4643f5addb1d2d1ad68728;p=platform%2Fupstream%2Flibxkbcommon.git diff --git a/Makefile.am b/Makefile.am index e6c8116..0d13625 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,131 +1,215 @@ -ACLOCAL_AMFLAGS = -I m4 - -SUBDIRS = makekeys +ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = xkbcommon.pc -MAINTAINERCLEANFILES = ChangeLog INSTALL - -.PHONY: ChangeLog INSTALL - -INSTALL: - $(INSTALL_CMD) - -ChangeLog: - $(CHANGELOG_CMD) - -dist-hook: ChangeLog INSTALL +EXTRA_DIST = \ + makekeys.py \ + src/xkbcomp/keywords.gperf AM_CPPFLAGS = \ -DDFLT_XKB_CONFIG_ROOT='"$(XKBCONFIGROOT)"' \ - -I$(top_srcdir)/include \ -I$(top_srcdir)/src \ -I$(top_srcdir)/src/xkbcomp \ -I$(top_builddir)/src/xkbcomp \ - -include $(top_srcdir)/src/config.h + -include $(top_builddir)/src/config.h + +AM_CFLAGS = $(BASE_CFLAGS) -AM_CFLAGS = \ - $(BASE_CFLAGS) \ - $(XMALLOC_ZERO_CFLAGS) +AM_LDFLAGS = -no-undefined -AM_YFLAGS = -d +AM_YFLAGS = -d -p _xkbcommon_ xkbcommonincludedir = $(includedir)/xkbcommon xkbcommoninclude_HEADERS = \ - include/xkbcommon/xkbcommon.h \ - include/xkbcommon/xkbcommon-names.h \ - include/xkbcommon/xkbcommon-keysyms.h + xkbcommon/xkbcommon.h \ + xkbcommon/xkbcommon-compat.h \ + xkbcommon/xkbcommon-keysyms.h \ + xkbcommon/xkbcommon-names.h lib_LTLIBRARIES = libxkbcommon.la -libxkbcommon_la_LDFLAGS = -no-undefined libxkbcommon_la_SOURCES = \ src/xkbcomp/action.c \ src/xkbcomp/action.h \ - src/xkbcomp/alias.c \ - src/xkbcomp/alias.h \ + src/xkbcomp/ast.h \ + src/xkbcomp/ast-build.c \ + src/xkbcomp/ast-build.h \ src/xkbcomp/compat.c \ src/xkbcomp/expr.c \ src/xkbcomp/expr.h \ - src/xkbcomp/indicators.c \ - src/xkbcomp/indicators.h \ + src/xkbcomp/include.c \ + src/xkbcomp/include.h \ src/xkbcomp/keycodes.c \ - src/xkbcomp/keycodes.h \ src/xkbcomp/keymap.c \ - src/xkbcomp/keytypes.c \ - src/xkbcomp/misc.c \ + src/xkbcomp/keymap-dump.c \ + src/xkbcomp/keywords.c \ src/xkbcomp/parser.y \ - src/xkbcomp/parseutils.c \ - src/xkbcomp/parseutils.h \ - src/xkbcomp/path.c \ - src/xkbcomp/scanner.l \ + src/xkbcomp/parser-priv.h \ + src/xkbcomp/rules.c \ + src/xkbcomp/rules.h \ + src/xkbcomp/scanner.c \ + src/xkbcomp/scanner-utils.h \ src/xkbcomp/symbols.c \ + src/xkbcomp/types.c \ src/xkbcomp/vmod.c \ src/xkbcomp/vmod.h \ src/xkbcomp/xkbcomp.c \ - src/xkbcomp/xkbcomp.h \ src/xkbcomp/xkbcomp-priv.h \ - src/alloc.c \ - src/alloc.h \ src/atom.c \ src/atom.h \ src/context.c \ + src/context.h \ + src/compat.c \ + src/darray.h \ src/keysym.c \ - src/map.c \ - src/misc.c \ - src/rules.c \ - src/rules.h \ + src/keysym.h \ + src/keysym-utf.c \ + src/ks_tables.h \ + src/keymap.c \ + src/keymap.h \ src/state.c \ src/text.c \ src/text.h \ src/utils.c \ - src/utils.h \ - src/xkb.c \ - src/xkb-priv.h + src/utils.h BUILT_SOURCES = \ src/xkbcomp/parser.c \ - src/xkbcomp/parser.h \ - src/xkbcomp/scanner.c \ - src/ks_tables.h + src/xkbcomp/parser.h CLEANFILES = $(BUILT_SOURCES) -src/ks_tables.h: $(KEYSYMDEFS) $(top_builddir)/makekeys/makekeys$(EXEEXT) - $(top_builddir)/makekeys/makekeys $(top_srcdir)/include/xkbcommon/xkbcommon-keysyms.h > $@ +src/xkbcomp/parser.c: $(top_builddir)/src/$(am__dirstamp) $(top_builddir)/src/xkbcomp/$(am__dirstamp) +src/xkbcomp/parser.h: $(top_builddir)/src/$(am__dirstamp) $(top_builddir)/src/xkbcomp/$(am__dirstamp) + +# Documentation + +if ENABLE_DOCS +if HAVE_DOXYGEN +doc: doc/stamp-doxygen +clean-doc: clean-doxygen +all-local:: doc +clean-local:: clean-doc + +doc/stamp-doxygen: $(top_srcdir)/xkbcommon/*.h + $(AM_V_GEN)$(DOXYGEN) doc/Doxyfile + touch $@ -$(top_builddir)/makekeys/makekeys$(EXEEXT): $(top_srcdir)/makekeys/makekeys.c - $(MAKE) -C makekeys +clean-doxygen: + rm -rf doc/html doc/stamp-doxygen + +install-data-local:: doc + $(MKDIR_P) $(DESTDIR)$(htmldir) + $(INSTALL_DATA) doc/html/* $(DESTDIR)$(htmldir) + +uninstall-local:: + rm -rf $(DESTDIR)$(htmldir) + +endif HAVE_DOXYGEN +endif ENABLE_DOCS # Tests -TESTS_ENVIRONMENT = +# Some tests need to use unexported symbols, so we link them against +# a private copy of libxkbcommon with all symbols exposed. +check_LTLIBRARIES = libtest.la +libtest_la_CFLAGS = $(AM_CLFLAGS) -fvisibility=default +libtest_la_SOURCES = \ + $(libxkbcommon_la_SOURCES) \ + test/common.c \ + test/test.h + +AM_TESTS_ENVIRONMENT = \ + XKB_LOG_LEVEL=debug; export XKB_LOG_LEVEL; \ + XKB_LOG_VERBOSITY=10; export XKB_LOG_VERBOSITY; \ + $(XORG_MALLOC_DEBUG_ENV) TESTS = \ - test/xkey \ + test/keysym \ test/filecomp \ - test/namescomp \ - test/rulescomp \ - test/canonicalise \ + test/context \ + test/rules-file \ + test/stringcomp \ + test/buffercomp \ + test/log +TESTS_LDADD = libtest.la + +test_keysym_LDADD = $(TESTS_LDADD) +test_filecomp_LDADD = $(TESTS_LDADD) +test_rulescomp_LDADD = $(TESTS_LDADD) -lrt +test_context_LDADD = $(TESTS_LDADD) +test_rules_file_CFLAGS = $(AM_CFLAGS) -Wno-declaration-after-statement +test_rules_file_LDADD = $(TESTS_LDADD) -lrt +test_stringcomp_LDADD = $(TESTS_LDADD) +test_buffercomp_LDADD = $(TESTS_LDADD) +test_log_LDADD = $(TESTS_LDADD) +test_rmlvo_to_kccgst_LDADD = $(TESTS_LDADD) +test_print_compiled_keymap_LDADD = $(TESTS_LDADD) +test_bench_key_proc_LDADD = $(TESTS_LDADD) -lrt + +check_PROGRAMS = \ + $(TESTS) \ + test/rmlvo-to-kccgst \ + test/print-compiled-keymap \ + test/bench-key-proc + +if BUILD_LINUX_TESTS +TESTS += \ test/state \ - test/context -TESTS_LDADD = libxkbcommon.la + test/keyseq \ + test/rulescomp -test_xkey_LDADD = $(TESTS_LDADD) -test_filecomp_LDADD = $(TESTS_LDADD) -test_namescomp_LDADD = $(TESTS_LDADD) -test_rulescomp_LDADD = $(TESTS_LDADD) -test_canonicalise_LDADD = $(TESTS_LDADD) +test_keyseq_LDADD = $(TESTS_LDADD) test_state_LDADD = $(TESTS_LDADD) -test_context_LDADD = $(TESTS_LDADD) +test_interactive_LDADD = $(TESTS_LDADD) -check_PROGRAMS = $(TESTS) +check_PROGRAMS += \ + test/interactive -EXTRA_DIST = test/data +endif BUILD_LINUX_TESTS + +EXTRA_DIST += \ + test/data # This sed script strips out lines that start with '#define _' which # removes #define _OSF_Keysyms and such. The XK_Ydiaeresis case is to # handle a duplicate definition in HPkeysyms.h which kicks in if it's # not already defined. - +X11_INCLUDEDIR = /usr/include/X11 +KEYSYMDEFS = \ + $(X11_INCLUDEDIR)/keysymdef.h \ + $(X11_INCLUDEDIR)/XF86keysym.h \ + $(X11_INCLUDEDIR)/Sunkeysym.h \ + $(X11_INCLUDEDIR)/DECkeysym.h \ + $(X11_INCLUDEDIR)/HPkeysym.h update-keysyms: - sed -e '/XK_Ydiaeresis\s*0x100000ee/d; /#define _/d; s/#define\s*\(\w*\)XK_/#define XKB_KEY_\1/; /\(#ifdef\|#ifndef\|#endif\)/d' $(KEYSYMDEFS) > include/xkbcommon/xkbcommon-keysyms.h + echo -en '#ifndef _XKBCOMMON_KEYSYMS_H\n#define _XKBCOMMON_KEYSYMS_H\n\n' > $(top_srcdir)/xkbcommon/xkbcommon-keysyms.h + echo -en '/* This file is autogenerated from Makefile.am; please do not commit directly. */\n\n' >> $(top_srcdir)/xkbcommon/xkbcommon-keysyms.h + echo -en '#define XKB_KEY_NoSymbol 0x000000 /* Special KeySym */\n\n' >> $(top_srcdir)/xkbcommon/xkbcommon-keysyms.h + sed -e '/XK_Ydiaeresis\s*0x100000ee/d' \ + -e '/#define _/d' \ + -e 's/#define\s*\(\w*\)XK_/#define XKB_KEY_\1/' \ + -e '/\(#ifdef\|#ifndef\|#endif\)/d' $(KEYSYMDEFS) >> $(top_srcdir)/xkbcommon/xkbcommon-keysyms.h + echo -en '\n\n#endif\n' >> $(top_srcdir)/xkbcommon/xkbcommon-keysyms.h + echo -en '/* This file is autogenerated from Makefile.am; please do not commit directly. */\n\n' > $(top_srcdir)/src/ks_tables.h + LC_CTYPE=C python $(top_srcdir)/makekeys.py $(top_srcdir)/xkbcommon/xkbcommon-keysyms.h >> $(top_srcdir)/src/ks_tables.h + +# Run this if you add/remove a new keyword to the xkbcomp scanner, +# or just want to regenerate the gperf file. +update-keywords: + $(AM_V_GEN)gperf < $(top_srcdir)/src/xkbcomp/keywords.gperf > $(top_srcdir)/src/xkbcomp/keywords.c + +# Android stuff + +Android_build.mk: Makefile $(BUILT_SOURCES) + androgenizer \ + -:PROJECT libxkbcommon \ + -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \ + \ + -:STATIC libxkbcommon \ + -:TAGS eng debug \ + -:SOURCES $(filter-out %.l %.y,$(libxkbcommon_la_SOURCES)) $(BUILT_SOURCES) \ + -:CFLAGS $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(AM_CFLAGS) \ + -:LDFLAGS $(AM_LDFLAGS) \ + \ + -:PASSTHROUGH 'libxkbcommon-clean: clean-libxkbcommon' \ + > $@