From 52e89b6976ebf41eb64e34a5cdd1d63987ce4d1b Mon Sep 17 00:00:00 2001 From: hans-christoph Date: Fri, 24 Jul 2009 15:50:04 +0000 Subject: [PATCH] =?UTF-8?q?Compose:=20make=20config=20hat=20nun=20eine=20d?= =?UTF-8?q?efinierte=20Reihenfolge=20f=C3=BCr=20Module,=20die=20nur=20am?= =?UTF-8?q?=20Anfang=20oder=20nur=20am=20Ende=20eingebunden=20werden=20d?= =?UTF-8?q?=C3=BCrfen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Compose/Makefile | 18 +++++++++++++++--- Compose/configure.sh | 19 ++++++++++--------- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/Compose/Makefile b/Compose/Makefile index ae7dbd2c..c3586380 100644 --- a/Compose/Makefile +++ b/Compose/Makefile @@ -6,8 +6,21 @@ # SRC = ./src PSEUDO_MODULES_FILES = $(SRC)/enUS.module -MODULES_FILES = $(sort $(PSEUDO_MODULES_FILES) $(wildcard $(SRC)/*.module)) -MODULES = $(notdir $(basename $(MODULES_FILES))) +MODULES_FILES = $(PSEUDO_MODULES_FILES) $(wildcard $(SRC)/*.module) + +# Gewünschte Build-Reihenfolge der Module. Die in den Listen +# genannten Dateien werden (falls Module dieses Namens existieren) in +# der vorgegebenen Reihenfolge zwingend am Anfang oder am Ende von +# XCompose eingefügt. Alle nicht erwähnten Module kommen in +# alphabetischer Reihenfolge in die Mitte. +# +MODULE_ORDER_HEAD = head-example enUS base +MODULE_ORDER_TAIL = user tail-example + +M := $(sort $(notdir $(basename $(MODULES_FILES)))) +MODULES := $(foreach i, $(MODULE_ORDER_HEAD), $(findstring $(i),$(M))) +MODULES += $(filter-out $(MODULE_ORDER_HEAD) $(MODULE_ORDER_TAIL), $(M)) +MODULES += $(foreach i, $(MODULE_ORDER_TAIL), $(findstring $(i),$(M))) # Liste von Demofiles, werden bei 'make all' erzeugt. # Im Grunde ist dies seit 'make config' überflüssig. @@ -41,7 +54,6 @@ all : XCompose $(DEMOFILES) # 'make config' führt interaktive Abfrage der Konfiguration durch # und legt Ergebnis in .config ab - config : $(PSEUDO_MODULES_FILES) @if [ ! -f .config ] ; then \ echo "USER_XCOMPOSE = $(USER_XCOMPOSE)" > .config ; fi diff --git a/Compose/configure.sh b/Compose/configure.sh index d6b74d44..9ee8aa14 100644 --- a/Compose/configure.sh +++ b/Compose/configure.sh @@ -28,21 +28,22 @@ echo Verfügbare Module für XCompose: for i in ${MODULES}; do sed -n " /^#configinfo[ \t]*/{ - s//$i / + s/// b print } -\${ - s/.*/$i - ohne Beschreibung/ - b print -} - -b +\$! b +s/.*/(ohne Beschreibung)/ : print -s/^\(.\{10\}\) *\(.\{1,69\}\).*/\1\2/ # 80-Zeichen-Terminal-Grenze + +x +s/^/$i / +G +s/^\(.\{9\}\).*\n\(.\{1,69\}\).*/\1 \2/ # 80-Zeichen-Terminal-Grenze p -q" ${MODPATH}/${i}${MODSUFFIX} +q +" ${MODPATH}/${i}${MODSUFFIX} if grep -q $i $CONFFILE; then selprompt="${selprompt} ${i}+ ";