summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey V. Udaltsov <svu@gnome.org>2009-06-22 17:20:00 +0100
committerSergey V. Udaltsov <svu@gnome.org>2009-06-22 17:20:00 +0100
commit85dcca983dfd734f89d6b203787fdf8f3a8849b7 (patch)
treeb0522d613374e2a3105babad00e1a41ba937ff5c
parentb0d0b057ce608247e2777d4105c752e6065ef90b (diff)
downloadxkeyboard-config-85dcca983dfd734f89d6b203787fdf8f3a8849b7.tar.gz
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
-rw-r--r--.gitignore11
-rw-r--r--configure.in2
-rw-r--r--rules/Makefile.am160
-rw-r--r--rules/base.extras.xml.in16
-rw-r--r--rules/base.l2_s.part1
-rw-r--r--rules/base.l3_s.part1
-rw-r--r--rules/base.l4_s.part1
-rw-r--r--rules/base.lists.part2
-rw-r--r--rules/base.ml_s.part1
-rw-r--r--rules/bin/Makefile.am10
-rwxr-xr-xrules/bin/ln_s.sh (renamed from rules/compat/ln_s.sh)6
-rwxr-xr-xrules/bin/lnv_s.sh (renamed from rules/compat/lnv_s.sh)4
-rwxr-xr-xrules/bin/ml1_s.sh (renamed from rules/compat/ml1_s.sh)6
-rwxr-xr-xrules/bin/ml1v1_s.sh (renamed from rules/compat/ml1v1_s.sh)4
-rwxr-xr-xrules/bin/ml1v_s.sh (renamed from rules/compat/ml1v_s.sh)4
-rwxr-xr-xrules/bin/ml_s.sh (renamed from rules/compat/ml_s.sh)6
-rwxr-xr-xrules/bin/mlv_s.sh (renamed from rules/compat/mlv_s.sh)4
-rw-r--r--rules/compat/Makefile.am55
-rw-r--r--rules/compat/layoutsMapping.lst (renamed from rules/compat/layoutRename.lst)0
-rw-r--r--rules/compat/variantsMapping.lst (renamed from rules/compat/variantRename.lst)0
-rw-r--r--rules/extras/Makefile.am52
-rw-r--r--rules/extras/layoutsMapping.lst1
-rw-r--r--symbols/extras/Makefile.am3
-rw-r--r--symbols/extras/rs15
24 files changed, 245 insertions, 120 deletions
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 @@
</configItem>
<variantList/>
</layout>
+ <layout>
+ <configItem>
+ <name>rs</name>
+ <_shortDescription>SRB</_shortDescription>
+ <_description>Serbia</_description>
+ <languageList><iso639Id>srp</iso639Id></languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>combiningkeys</name>
+ <_description>Combining accents instead of dead keys</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
</layoutList>
<optionList/>
</xkbConfigRegistry>
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
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
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
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
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
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
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
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
index cecda6d..cecda6d 100644
--- a/rules/compat/layoutRename.lst
+++ b/rules/compat/layoutsMapping.lst
diff --git a/rules/compat/variantRename.lst b/rules/compat/variantsMapping.lst
index f85a2d0..f85a2d0 100644
--- a/rules/compat/variantRename.lst
+++ b/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 <AE03> { [ any,any, U0302, dead_circumflex ] }; // 3, U0302 = COMBINING CIRCUMFLEX ACCENT
+ key <AE07> { [ any,any, U0300, NoSymbol ] }; // 7, U0300 = COMBINING GRAVE ACCENT
+ key <AE08> { [ any,any, U030F, NoSymbol ] }; // 8, U030F = COMBINING DOUBLE GRAVE ACCENT
+ key <AE09> { [ any,any, U0301, NoSymbol ] }; // 9, U0301 = COMBINING ACUTE ACCENT
+ key <AE10> { [ any,any, U0311, NoSymbol ] }; // 0, U0311 = COMBINING INVERTED BREVE
+ key <AE11> { [ any,any, U0304, NoSymbol ] }; // -, U0304 = COMBINING MACRON
+};