From 85dcca983dfd734f89d6b203787fdf8f3a8849b7 Mon Sep 17 00:00:00 2001 From: "Sergey V. Udaltsov" Date: Mon, 22 Jun 2009 17:20:00 +0100 Subject: [PATCH] Serious reorganization of the generation scripts in rules Now, the autogen scrtipts are shared among 'compat' and 'extras' rules. The schema of the code generation is shared (actually, Makefile.am files are identical). The whole process should be a bit more transparent and correct now. Also, rs(combiningkeys) is added, http://bugs.freedesktop.org/show_bug.cgi?id=21047 --- .gitignore | 11 ++ configure.in | 2 + rules/Makefile.am | 160 +++++++++++------- rules/base.extras.xml.in | 16 ++ rules/base.l2_s.part | 1 - rules/base.l3_s.part | 1 - rules/base.l4_s.part | 1 - rules/base.lists.part | 2 - rules/base.ml_s.part | 1 - rules/bin/Makefile.am | 10 ++ rules/{compat => bin}/ln_s.sh | 6 +- rules/{compat => bin}/lnv_s.sh | 4 +- rules/{compat => bin}/ml1_s.sh | 6 +- rules/{compat => bin}/ml1v1_s.sh | 4 +- rules/{compat => bin}/ml1v_s.sh | 4 +- rules/{compat => bin}/ml_s.sh | 6 +- rules/{compat => bin}/mlv_s.sh | 4 +- rules/compat/Makefile.am | 55 +++--- .../{layoutRename.lst => layoutsMapping.lst} | 0 ...{variantRename.lst => variantsMapping.lst} | 0 rules/extras/Makefile.am | 52 ++++++ rules/extras/layoutsMapping.lst | 1 + symbols/extras/Makefile.am | 3 +- symbols/extras/rs | 15 ++ 24 files changed, 245 insertions(+), 120 deletions(-) create mode 100644 rules/bin/Makefile.am rename rules/{compat => bin}/ln_s.sh (75%) rename rules/{compat => bin}/lnv_s.sh (71%) rename rules/{compat => bin}/ml1_s.sh (71%) rename rules/{compat => bin}/ml1v1_s.sh (65%) rename rules/{compat => bin}/ml1v_s.sh (64%) rename rules/{compat => bin}/ml_s.sh (61%) rename rules/{compat => bin}/mlv_s.sh (64%) rename rules/compat/{layoutRename.lst => layoutsMapping.lst} (100%) rename rules/compat/{variantRename.lst => variantsMapping.lst} (100%) create mode 100644 rules/extras/Makefile.am create mode 100644 rules/extras/layoutsMapping.lst create mode 100644 symbols/extras/rs diff --git a/.gitignore b/.gitignore index ea696f3..f6cff46 100644 --- a/.gitignore +++ b/.gitignore @@ -65,6 +65,17 @@ semantics/semantics.dir symbols/symbols.dir tests/*.lst types/types.dir +rules/extras/base.l1v1_s.part +rules/extras/base.l2_s.part +rules/extras/base.l2v2_s.part +rules/extras/base.l3_s.part +rules/extras/base.l3v3_s.part +rules/extras/base.l4_s.part +rules/extras/base.l4v4_s.part +rules/extras/base.ml1_s.part +rules/extras/base.ml1v1_s.part +rules/extras/base.ml_s.part +rules/extras/base.mlv_s.part rules/compat/base.l2_s.part rules/compat/base.l3_s.part rules/compat/base.l4_s.part diff --git a/configure.in b/configure.in index 2ab90d6..badc582 100644 --- a/configure.in +++ b/configure.in @@ -66,7 +66,9 @@ keymap/sgi_vndr/Makefile keymap/sun_vndr/Makefile semantics/Makefile rules/Makefile +rules/bin/Makefile rules/compat/Makefile +rules/extras/Makefile symbols/Makefile symbols/digital_vndr/Makefile symbols/fujitsu_vndr/Makefile diff --git a/rules/Makefile.am b/rules/Makefile.am index e5a9f9d..18b8b1a 100644 --- a/rules/Makefile.am +++ b/rules/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = compat +SUBDIRS = bin compat extras if CREATE_RULES_SYMLINK # extra_rules_file = $(xkb_rules_symlink) @@ -20,130 +20,162 @@ install-data-hook: endif -base_parts_no_compat = base.hdr.part base.lists.part \ +if USE_COMPAT_RULES + +base_parts = base.hdr.part base.lists.part \ +compat/base.lists.part \ HDR base.m_k.part \ HDR base.l1_k.part \ HDR base.l_k.part \ -HDR \ +HDR base.o_k.part \ HDR base.ml_g.part \ HDR base.m_g.part \ -HDR base.mlv_s.part \ -HDR base.ml_s.part \ -HDR base.ml1_s.part \ -HDR \ -HDR base.l2_s.part \ -HDR base.l3_s.part \ -HDR base.l4_s.part \ -HDR HDR HDR \ +HDR compat/base.mlv_s.part extras/base.mlv_s.part base.mlv_s.part \ +HDR compat/base.ml_s.part extras/base.ml_s.part base.ml_s.part \ +HDR compat/base.ml1_s.part extras/base.ml1_s.part base.ml1_s.part \ +HDR compat/base.ml1v1_s.part extras/base.ml1v1_s.part \ +HDR compat/base.l2_s.part extras/base.l2_s.part base.l2_s.part \ +HDR compat/base.l3_s.part extras/base.l3_s.part base.l3_s.part \ +HDR compat/base.l4_s.part extras/base.l4_s.part base.l4_s.part \ +HDR compat/base.l2v2_s.part extras/base.l2v2_s.part \ +HDR compat/base.l3v3_s.part extras/base.l3v3_s.part \ +HDR compat/base.l4v4_s.part extras/base.l4v4_s.part \ HDR base.m_s.part \ HDR base.ml_c.part \ HDR base.ml1_c.part \ HDR base.m_t.part \ -HDR \ +HDR base.lo_s.part \ HDR base.l1o_s.part \ HDR base.l2o_s.part \ HDR base.l3o_s.part \ HDR base.l4o_s.part \ -HDR base.o_s.part \ +HDR compat/base.o_s.part base.o_s.part \ HDR base.o_c.part \ HDR base.o_t.part -evdev_parts_no_compat = base.hdr.part base.lists.part \ +evdev_parts = base.hdr.part base.lists.part \ +compat/base.lists.part \ HDR evdev.m_k.part \ HDR base.l1_k.part \ -HDR base.l_k.part \ -HDR \ +HDR base.l_k.part \ +HDR base.o_k.part \ HDR base.ml_g.part \ HDR base.m_g.part \ -HDR base.mlv_s.part \ -HDR base.ml_s.part \ -HDR base.ml1_s.part \ -HDR \ -HDR base.l2_s.part \ -HDR base.l3_s.part \ -HDR base.l4_s.part \ -HDR HDR HDR \ +HDR compat/base.mlv_s.part extras/base.mlv_s.part base.mlv_s.part \ +HDR compat/base.ml_s.part extras/base.ml_s.part base.ml_s.part \ +HDR compat/base.ml1_s.part extras/base.ml1_s.part base.ml1_s.part \ +HDR compat/base.ml1v1_s.part extras/base.ml1v1_s.part \ +HDR compat/base.l2_s.part extras/base.l2_s.part base.l2_s.part \ +HDR compat/base.l3_s.part extras/base.l3_s.part base.l3_s.part \ +HDR compat/base.l4_s.part extras/base.l4_s.part base.l4_s.part \ +HDR compat/base.l2v2_s.part extras/base.l2v2_s.part \ +HDR compat/base.l3v3_s.part extras/base.l3v3_s.part \ +HDR compat/base.l4v4_s.part extras/base.l4v4_s.part \ HDR evdev.m_s.part \ HDR base.ml_c.part \ HDR base.ml1_c.part \ HDR base.m_t.part \ -HDR \ +HDR base.lo_s.part \ HDR base.l1o_s.part \ HDR base.l2o_s.part \ HDR base.l3o_s.part \ HDR base.l4o_s.part \ -HDR base.o_s.part \ +HDR compat/base.o_s.part base.o_s.part \ HDR base.o_c.part \ HDR base.o_t.part -if USE_COMPAT_RULES +else + base_parts = base.hdr.part base.lists.part \ -compat/base.lists.part \ HDR base.m_k.part \ HDR base.l1_k.part \ HDR base.l_k.part \ -HDR base.o_k.part \ +HDR \ HDR base.ml_g.part \ HDR base.m_g.part \ -HDR compat/base.mlv_s.part base.mlv_s.part \ -HDR compat/base.ml_s.part base.ml_s.part \ -HDR compat/base.ml1_s.part base.ml1_s.part \ -HDR compat/base.ml1v1_s.part \ -HDR compat/base.l2_s.part base.l2_s.part \ -HDR compat/base.l3_s.part base.l3_s.part \ -HDR compat/base.l4_s.part base.l4_s.part \ -HDR compat/base.l2v2_s.part \ -HDR compat/base.l3v3_s.part \ -HDR compat/base.l4v4_s.part \ +HDR extras/base.mlv_s.part base.mlv_s.part \ +HDR extras/base.ml_s.part base.ml_s.part \ +HDR extras/base.ml1_s.part base.ml1_s.part \ +HDR extras/base.ml1v1_s.part \ +HDR extras/base.l2_s.part base.l2_s.part \ +HDR extras/base.l3_s.part base.l3_s.part \ +HDR extras/base.l4_s.part base.l4_s.part \ +HDR extras/base.l2v2_s.part \ +HDR extras/base.l3v3_s.part \ +HDR extras/base.l4v4_s.part \ HDR base.m_s.part \ HDR base.ml_c.part \ HDR base.ml1_c.part \ HDR base.m_t.part \ -HDR base.lo_s.part \ +HDR \ HDR base.l1o_s.part \ HDR base.l2o_s.part \ HDR base.l3o_s.part \ HDR base.l4o_s.part \ -HDR compat/base.o_s.part base.o_s.part \ +HDR base.o_s.part \ HDR base.o_c.part \ HDR base.o_t.part evdev_parts = base.hdr.part base.lists.part \ -compat/base.lists.part \ HDR evdev.m_k.part \ HDR base.l1_k.part \ -HDR base.l_k.part \ -HDR base.o_k.part \ +HDR base.l_k.part \ +HDR \ HDR base.ml_g.part \ HDR base.m_g.part \ -HDR compat/base.mlv_s.part base.mlv_s.part \ -HDR compat/base.ml_s.part base.ml_s.part \ -HDR compat/base.ml1_s.part base.ml1_s.part \ -HDR compat/base.ml1v1_s.part \ -HDR compat/base.l2_s.part base.l2_s.part \ -HDR compat/base.l3_s.part base.l3_s.part \ -HDR compat/base.l4_s.part base.l4_s.part \ -HDR compat/base.l2v2_s.part \ -HDR compat/base.l3v3_s.part \ -HDR compat/base.l4v4_s.part \ +HDR extras/base.mlv_s.part base.mlv_s.part \ +HDR extras/base.ml_s.part base.ml_s.part \ +HDR extras/base.ml1_s.part base.ml1_s.part \ +HDR extras/base.ml1v1_s.part \ +HDR extras/base.l2_s.part base.l2_s.part \ +HDR extras/base.l3_s.part base.l3_s.part \ +HDR extras/base.l4_s.part base.l4_s.part \ +HDR extras/base.l2v2_s.part \ +HDR extras/base.l3v3_s.part \ +HDR extras/base.l4v4_s.part \ HDR evdev.m_s.part \ HDR base.ml_c.part \ HDR base.ml1_c.part \ HDR base.m_t.part \ -HDR base.lo_s.part \ +HDR \ HDR base.l1o_s.part \ HDR base.l2o_s.part \ HDR base.l3o_s.part \ HDR base.l4o_s.part \ -HDR compat/base.o_s.part base.o_s.part \ +HDR base.o_s.part \ HDR base.o_c.part \ HDR base.o_t.part -else -base_parts = $(base_parts_no_compat) -evdev_parts = $(base_parts_no_compat) + endif -base_parts_compat_dist = base.o_k.part base.lo_s.part +all_parts_dist = HDR base.hdr.part \ +base.lists.part \ +base.m_k.part \ +base.l1_k.part \ +base.l_k.part \ +base.o_k.part \ +base.ml_g.part \ +base.m_g.part \ +base.mlv_s.part \ +base.ml_s.part \ +base.ml1_s.part \ +base.l2_s.part \ +base.l3_s.part \ +base.l4_s.part \ +base.m_s.part \ +base.ml_c.part \ +base.ml1_c.part \ +base.m_t.part \ +base.lo_s.part \ +base.l1o_s.part \ +base.l2o_s.part \ +base.l3o_s.part \ +base.l4o_s.part \ +base.o_s.part \ +base.o_c.part \ +base.o_t.part \ +evdev.m_k.part \ +evdev.m_s.part rules_files = base evdev xfree98 @@ -152,10 +184,10 @@ lst_files = base.lst evdev.lst %.lst: %.xml perl $(srcdir)/xml2lst.pl < $< > $@ -base: $(base_parts_no_compat) +base: $(base_parts) HDR="$(srcdir)/HDR" $(srcdir)/merge.sh $@ $(base_parts) -evdev: $(evdev_parts_no_compat) +evdev: $(evdev_parts) HDR="$(srcdir)/HDR" $(srcdir)/merge.sh $@ $(evdev_parts) dist_files = xkb.dtd README @@ -172,9 +204,7 @@ $(srcdir)/evdev.extras.xml.in: base.extras.xml.in cp $< $@ EXTRA_DIST= $(xml_in_files) xfree98 \ - $(base_parts_no_compat) \ - $(evdev_parts_no_compat) \ - $(base_parts_compat_dist) \ + $(all_parts_dist) \ xml2lst.pl merge.sh $(dist_files) CLEANFILES = base base.xml base.lst evdev evdev.xml evdev.lst base.extras.xml evdev.extras.xml diff --git a/rules/base.extras.xml.in b/rules/base.extras.xml.in index 04abe28..12d3f95 100644 --- a/rules/base.extras.xml.in +++ b/rules/base.extras.xml.in @@ -12,6 +12,22 @@ + + + rs + <_shortDescription>SRB + <_description>Serbia + srp + + + + + combiningkeys + <_description>Combining accents instead of dead keys + + + + diff --git a/rules/base.l2_s.part b/rules/base.l2_s.part index dd1825f..03a7aaf 100644 --- a/rules/base.l2_s.part +++ b/rules/base.l2_s.part @@ -1,2 +1 @@ - $extralayouts = +extras/%l[2]%(v[2]):2 * = +%l[2]%(v[2]):2 diff --git a/rules/base.l3_s.part b/rules/base.l3_s.part index 2b80547..0947c11 100644 --- a/rules/base.l3_s.part +++ b/rules/base.l3_s.part @@ -1,2 +1 @@ - $extralayouts = +extras/%l[3]%(v[3]):3 * = +%l[3]%(v[3]):3 diff --git a/rules/base.l4_s.part b/rules/base.l4_s.part index 6a2268f..23ccc22 100644 --- a/rules/base.l4_s.part +++ b/rules/base.l4_s.part @@ -1,2 +1 @@ - $extralayouts = +extras/%l[4]%(v[4]):4 * = +%l[4]%(v[4]):4 diff --git a/rules/base.lists.part b/rules/base.lists.part index e8f2446..95fddb9 100644 --- a/rules/base.lists.part +++ b/rules/base.lists.part @@ -91,5 +91,3 @@ ! $evdevkbds = ibm_spacesaver ! $thinkpads = thinkpad thinkpad60 thinkpadz60 - -! $extralayouts = apl diff --git a/rules/base.ml_s.part b/rules/base.ml_s.part index 036695c..7e9b2d6 100644 --- a/rules/base.ml_s.part +++ b/rules/base.ml_s.part @@ -22,5 +22,4 @@ olpc * = olpc+%l%(v) $thinkpads br = pc+br(thinkpad) * $nonlatin = pc+us+%l%(v):2 - * $extralayouts = pc+extras/%l%(v) * * = pc+%l%(v) diff --git a/rules/bin/Makefile.am b/rules/bin/Makefile.am new file mode 100644 index 0000000..b9785b1 --- /dev/null +++ b/rules/bin/Makefile.am @@ -0,0 +1,10 @@ +transform_scripts= \ +ln_s.sh \ +lnv_s.sh \ +ml_s.sh \ +mlv_s.sh \ +ml1_s.sh \ +ml1v_s.sh \ +ml1v1_s.sh + +EXTRA_DIST=$(transform_scripts) diff --git a/rules/compat/ln_s.sh b/rules/bin/ln_s.sh similarity index 75% rename from rules/compat/ln_s.sh rename to rules/bin/ln_s.sh index 7e17d88..07ac2f0 100755 --- a/rules/compat/ln_s.sh +++ b/rules/bin/ln_s.sh @@ -2,7 +2,7 @@ variant=$1 -INDIR=`dirname $0` +INDIR=$2 OUTFILE=base.l${variant}_s.part > $OUTFILE @@ -13,8 +13,8 @@ awk '{ } else { printf " %s = +%s:'${variant}'\n", $1, $2; } -}' < $INDIR/layoutRename.lst >> $OUTFILE +}' < $INDIR/layoutsMapping.lst >> $OUTFILE awk '{ printf " %s(%s) = +%s(%s):'${variant}'\n", $1, $2, $3, $4; -}' < $INDIR/variantRename.lst >> $OUTFILE +}' < $INDIR/variantsMapping.lst >> $OUTFILE diff --git a/rules/compat/lnv_s.sh b/rules/bin/lnv_s.sh similarity index 71% rename from rules/compat/lnv_s.sh rename to rules/bin/lnv_s.sh index ae699f9..fc0d420 100755 --- a/rules/compat/lnv_s.sh +++ b/rules/bin/lnv_s.sh @@ -2,11 +2,11 @@ variant=$1 -INDIR=`dirname $0` +INDIR=$2 OUTFILE=base.l${variant}v${variant}_s.part > $OUTFILE awk '{ printf " %s %s = +%s(%s):'${variant}'\n", $1, $2, $3, $4; -}' < $INDIR/variantRename.lst >> $OUTFILE +}' < $INDIR/variantsMapping.lst >> $OUTFILE diff --git a/rules/compat/ml1_s.sh b/rules/bin/ml1_s.sh similarity index 71% rename from rules/compat/ml1_s.sh rename to rules/bin/ml1_s.sh index 327de2d..b2d2224 100755 --- a/rules/compat/ml1_s.sh +++ b/rules/bin/ml1_s.sh @@ -1,6 +1,6 @@ #!/bin/sh -INDIR=`dirname $0` +INDIR=$1 OUTFILE=base.ml1_s.part > $OUTFILE @@ -11,8 +11,8 @@ awk '{ } else { printf " * %s = pc+%s\n", $1, $2; } -}' < $INDIR/layoutRename.lst >> $OUTFILE +}' < $INDIR/layoutsMapping.lst >> $OUTFILE awk '{ printf " * %s(%s) = pc+%s(%s)\n", $1, $2, $3, $4; -}' < $INDIR/variantRename.lst >> $OUTFILE +}' < $INDIR/variantsMapping.lst >> $OUTFILE diff --git a/rules/compat/ml1v1_s.sh b/rules/bin/ml1v1_s.sh similarity index 65% rename from rules/compat/ml1v1_s.sh rename to rules/bin/ml1v1_s.sh index 9edcb8e..7c2b1a8 100755 --- a/rules/compat/ml1v1_s.sh +++ b/rules/bin/ml1v1_s.sh @@ -1,10 +1,10 @@ #!/bin/sh -INDIR=`dirname $0` +INDIR=$1 OUTFILE=base.ml1v1_s.part > $OUTFILE awk '{ printf " * %s %s = pc+%s(%s)\n", $1, $2, $3, $4; -}' < $INDIR/variantRename.lst >> $OUTFILE +}' < $INDIR/variantsMapping.lst >> $OUTFILE diff --git a/rules/compat/ml1v_s.sh b/rules/bin/ml1v_s.sh similarity index 64% rename from rules/compat/ml1v_s.sh rename to rules/bin/ml1v_s.sh index 02ae572..084d4c0 100755 --- a/rules/compat/ml1v_s.sh +++ b/rules/bin/ml1v_s.sh @@ -1,10 +1,10 @@ #!/bin/sh -INDIR=`dirname $0` +INDIR=$1 OUTFILE=base.ml1v_s.part > $OUTFILE awk '{ printf " * %s %s = pc+%s(%s)\n", $1, $2, $3, $4; -}' < $INDIR/variantRename.lst >> $OUTFILE +}' < $INDIR/variantsMapping.lst >> $OUTFILE diff --git a/rules/compat/ml_s.sh b/rules/bin/ml_s.sh similarity index 61% rename from rules/compat/ml_s.sh rename to rules/bin/ml_s.sh index f350873..666ba87 100755 --- a/rules/compat/ml_s.sh +++ b/rules/bin/ml_s.sh @@ -1,14 +1,14 @@ #!/bin/sh -INDIR=`dirname $0` +INDIR=$1 OUTFILE=base.ml_s.part > $OUTFILE awk '{ printf " * %s = pc+%s\n", $1, $2; -}' < $INDIR/layoutRename.lst >> $OUTFILE +}' < $INDIR/layoutsMapping.lst >> $OUTFILE awk '{ printf " * %s(%s) = pc+%s(%s)\n", $1, $2, $3, $4; -}' < $INDIR/variantRename.lst >> $OUTFILE +}' < $INDIR/variantsMapping.lst >> $OUTFILE diff --git a/rules/compat/mlv_s.sh b/rules/bin/mlv_s.sh similarity index 64% rename from rules/compat/mlv_s.sh rename to rules/bin/mlv_s.sh index ea644dc..5b466d5 100755 --- a/rules/compat/mlv_s.sh +++ b/rules/bin/mlv_s.sh @@ -1,10 +1,10 @@ #!/bin/sh -INDIR=`dirname $0` +INDIR=$1 OUTFILE=base.mlv_s.part > $OUTFILE awk '{ printf " * %s %s = pc+%s(%s)\n", $1, $2, $3, $4; -}' < $INDIR/variantRename.lst >> $OUTFILE +}' < $INDIR/variantsMapping.lst >> $OUTFILE diff --git a/rules/compat/Makefile.am b/rules/compat/Makefile.am index 20bf3d9..755be6d 100644 --- a/rules/compat/Makefile.am +++ b/rules/compat/Makefile.am @@ -1,17 +1,10 @@ -transform_files=layoutRename.lst variantRename.lst - -transform_scripts= \ -ln_s.sh \ -lnv_s.sh \ -ml_s.sh \ -mlv_s.sh \ -ml1_s.sh \ -ml1v_s.sh \ -ml1v1_s.sh +transform_files=layoutsMapping.lst variantsMapping.lst dist_parts=base.o_s.part +scripts_dir=$(srcdir)/../bin + scripts= \ base.l2_s.part \ base.l3_s.part \ @@ -35,36 +28,36 @@ noinst_SCRIPTS= endif -base.l2_s.part: ln_s.sh $(transform_files) - sh $< 2 +base.l2_s.part: $(scripts_dir)/ln_s.sh $(transform_files) + sh $< 2 $(srcdir) -base.l3_s.part: ln_s.sh $(transform_files) - sh $< 3 +base.l3_s.part: $(scripts_dir)/ln_s.sh $(transform_files) + sh $< 3 $(srcdir) -base.l4_s.part: ln_s.sh $(transform_files) - sh $< 4 +base.l4_s.part: $(scripts_dir)/ln_s.sh $(transform_files) + sh $< 4 $(srcdir) -base.l2v2_s.part: lnv_s.sh $(transform_files) - sh $< 2 +base.l2v2_s.part: $(scripts_dir)/lnv_s.sh $(transform_files) + sh $< 2 $(srcdir) -base.l3v3_s.part: lnv_s.sh $(transform_files) - sh $< 3 +base.l3v3_s.part: $(scripts_dir)/lnv_s.sh $(transform_files) + sh $< 3 $(srcdir) -base.l4v4_s.part: lnv_s.sh $(transform_files) - sh $< 4 +base.l4v4_s.part: $(scripts_dir)/lnv_s.sh $(transform_files) + sh $< 4 $(srcdir) -base.ml_s.part: ml_s.sh $(transform_files) - sh $< +base.ml_s.part: $(scripts_dir)/ml_s.sh $(transform_files) + sh $< $(srcdir) -base.ml1_s.part: ml1_s.sh $(transform_files) - sh $< +base.ml1_s.part: $(scripts_dir)/ml1_s.sh $(transform_files) + sh $< $(srcdir) -base.mlv_s.part: mlv_s.sh $(transform_files) - sh $< +base.mlv_s.part: $(scripts_dir)/mlv_s.sh $(transform_files) + sh $< $(srcdir) -base.ml1v1_s.part: ml1v1_s.sh $(transform_files) - sh $< +base.ml1v1_s.part: $(scripts_dir)/ml1v1_s.sh $(transform_files) + sh $< $(srcdir) -EXTRA_DIST=base.lists.part $(transform_files) $(transform_scripts) $(dist_parts) +EXTRA_DIST=base.lists.part $(transform_files) $(dist_parts) CLEANFILES=$(scripts) diff --git a/rules/compat/layoutRename.lst b/rules/compat/layoutsMapping.lst similarity index 100% rename from rules/compat/layoutRename.lst rename to rules/compat/layoutsMapping.lst diff --git a/rules/compat/variantRename.lst b/rules/compat/variantsMapping.lst similarity index 100% rename from rules/compat/variantRename.lst rename to rules/compat/variantsMapping.lst diff --git a/rules/extras/Makefile.am b/rules/extras/Makefile.am new file mode 100644 index 0000000..ad71f2e --- /dev/null +++ b/rules/extras/Makefile.am @@ -0,0 +1,52 @@ +transform_files=layoutsMapping.lst variantsMapping.lst + +scripts_dir=$(srcdir)/../bin + +scripts= \ +base.l2_s.part \ +base.l3_s.part \ +base.l4_s.part \ +base.l2v2_s.part \ +base.l3v3_s.part \ +base.l4v4_s.part \ +base.ml_s.part \ +base.ml1_s.part \ +base.mlv_s.part \ +base.ml1v1_s.part \ +base.ml_s.part + +noinst_SCRIPTS=$(scripts) + +base.l2_s.part: $(scripts_dir)/ln_s.sh $(transform_files) + sh $< 2 $(srcdir) + +base.l3_s.part: $(scripts_dir)/ln_s.sh $(transform_files) + sh $< 3 $(srcdir) + +base.l4_s.part: $(scripts_dir)/ln_s.sh $(transform_files) + sh $< 4 $(srcdir) + +base.l2v2_s.part: $(scripts_dir)/lnv_s.sh $(transform_files) + sh $< 2 $(srcdir) + +base.l3v3_s.part: $(scripts_dir)/lnv_s.sh $(transform_files) + sh $< 3 $(srcdir) + +base.l4v4_s.part: $(scripts_dir)/lnv_s.sh $(transform_files) + sh $< 4 $(srcdir) + +base.ml_s.part: $(scripts_dir)/ml_s.sh $(transform_files) + sh $< $(srcdir) + +base.ml1_s.part: $(scripts_dir)/ml1_s.sh $(transform_files) + sh $< $(srcdir) + +base.mlv_s.part: $(scripts_dir)/mlv_s.sh $(transform_files) + sh $< $(srcdir) + +base.ml1v1_s.part: $(scripts_dir)/ml1v1_s.sh $(transform_files) + sh $< $(srcdir) + +EXTRA_DIST=$(transform_files) + +CLEANFILES=$(scripts) diff --git a/rules/extras/layoutsMapping.lst b/rules/extras/layoutsMapping.lst new file mode 100644 index 0000000..d75b4f4 --- /dev/null +++ b/rules/extras/layoutsMapping.lst @@ -0,0 +1 @@ +apl extras/apl diff --git a/symbols/extras/Makefile.am b/symbols/extras/Makefile.am index 0d1793d..1433274 100644 --- a/symbols/extras/Makefile.am +++ b/symbols/extras/Makefile.am @@ -1,2 +1,3 @@ symbolsdir = $(xkb_base)/symbols/extras -dist_symbols_DATA = apl +dist_symbols_DATA = apl \ + rs diff --git a/symbols/extras/rs b/symbols/extras/rs new file mode 100644 index 0000000..cc6b5fb --- /dev/null +++ b/symbols/extras/rs @@ -0,0 +1,15 @@ +xkb_symbols "combiningkeys" { + // Raw combining characters instead of dead keys, + // especially good for post-accenting texts. + + name[Group1]= "Serbia - Combining accents instead of dead keys"; + + include "rs(basic)" + + key { [ any,any, U0302, dead_circumflex ] }; // 3, U0302 = COMBINING CIRCUMFLEX ACCENT + key { [ any,any, U0300, NoSymbol ] }; // 7, U0300 = COMBINING GRAVE ACCENT + key { [ any,any, U030F, NoSymbol ] }; // 8, U030F = COMBINING DOUBLE GRAVE ACCENT + key { [ any,any, U0301, NoSymbol ] }; // 9, U0301 = COMBINING ACUTE ACCENT + key { [ any,any, U0311, NoSymbol ] }; // 0, U0311 = COMBINING INVERTED BREVE + key { [ any,any, U0304, NoSymbol ] }; // -, U0304 = COMBINING MACRON +}; -- 2.32.0.93.g670b81a890