ibus-table-1.5.0.20130419/0000755002345600234560000000000012134204703011461 500000000000000ibus-table-1.5.0.20130419/po/0000755002345600234560000000000012134204703012077 500000000000000ibus-table-1.5.0.20130419/po/zh_HK.gmo0000644002345600234560000000331312134204566013535 00000000000000xy14"=`}  7/Ex`0  0<m0<3I<_    Switch to Big Charset ModeSwitch to English modeSwitch to PinYin modeSwitch to Simplify Chinese first Big Charset ModeSwitch to Table modeSwitch to Traditional Chinese first Big Charset ModeSwitch to Traditional Chinese modeSwitch to direct commit modeSwitch to full-width letterSwitch to full-width punctuationSwitch to half-width letterSwitch to half-width punctuationSwitch to normal commit mode, which use space to commitSwitch to phrase modeSwitch to single char modeProject-Id-Version: 0.1.20080819 Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry POT-Creation-Date: 2013-04-19 11:08+0200 PO-Revision-Date: 2009-05-21 13:17+1000 Last-Translator: Caius 'kaio' Chance Language-Team: Caius 'kaio' Chance Language: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit 切換到大字集模式(預設結果順序)切換到中文模式切換成拼音反查模式切換成大字集模式(簡體結果優先)切換成形碼模式切換成大字集模式(繁體結果優先)切換成繁體模式切換成直接輸出模式,亦即單項結果即時輸出切換成全形字元切換成全形標點切換成半形字元切換成半形標點切換成標準輸出模式,亦即按空格鍵執行輸出切換成詞組模式切換成單字元模式ibus-table-1.5.0.20130419/po/LINGUAS0000644002345600234560000000002512100451334013036 00000000000000de zh_CN zh_TW zh_HK ibus-table-1.5.0.20130419/po/Rules-quot0000644002345600234560000000337612134204557014042 00000000000000# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header ibus-table-1.5.0.20130419/po/zh_HK.po0000644002345600234560000000770412134204566013401 00000000000000# IBus-Table Translation file: zh_TW.po # Copyright (C) 2009 Caius 'kaio' Chance # This file is distributed under the same license as the ibus-table package. # Caius 'kaio' Chance , 2009.05.21 # msgid "" msgstr "" "Project-Id-Version: 0.1.20080819\n" "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n" "POT-Creation-Date: 2013-04-19 11:08+0200\n" "PO-Revision-Date: 2009-05-21 13:17+1000\n" "Last-Translator: Caius 'kaio' Chance \n" "Language-Team: Caius 'kaio' Chance \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: engine/table.py:1255 msgid "Chinese Mode" msgstr "" #: engine/table.py:1255 engine/table.py:1257 msgid "Switch to English mode" msgstr "切換到中文模式" #: engine/table.py:1259 #, fuzzy msgid "English Mode" msgstr "切換到中文模式" #: engine/table.py:1259 engine/table.py:1275 msgid "Switch to Table mode" msgstr "切換成形碼模式" #: engine/table.py:1263 msgid "Full Letter" msgstr "" #: engine/table.py:1263 msgid "Switch to half-width letter" msgstr "切換成半形字元" #: engine/table.py:1265 msgid "Half Letter" msgstr "" #: engine/table.py:1265 msgid "Switch to full-width letter" msgstr "切換成全形字元" #: engine/table.py:1269 #, fuzzy msgid "Full-width Punctuation" msgstr "切換成全形標點" #: engine/table.py:1269 msgid "Switch to half-width punctuation" msgstr "切換成半形標點" #: engine/table.py:1271 #, fuzzy msgid "Half-width Punctuation" msgstr "切換成半形標點" #: engine/table.py:1271 msgid "Switch to full-width punctuation" msgstr "切換成全形標點" #: engine/table.py:1275 #, fuzzy msgid "PinYin Mode" msgstr "切換成拼音反查模式" #: engine/table.py:1277 #, fuzzy msgid "Table Mode" msgstr "切換成形碼模式" #: engine/table.py:1277 msgid "Switch to PinYin mode" msgstr "切換成拼音反查模式" #: engine/table.py:1281 #, fuzzy msgid "Single Char Mode" msgstr "切換成單字元模式" #: engine/table.py:1281 msgid "Switch to phrase mode" msgstr "切換成詞組模式" #: engine/table.py:1283 msgid "Phrase Mode" msgstr "" #: engine/table.py:1283 msgid "Switch to single char mode" msgstr "切換成單字元模式" #: engine/table.py:1287 #, fuzzy msgid "Direct Commit Mode" msgstr "切換成直接輸出模式,亦即單項結果即時輸出" #: engine/table.py:1287 msgid "Switch to normal commit mode, which use space to commit" msgstr "切換成標準輸出模式,亦即按空格鍵執行輸出" #: engine/table.py:1289 msgid "Normal Commit Mode" msgstr "" #: engine/table.py:1289 msgid "Switch to direct commit mode" msgstr "切換成直接輸出模式,亦即單項結果即時輸出" #: engine/table.py:1295 #, fuzzy msgid "Simplified Chinese Mode" msgstr "切換成簡體模式" #: engine/table.py:1295 msgid "Switch to Traditional Chinese mode" msgstr "切換成繁體模式" #: engine/table.py:1297 #, fuzzy msgid "Traditional Chinese Mode" msgstr "切換成繁體模式" #: engine/table.py:1297 msgid "Switch to Simplify Chinese first Big Charset Mode" msgstr "切換成大字集模式(簡體結果優先)" #: engine/table.py:1299 #, fuzzy msgid "Simplified Chinese First Big Charset Mode" msgstr "切換成大字集模式(簡體結果優先)" #: engine/table.py:1299 msgid "Switch to Traditional Chinese first Big Charset Mode" msgstr "切換成大字集模式(繁體結果優先)" #: engine/table.py:1301 #, fuzzy msgid "Traditional Chinese First Big Charset Mode" msgstr "切換成大字集模式(繁體結果優先)" #: engine/table.py:1301 msgid "Switch to Big Charset Mode" msgstr "切換到大字集模式(預設結果順序)" #: engine/table.py:1303 #, fuzzy msgid "Big Chinese Mode" msgstr "切換到大字集模式(預設結果順序)" #: engine/table.py:1303 #, fuzzy msgid "Switch to Simplified Chinese Mode" msgstr "切換成簡體模式" #~ msgid "CN" #~ msgstr "中" #~ msgid "EN" #~ msgstr "英" ibus-table-1.5.0.20130419/po/zh_CN.gmo0000644002345600234560000000521512134204566013536 00000000000000",/<  * 7C Zf}  )-!C1e4"! =^ z7 *:rS      *7 JWj  ' , 'B j      3 ( > T a   !"    Big Chinese ModeChinese ModeDirect Commit ModeEnglish ModeFull LetterFull-width PunctuationHalf LetterHalf-width PunctuationNormal Commit ModePhrase ModePinYin ModeSimplified Chinese First Big Charset ModeSimplified Chinese ModeSingle Char ModeSwitch to Big Charset ModeSwitch to English modeSwitch to PinYin modeSwitch to Simplified Chinese ModeSwitch to Simplify Chinese first Big Charset ModeSwitch to Table modeSwitch to Traditional Chinese first Big Charset ModeSwitch to Traditional Chinese modeSwitch to direct commit modeSwitch to full-width letterSwitch to full-width punctuationSwitch to half-width letterSwitch to half-width punctuationSwitch to normal commit mode, which use space to commitSwitch to phrase modeSwitch to single char modeTable ModeTraditional Chinese First Big Charset ModeTraditional Chinese ModeProject-Id-Version: 0.1.20080819 Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry POT-Creation-Date: 2013-04-19 11:08+0200 PO-Revision-Date: 2012-11-13 08:18+0100 Last-Translator: Yu Yuwei Language-Team: Yu Yuwei Language: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit 大字集模式中文模式直接提交模式英文模式全角字符全角标点半角字符半角标点普通提交模式词组模式拼音反查模式简体优先的大字集模式简体模式单字模式切换到大字集模式切换到英文模式切换到拼音反查模式切换到简体模式切换到简体优先的大字集模式切换到形码模式切换到繁体优先的大字集模式切换到繁体模式切换到直接提交模式切换到全角字符切换到全角标点切换到半角字符切换到半角标点切换到普通提交模式,即用空格键提交切换到词组模式切换到单字模式形码模式繁体优先的大字集模式繁体模式ibus-table-1.5.0.20130419/po/quot.sed0000644002345600234560000000023112134204557013507 00000000000000s/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g ibus-table-1.5.0.20130419/po/zh_TW.po0000644002345600234560000000745612134204565013434 00000000000000# IBus-Table Translation file: zh_TW.po # Copyright (C) 2009 Caius 'kaio' Chance # This file is distributed under the same license as the ibus-table package. # Caius 'kaio' Chance , 2009.05.21 # msgid "" msgstr "" "Project-Id-Version: 0.1.20080819\n" "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n" "POT-Creation-Date: 2013-04-19 11:08+0200\n" "PO-Revision-Date: 2012-11-13 08:31+0100\n" "Last-Translator: Caius 'kaio' Chance \n" "Language-Team: Caius 'kaio' Chance \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: engine/table.py:1255 msgid "Chinese Mode" msgstr "中文模式" #: engine/table.py:1255 engine/table.py:1257 msgid "Switch to English mode" msgstr "切換成英文模式" #: engine/table.py:1259 msgid "English Mode" msgstr "英文模式" #: engine/table.py:1259 engine/table.py:1275 msgid "Switch to Table mode" msgstr "切換成形碼模式" #: engine/table.py:1263 msgid "Full Letter" msgstr "全形字元" #: engine/table.py:1263 msgid "Switch to half-width letter" msgstr "切換成半形字元" #: engine/table.py:1265 msgid "Half Letter" msgstr "半形字元" #: engine/table.py:1265 msgid "Switch to full-width letter" msgstr "切換成全形字元" #: engine/table.py:1269 msgid "Full-width Punctuation" msgstr "全形標點" #: engine/table.py:1269 msgid "Switch to half-width punctuation" msgstr "切換成半形標點" #: engine/table.py:1271 msgid "Half-width Punctuation" msgstr "半形標點" #: engine/table.py:1271 msgid "Switch to full-width punctuation" msgstr "切換成全形標點" #: engine/table.py:1275 msgid "PinYin Mode" msgstr "拼音反查模式" #: engine/table.py:1277 #, fuzzy msgid "Table Mode" msgstr "形碼模式" #: engine/table.py:1277 msgid "Switch to PinYin mode" msgstr "切換成拼音反查模式" #: engine/table.py:1281 msgid "Single Char Mode" msgstr "單字元模式" #: engine/table.py:1281 msgid "Switch to phrase mode" msgstr "切換成詞組模式" #: engine/table.py:1283 msgid "Phrase Mode" msgstr "詞組模式" #: engine/table.py:1283 msgid "Switch to single char mode" msgstr "切換成單字元模式" #: engine/table.py:1287 msgid "Direct Commit Mode" msgstr "直接輸出模式,亦即單項結果即時輸出" #: engine/table.py:1287 msgid "Switch to normal commit mode, which use space to commit" msgstr "切換成標準輸出模式,亦即按空格鍵執行輸出" #: engine/table.py:1289 msgid "Normal Commit Mode" msgstr "標準輸出模式" #: engine/table.py:1289 msgid "Switch to direct commit mode" msgstr "切換成直接輸出模式,亦即單項結果即時輸出" #: engine/table.py:1295 msgid "Simplified Chinese Mode" msgstr "簡體模式" #: engine/table.py:1295 msgid "Switch to Traditional Chinese mode" msgstr "切換成繁體模式" #: engine/table.py:1297 msgid "Traditional Chinese Mode" msgstr "繁體模式" #: engine/table.py:1297 msgid "Switch to Simplify Chinese first Big Charset Mode" msgstr "切換成大字集模式(簡體結果優先)" #: engine/table.py:1299 msgid "Simplified Chinese First Big Charset Mode" msgstr "大字集模式(簡體結果優先)" #: engine/table.py:1299 msgid "Switch to Traditional Chinese first Big Charset Mode" msgstr "切換成大字集模式(繁體結果優先)" #: engine/table.py:1301 msgid "Traditional Chinese First Big Charset Mode" msgstr "大字集模式(繁體結果優先)" #: engine/table.py:1301 msgid "Switch to Big Charset Mode" msgstr "切換成大字集模式(預設結果順序)" #: engine/table.py:1303 msgid "Big Chinese Mode" msgstr "大字集模式(預設結果順序)" #: engine/table.py:1303 msgid "Switch to Simplified Chinese Mode" msgstr "切換成簡體模式" #~ msgid "CN" #~ msgstr "中" #~ msgid "EN" #~ msgstr "英" ibus-table-1.5.0.20130419/po/insert-header.sin0000644002345600234560000000124012134204557015270 00000000000000# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } ibus-table-1.5.0.20130419/po/de.gmo0000644002345600234560000000616312134204566013130 00000000000000",/<  * 7C Zf}  )-!C1e4"! =^ z7 *:S 2GXt  4#1 U !h   0 @ 3 AN 1 ' + '7 +_ G   5 $N   !"    Big Chinese ModeChinese ModeDirect Commit ModeEnglish ModeFull LetterFull-width PunctuationHalf LetterHalf-width PunctuationNormal Commit ModePhrase ModePinYin ModeSimplified Chinese First Big Charset ModeSimplified Chinese ModeSingle Char ModeSwitch to Big Charset ModeSwitch to English modeSwitch to PinYin modeSwitch to Simplified Chinese ModeSwitch to Simplify Chinese first Big Charset ModeSwitch to Table modeSwitch to Traditional Chinese first Big Charset ModeSwitch to Traditional Chinese modeSwitch to direct commit modeSwitch to full-width letterSwitch to full-width punctuationSwitch to half-width letterSwitch to half-width punctuationSwitch to normal commit mode, which use space to commitSwitch to phrase modeSwitch to single char modeTable ModeTraditional Chinese First Big Charset ModeTraditional Chinese ModeProject-Id-Version: ibus-table 1.4.99 Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry POT-Creation-Date: 2013-04-19 11:08+0200 PO-Revision-Date: 2012-11-13 08:57+0100 Last-Translator: Mike FABIAN Language-Team: German Language: de MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Big5 ZeichensatzmodusChinesischer ModusDirekter CommitmodusEnglischer ModusBuchstaben in voller BreiteZeichensetzung in voller BreiteBuchstaben in halber BreiteZeichensetzung in halber BreiteNormaler CommitmodusSatzmodusPinYin ModusVereinfachtes Chinesisch, Big5 Zeichensatz bevorzugtModus für vereinfachtes ChinesischEinzelzeichenmodusWechseln in Big5 ZeichensatzmodusIn Englischen Modus wechselnWechseln zum PinYin ModusWechseln zum Modus für vereinfachtes ChinesischWechseln zu vereinfachtem Chinesisch, Big5 Zeichensatz bevorzugtIn Tabellen Modus wechselnWechseln zu traditionellem Chinesisch, Big5 Zeichensatz bevorzugtWechseln zum Modus für traditionelles ChinesischWechseln zu direktem CommitmodusWechseln zu Buchstaben in voller BreiteWechseln zu Zeichensetzung in voller BreiteWechseln zu Buchstaben in halber BreiteWechseln zu Zeichensetzung in halber BreiteWechseln zum normalen Commitmodus (Commit beim Tippen des Leerzeichens)Wechseln zum SatzmodusWechseln zum EinzelzeichenmodusTabellenmodusTraditionelles Chinesisch, Big5 Zeichensatz bevorzugtModus für traditionelles Chinesischibus-table-1.5.0.20130419/po/zh_TW.gmo0000644002345600234560000000542012134204566013566 00000000000000!$/,   '3 JVm  )!31U4" -N j7*x8' 3  ' 4 A N[ n{' 0  6 0L } 0  <  - C Y <o   '     !   Big Chinese ModeChinese ModeDirect Commit ModeEnglish ModeFull LetterFull-width PunctuationHalf LetterHalf-width PunctuationNormal Commit ModePhrase ModePinYin ModeSimplified Chinese First Big Charset ModeSimplified Chinese ModeSingle Char ModeSwitch to Big Charset ModeSwitch to English modeSwitch to PinYin modeSwitch to Simplified Chinese ModeSwitch to Simplify Chinese first Big Charset ModeSwitch to Table modeSwitch to Traditional Chinese first Big Charset ModeSwitch to Traditional Chinese modeSwitch to direct commit modeSwitch to full-width letterSwitch to full-width punctuationSwitch to half-width letterSwitch to half-width punctuationSwitch to normal commit mode, which use space to commitSwitch to phrase modeSwitch to single char modeTraditional Chinese First Big Charset ModeTraditional Chinese ModeProject-Id-Version: 0.1.20080819 Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry POT-Creation-Date: 2013-04-19 11:08+0200 PO-Revision-Date: 2012-11-13 08:31+0100 Last-Translator: Caius 'kaio' Chance Language-Team: Caius 'kaio' Chance Language: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit 大字集模式(預設結果順序)中文模式直接輸出模式,亦即單項結果即時輸出英文模式全形字元全形標點半形字元半形標點標準輸出模式詞組模式拼音反查模式大字集模式(簡體結果優先)簡體模式單字元模式切換成大字集模式(預設結果順序)切換成英文模式切換成拼音反查模式切換成簡體模式切換成大字集模式(簡體結果優先)切換成形碼模式切換成大字集模式(繁體結果優先)切換成繁體模式切換成直接輸出模式,亦即單項結果即時輸出切換成全形字元切換成全形標點切換成半形字元切換成半形標點切換成標準輸出模式,亦即按空格鍵執行輸出切換成詞組模式切換成單字元模式大字集模式(繁體結果優先)繁體模式ibus-table-1.5.0.20130419/po/Makevars0000644002345600234560000000344112024325441013516 00000000000000# Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = po top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Yu Yuwei # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = $(PACKAGE_BUGREPORT) # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = ibus-table-1.5.0.20130419/po/remove-potcdate.sin0000644002345600234560000000066012134204557015641 00000000000000# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } ibus-table-1.5.0.20130419/po/POTFILES.in0000644002345600234560000000017312024325441013576 00000000000000./engine/table.py ./engine/main.py ./engine/tabsqlitedb.py ./engine/tabcreatedb.py ./engine/factory.py ./engine/tabdict.py ibus-table-1.5.0.20130419/po/zh_CN.po0000644002345600234560000000716412134204565013376 00000000000000# IBus-Table Translation file: zh_CN.po # Copyright (C) YEAR Yu Yuwei # This file is distributed under the same license as the ibus-table package. # Yu Yuwei , 2008.09.05 # msgid "" msgstr "" "Project-Id-Version: 0.1.20080819\n" "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n" "POT-Creation-Date: 2013-04-19 11:08+0200\n" "PO-Revision-Date: 2012-11-13 08:18+0100\n" "Last-Translator: Yu Yuwei \n" "Language-Team: Yu Yuwei \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: engine/table.py:1255 msgid "Chinese Mode" msgstr "中文模式" #: engine/table.py:1255 engine/table.py:1257 msgid "Switch to English mode" msgstr "切换到英文模式" #: engine/table.py:1259 msgid "English Mode" msgstr "英文模式" #: engine/table.py:1259 engine/table.py:1275 msgid "Switch to Table mode" msgstr "切换到形码模式" #: engine/table.py:1263 msgid "Full Letter" msgstr "全角字符" #: engine/table.py:1263 msgid "Switch to half-width letter" msgstr "切换到半角字符" #: engine/table.py:1265 msgid "Half Letter" msgstr "半角字符" #: engine/table.py:1265 msgid "Switch to full-width letter" msgstr "切换到全角字符" #: engine/table.py:1269 msgid "Full-width Punctuation" msgstr "全角标点" #: engine/table.py:1269 msgid "Switch to half-width punctuation" msgstr "切换到半角标点" #: engine/table.py:1271 msgid "Half-width Punctuation" msgstr "半角标点" #: engine/table.py:1271 msgid "Switch to full-width punctuation" msgstr "切换到全角标点" #: engine/table.py:1275 msgid "PinYin Mode" msgstr "拼音反查模式" #: engine/table.py:1277 msgid "Table Mode" msgstr "形码模式" #: engine/table.py:1277 msgid "Switch to PinYin mode" msgstr "切换到拼音反查模式" #: engine/table.py:1281 msgid "Single Char Mode" msgstr "单字模式" #: engine/table.py:1281 msgid "Switch to phrase mode" msgstr "切换到词组模式" #: engine/table.py:1283 msgid "Phrase Mode" msgstr "词组模式" #: engine/table.py:1283 msgid "Switch to single char mode" msgstr "切换到单字模式" #: engine/table.py:1287 msgid "Direct Commit Mode" msgstr "直接提交模式" #: engine/table.py:1287 msgid "Switch to normal commit mode, which use space to commit" msgstr "切换到普通提交模式,即用空格键提交" #: engine/table.py:1289 msgid "Normal Commit Mode" msgstr "普通提交模式" #: engine/table.py:1289 msgid "Switch to direct commit mode" msgstr "切换到直接提交模式" #: engine/table.py:1295 msgid "Simplified Chinese Mode" msgstr "简体模式" #: engine/table.py:1295 msgid "Switch to Traditional Chinese mode" msgstr "切换到繁体模式" #: engine/table.py:1297 msgid "Traditional Chinese Mode" msgstr "繁体模式" #: engine/table.py:1297 msgid "Switch to Simplify Chinese first Big Charset Mode" msgstr "切换到简体优先的大字集模式" #: engine/table.py:1299 msgid "Simplified Chinese First Big Charset Mode" msgstr "简体优先的大字集模式" #: engine/table.py:1299 msgid "Switch to Traditional Chinese first Big Charset Mode" msgstr "切换到繁体优先的大字集模式" #: engine/table.py:1301 msgid "Traditional Chinese First Big Charset Mode" msgstr "繁体优先的大字集模式" #: engine/table.py:1301 msgid "Switch to Big Charset Mode" msgstr "切换到大字集模式" #: engine/table.py:1303 msgid "Big Chinese Mode" msgstr "大字集模式" #: engine/table.py:1303 msgid "Switch to Simplified Chinese Mode" msgstr "切换到简体模式" #~ msgid "CN" #~ msgstr "中" #~ msgid "EN" #~ msgstr "英" ibus-table-1.5.0.20130419/po/ibus-table.pot0000644002345600234560000000557512134204565014614 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Yu Yuwei # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n" "POT-Creation-Date: 2013-04-19 11:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: engine/table.py:1255 msgid "Chinese Mode" msgstr "" #: engine/table.py:1255 engine/table.py:1257 msgid "Switch to English mode" msgstr "" #: engine/table.py:1259 msgid "English Mode" msgstr "" #: engine/table.py:1259 engine/table.py:1275 msgid "Switch to Table mode" msgstr "" #: engine/table.py:1263 msgid "Full Letter" msgstr "" #: engine/table.py:1263 msgid "Switch to half-width letter" msgstr "" #: engine/table.py:1265 msgid "Half Letter" msgstr "" #: engine/table.py:1265 msgid "Switch to full-width letter" msgstr "" #: engine/table.py:1269 msgid "Full-width Punctuation" msgstr "" #: engine/table.py:1269 msgid "Switch to half-width punctuation" msgstr "" #: engine/table.py:1271 msgid "Half-width Punctuation" msgstr "" #: engine/table.py:1271 msgid "Switch to full-width punctuation" msgstr "" #: engine/table.py:1275 msgid "PinYin Mode" msgstr "" #: engine/table.py:1277 msgid "Table Mode" msgstr "" #: engine/table.py:1277 msgid "Switch to PinYin mode" msgstr "" #: engine/table.py:1281 msgid "Single Char Mode" msgstr "" #: engine/table.py:1281 msgid "Switch to phrase mode" msgstr "" #: engine/table.py:1283 msgid "Phrase Mode" msgstr "" #: engine/table.py:1283 msgid "Switch to single char mode" msgstr "" #: engine/table.py:1287 msgid "Direct Commit Mode" msgstr "" #: engine/table.py:1287 msgid "Switch to normal commit mode, which use space to commit" msgstr "" #: engine/table.py:1289 msgid "Normal Commit Mode" msgstr "" #: engine/table.py:1289 msgid "Switch to direct commit mode" msgstr "" #: engine/table.py:1295 msgid "Simplified Chinese Mode" msgstr "" #: engine/table.py:1295 msgid "Switch to Traditional Chinese mode" msgstr "" #: engine/table.py:1297 msgid "Traditional Chinese Mode" msgstr "" #: engine/table.py:1297 msgid "Switch to Simplify Chinese first Big Charset Mode" msgstr "" #: engine/table.py:1299 msgid "Simplified Chinese First Big Charset Mode" msgstr "" #: engine/table.py:1299 msgid "Switch to Traditional Chinese first Big Charset Mode" msgstr "" #: engine/table.py:1301 msgid "Traditional Chinese First Big Charset Mode" msgstr "" #: engine/table.py:1301 msgid "Switch to Big Charset Mode" msgstr "" #: engine/table.py:1303 msgid "Big Chinese Mode" msgstr "" #: engine/table.py:1303 msgid "Switch to Simplified Chinese Mode" msgstr "" ibus-table-1.5.0.20130419/po/en@quot.header0000644002345600234560000000226312134204557014616 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # ibus-table-1.5.0.20130419/po/en@boldquot.header0000644002345600234560000000247112134204557015460 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # ibus-table-1.5.0.20130419/po/de.po0000644002345600234560000001004012134204565012750 00000000000000# IBus-Table Translation file: de.po # Copyright (C) 2012 Mike FABIAN # This file is distributed under the same license as the ibus-table package. # Mike FABIAN , 2012. # msgid "" msgstr "" "Project-Id-Version: ibus-table 1.4.99\n" "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n" "POT-Creation-Date: 2013-04-19 11:08+0200\n" "PO-Revision-Date: 2012-11-13 08:57+0100\n" "Last-Translator: Mike FABIAN \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: engine/table.py:1255 msgid "Chinese Mode" msgstr "Chinesischer Modus" #: engine/table.py:1255 engine/table.py:1257 msgid "Switch to English mode" msgstr "In Englischen Modus wechseln" #: engine/table.py:1259 msgid "English Mode" msgstr "Englischer Modus" #: engine/table.py:1259 engine/table.py:1275 msgid "Switch to Table mode" msgstr "In Tabellen Modus wechseln" #: engine/table.py:1263 msgid "Full Letter" msgstr "Buchstaben in voller Breite" #: engine/table.py:1263 msgid "Switch to half-width letter" msgstr "Wechseln zu Buchstaben in halber Breite" #: engine/table.py:1265 msgid "Half Letter" msgstr "Buchstaben in halber Breite" #: engine/table.py:1265 msgid "Switch to full-width letter" msgstr "Wechseln zu Buchstaben in voller Breite" #: engine/table.py:1269 msgid "Full-width Punctuation" msgstr "Zeichensetzung in voller Breite" #: engine/table.py:1269 msgid "Switch to half-width punctuation" msgstr "Wechseln zu Zeichensetzung in halber Breite" #: engine/table.py:1271 msgid "Half-width Punctuation" msgstr "Zeichensetzung in halber Breite" #: engine/table.py:1271 msgid "Switch to full-width punctuation" msgstr "Wechseln zu Zeichensetzung in voller Breite" #: engine/table.py:1275 msgid "PinYin Mode" msgstr "PinYin Modus" #: engine/table.py:1277 msgid "Table Mode" msgstr "Tabellenmodus" #: engine/table.py:1277 msgid "Switch to PinYin mode" msgstr "Wechseln zum PinYin Modus" #: engine/table.py:1281 msgid "Single Char Mode" msgstr "Einzelzeichenmodus" #: engine/table.py:1281 msgid "Switch to phrase mode" msgstr "Wechseln zum Satzmodus" #: engine/table.py:1283 msgid "Phrase Mode" msgstr "Satzmodus" #: engine/table.py:1283 msgid "Switch to single char mode" msgstr "Wechseln zum Einzelzeichenmodus" #: engine/table.py:1287 msgid "Direct Commit Mode" msgstr "Direkter Commitmodus" #: engine/table.py:1287 msgid "Switch to normal commit mode, which use space to commit" msgstr "" "Wechseln zum normalen Commitmodus (Commit beim Tippen des Leerzeichens)" #: engine/table.py:1289 msgid "Normal Commit Mode" msgstr "Normaler Commitmodus" #: engine/table.py:1289 msgid "Switch to direct commit mode" msgstr "Wechseln zu direktem Commitmodus" #: engine/table.py:1295 msgid "Simplified Chinese Mode" msgstr "Modus für vereinfachtes Chinesisch" #: engine/table.py:1295 msgid "Switch to Traditional Chinese mode" msgstr "Wechseln zum Modus für traditionelles Chinesisch" #: engine/table.py:1297 msgid "Traditional Chinese Mode" msgstr "Modus für traditionelles Chinesisch" #: engine/table.py:1297 msgid "Switch to Simplify Chinese first Big Charset Mode" msgstr "Wechseln zu vereinfachtem Chinesisch, Big5 Zeichensatz bevorzugt" #: engine/table.py:1299 msgid "Simplified Chinese First Big Charset Mode" msgstr "Vereinfachtes Chinesisch, Big5 Zeichensatz bevorzugt" #: engine/table.py:1299 msgid "Switch to Traditional Chinese first Big Charset Mode" msgstr "Wechseln zu traditionellem Chinesisch, Big5 Zeichensatz bevorzugt" #: engine/table.py:1301 msgid "Traditional Chinese First Big Charset Mode" msgstr "Traditionelles Chinesisch, Big5 Zeichensatz bevorzugt" #: engine/table.py:1301 msgid "Switch to Big Charset Mode" msgstr "Wechseln in Big5 Zeichensatzmodus" #: engine/table.py:1303 msgid "Big Chinese Mode" msgstr "Big5 Zeichensatzmodus" #: engine/table.py:1303 msgid "Switch to Simplified Chinese Mode" msgstr "Wechseln zum Modus für vereinfachtes Chinesisch" ibus-table-1.5.0.20130419/po/Makefile.in.in0000644002345600234560000003322112134204557014501 00000000000000# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.16 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: all-@USE_NLS@ all-yes: stamp-po all-no: # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && $(SHELL) ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ibus-table-1.5.0.20130419/po/boldquot.sed0000644002345600234560000000033112134204557014351 00000000000000s/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g s/“/“/g s/”/”/g s/‘/‘/g s/’/’/g ibus-table-1.5.0.20130419/po/stamp-po0000644002345600234560000000001212134204566013502 00000000000000timestamp ibus-table-1.5.0.20130419/config.sub0000755002345600234560000010532712134204560013375 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, # 2011, 2012 Free Software Foundation, Inc. timestamp='2012-04-18' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*178) os=-lynxos178 ;; -lynx*5) os=-lynxos5 ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | be32 | be64 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ | nios | nios2 \ | ns16k | ns32k \ | open8 \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; strongarm | thumb | xscale) basic_machine=arm-unknown ;; xgate) basic_machine=$basic_machine-unknown os=-none ;; xscaleeb) basic_machine=armeb-unknown ;; xscaleel) basic_machine=armel-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze) basic_machine=microblaze-xilinx ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i386-pc os=-msys ;; mvs) basic_machine=i370-ibm os=-mvs ;; nacl) basic_machine=le32-unknown os=-nacl ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; neo-tandem) basic_machine=neo-tandem ;; nse-tandem) basic_machine=nse-tandem ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; strongarm-* | thumb-*) basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tile*) basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; hexagon-*) os=-elf ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: ibus-table-1.5.0.20130419/AUTHORS0000644002345600234560000000026112101503347012450 00000000000000Original Author(s) YU Yuwei (acevery) Developer(s) Caius "kaio" CHANCE MA Xiaojun Mike FABIAN ibus-table-1.5.0.20130419/py-compile0000755002345600234560000001033012134204561013404 00000000000000#!/bin/sh # py-compile - Compile a Python program scriptversion=2011-06-08.12; # UTC # Copyright (C) 2000-2012 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . if [ -z "$PYTHON" ]; then PYTHON=python fi me=py-compile usage_error () { echo "$me: $*" >&2 echo "Try '$me --help' for more information." >&2 exit 1 } basedir= destdir= while test $# -ne 0; do case "$1" in --basedir) if test $# -lt 2; then usage_error "option '--basedir' requires an argument" else basedir=$2 fi shift ;; --destdir) if test $# -lt 2; then usage_error "option '--destdir' requires an argument" else destdir=$2 fi shift ;; -h|--help) cat <<\EOF Usage: py-compile [--help] [--version] [--basedir DIR] [--destdir DIR] FILES..." Byte compile some python scripts FILES. Use --destdir to specify any leading directory path to the FILES that you don't want to include in the byte compiled file. Specify --basedir for any additional path information you do want to be shown in the byte compiled file. Example: py-compile --destdir /tmp/pkg-root --basedir /usr/share/test test.py test2.py Report bugs to . EOF exit $? ;; -v|--version) echo "$me $scriptversion" exit $? ;; --) shift break ;; -*) usage_error "unrecognized option '$1'" ;; *) break ;; esac shift done files=$* if test -z "$files"; then usage_error "no files given" fi # if basedir was given, then it should be prepended to filenames before # byte compilation. if [ -z "$basedir" ]; then pathtrans="path = file" else pathtrans="path = os.path.join('$basedir', file)" fi # if destdir was given, then it needs to be prepended to the filename to # byte compile but not go into the compiled file. if [ -z "$destdir" ]; then filetrans="filepath = path" else filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)" fi $PYTHON -c " import sys, os, py_compile files = '''$files''' sys.stdout.write('Byte-compiling python modules...\n') for file in files.split(): $pathtrans $filetrans if not os.path.exists(filepath) or not (len(filepath) >= 3 and filepath[-3:] == '.py'): continue sys.stdout.write(file) sys.stdout.flush() py_compile.compile(filepath, filepath + 'c', path) sys.stdout.write('\n')" || exit $? # this will fail for python < 1.5, but that doesn't matter ... $PYTHON -O -c " import sys, os, py_compile files = '''$files''' sys.stdout.write('Byte-compiling python modules (optimized versions) ...\n') for file in files.split(): $pathtrans $filetrans if not os.path.exists(filepath) or not (len(filepath) >= 3 and filepath[-3:] == '.py'): continue sys.stdout.write(file) sys.stdout.flush() py_compile.compile(filepath, filepath + 'o', path) sys.stdout.write('\n')" 2>/dev/null || : # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: ibus-table-1.5.0.20130419/INSTALL0000644002345600234560000003660512134204561012446 00000000000000Installation Instructions ************************* Copyright (C) 1994-1996, 1999-2002, 2004-2012 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. HP-UX `make' updates targets which have the same time stamps as their prerequisites, which makes it generally unusable when shipped generated files such as `configure' are involved. Use GNU `make' instead. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf limitation. Until the limitation is lifted, you can use this workaround: CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. ibus-table-1.5.0.20130419/config.rpath0000755002345600234560000003744412134204556013733 00000000000000#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2006 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; darwin*) case $cc_basename in xlc*) wl='-Wl,' ;; esac ;; mingw* | pw32* | os2*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux*) case $cc_basename in icc* | ecc*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; sco3.2v5*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) wl='-Wl,' ;; sysv4*MP*) ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we cannot use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; interix3*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; linux*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 hardcode_direct=yes else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if test "$GCC" = yes ; then : else case $cc_basename in xlc*) ;; *) ld_shlibs=no ;; esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | kfreebsd*-gnu | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no ;; *) hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. libname_spec='lib$name' case "$host_os" in aix3*) ;; aix4* | aix5*) ;; amigaos*) ;; beos*) ;; bsdi[45]*) ;; cygwin* | mingw* | pw32*) shrext=.dll ;; darwin* | rhapsody*) shrext=.dylib ;; dgux*) ;; freebsd1*) ;; kfreebsd*-gnu) ;; freebsd* | dragonfly*) ;; gnu*) ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac ;; interix3*) ;; irix5* | irix6* | nonstopux*) case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux*) ;; knetbsd*-gnu) ;; netbsd*) ;; newsos6) ;; nto-qnx*) ;; openbsd*) ;; os2*) libname_spec='$name' shrext=.dll ;; osf3* | osf4* | osf5*) ;; solaris*) ;; sunos4*) ;; sysv4 | sysv4.3*) ;; sysv4*MP*) ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) ;; uts4*) ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <, I would be very please to hear from you :) == Key Bindings == Notice: Ctrl is "Control Key", Shift_L is the left "Shift Key", Shift_R is the right "Shift Key", Alt is the "Alt Key", Arrow_Left is the "Arrow Key" point to left, Arrow_Right is the "Arrow Key" point to right, similarly as Arrow_Up and Arrow_Down. Cursor is the one in preedit string. [Num1~Num9] means one key in Num1, Num2, Num3, ... , Num9 Space commit inputted string. Shift_L when no key inputted: shift the input mode between English and Table mode. during input: commit the first candidate into preedit string. Shift_R shift between PinYin mode and Normal mode under Table mode. Shift_L/Shift_R + 1 input tunes under PinYin mode. the tunes display in 2 aux string area as ↑1, ↑2, ↑3, ↑4, ↑5. 3 1 is YinPin, 2 is YangPin, 3 is ShangSheng, 4 4 is QuSheng, 5 is QingSheng 5 Arrow_Left move cursor one character left in preedit string. Arrow_Right move cursor one character right in preedit string. Backspace remove the last input key or last character in preeidt string. Delete remove one character after the cursor in preedit string. Ctrl + Arrow_Lelf move the cursor to the front of preedit string. Ctrl + Arrow_Right move the cursor to the end of preedit string. Ctrl + Backspace delete from cursor to the front of preedit string. Ctrl + Delete delete from cursor to the end of preedit string. Arrow_Down mext candidate. Arrow_Up previous candidate. Esc reset the input method. Num1 ~ Num9 select the correspondent candidate and commit inputted string Ctrl + [Num1~Num9] select the correspondent candidate and commit it into preedit string Alt + [Num1~Num9] remove the correspondent user-defined phrase. Page_Up/Page_Down page up/down the lookup table of candidates. -/+ when not been used as valid input keys, the same as Page_Up and Page_Down. Ctrl + , open/close Single Character Mode, only show single character not phrases. Ctrl + . shift between full/half punctuation. Ctrl + / shift between direct/normal commit mode. Ctrl + ; shift between different SubCharset in Chinese ibus-table-1.5.0.20130419/ChangeLog0000644002345600234560000017245012050364531013167 00000000000000commit f118dba1b194a6adb6c4854da74d2fa297f077e7 Author: Caius 'kaio' Chance Date: Wed Oct 3 17:11:46 2012 +1000 Updated PO files. commit 3675a495799cfa68da825350e449c45f5ceeac68 Merge: f124c26 2cd1650 Author: Caius 'kaio' Chance Date: Wed Oct 3 17:01:32 2012 +1000 Merge remote-tracking branch 'mozbugbox/page-up-down-config' into rel20121001 commit 2cd1650663086e7a00f92a9eb7661c738351c39c Author: mozbugbox Date: Fri Sep 28 00:26:28 2012 +0800 Make page up/down keys configurable commit f124c2608e50796671ca518248dc68c716a7204d Author: mozbugbox Date: Thu Sep 27 22:45:30 2012 +0800 Fill input panel on demand. Huge GUI respond speedup Huge speedup on ibus-table GUI repsond time when using a large phrases table. Currently, all the candidate phrases are created in the input panel before shown to the users, while only 6 of the candidates actually show up on the panel. For a phrase table with a lot of phrases, the candidate list can contain more than 3000 entries, especially when only the 1st key is entried. 3000 candidates will cause 3000 input widgets being generated before the first 6 candidates were show to the users. This can make the GUI update lagging up to a few seconds depending on the speed of the CPU. This is at least O(n). In this optimzed code, only 6 candidate widgets were generated at a time. More candidate widgets will be generate on next-page/previous- page action. Now we are O(1) for the GUI part of panel update. commit 14d46a0f8cd9d565db3548166873548a0cff9f80 Author: mozbugbox Date: Thu Sep 27 22:41:25 2012 +0800 Remove unneeded sort in select_words(), speedup Since sql query statement already sorted (ORDER BY) the result, remove the unneeded sort operation. Sorting with a python compare function is terribly slow for large list. commit 2a9a21fc7da056dfd599145198f9d36b33171bd8 Merge: 4c358f7 9d8a722 Author: Caius 'kaio' Chance Date: Tue Sep 18 11:04:29 2012 +1000 Merge remote-tracking branch 'mike-fabian/acevery-master-fix-ipa-x-sampa-rhbz856903' into rel20121001 commit 4c358f755ddacf2117b91123490bad2fd85380cc Merge: e90dc05 c219fd9 Author: Caius 'kaio' Chance Date: Thu Sep 13 23:34:09 2012 +1000 Merge remote-tracking branch 'mike-fabian/acevery-master-improve-chinese-category-check-rhbz856320' into rel20121001 commit 9d8a7228fca7615b8a3b7f74f7bf8cfe7861fe8b Author: Mike FABIAN Date: Thu Sep 13 15:32:10 2012 +0200 Fix ipa-x-sampa table and phrases containing spaces in emoji-table Currently there is a regular expression which filters out several lines defining valid phrases. The emoji-table for example has phrases containing spaces which are currently filtered out and the ipa-x-sampa table has trailing comments which are filtered out as well. In phrase_parser, the phrases are parsed like: xingma, phrase, freq = unicode (l, "utf-8").strip ().split ('\t')[:3] Therefore, it seems reasonable to change the regular expression checking for a table line containing a phrase definition to accept every line which has 3 columns seperated by tabs followed optionally by more columns also separated by tabs (the optional columns are ignored, i.e. they are just comments in the table source). See: https://bugzilla.redhat.com/show_bug.cgi?id=856903 commit c219fd9aed3c24dc6405ef88991ef178caf29f91 Author: Mike FABIAN Date: Thu Sep 13 12:43:55 2012 +0200 Improve check whether a phrase is simplified or traditional Chinese The improvement is to ignore all non-Han characters when doing the check. This is to avoid classifying a simplified Chinese string as traditional just because it happens to include some non-Chinese characters, for example box drawing characters, which cannot be converted to gb2312 but happen to be convertible to big5hkscs. This fixes the problem in the emoji-table input method that most phrases cannot be input at all. See: https://bugzilla.redhat.com/show_bug.cgi?id=856320 commit e90dc055de4e5ecda91ae03144be9731c8376989 Merge: ce79966 84c287f Author: Caius 'kaio' Chance Date: Thu Sep 6 08:28:32 2012 +1000 Merge remote-tracking branch 'acevery/master' into rel20121001 Conflicts: engine/table.py commit 84c287f1a7e261c32e7b4a18d7f488ae3d78da75 Author: Yuwei Yu Date: Wed Sep 5 20:46:09 2012 +0800 exclude control characters from input range commit edd01646dca3599f1e9a838b9ab9813e1477bd3d Author: Yuwei Yu Date: Wed Sep 5 01:35:56 2012 +0800 remove repeat unichr; remove blank lines in table.py commit 50692ab9599c3845bc9f29cb0516ee78b6b0eda0 Author: Yuwei Yu Date: Wed Sep 5 01:22:55 2012 +0800 fix non-ASCII input key bug commit ce7996600810421020c6904749213b73a7eb2dff Merge: d4c5fad 3ba23ba Author: Caius 'kaio' Chance Date: Tue Sep 4 22:35:46 2012 +1000 Merge commit '3ba23ba4667818c096639acb3920b50994263ef4' into rel20120901 Conflicts: tables/additional/latex.txt commit d4c5fad5ad5bd80ad34d8e96bd1d1d48dc21973d Author: Caius 'kaio' Chance Date: Tue Sep 4 21:58:01 2012 +1000 Updated version number and ChangeLog. Rebuilt PO files. commit 3ba23ba4667818c096639acb3920b50994263ef4 Author: Xiaojun Ma Date: Sat Aug 11 15:00:27 2012 +0800 further remove 'additional' stuff commit 2b9fb58e532ea9ea51800e7e177fb9c30d0ccb8f Author: Xiaojun Ma Date: Sat Aug 11 14:38:08 2012 +0800 remove compose.db, latex.db; fix #1026 commit 1bc85cd6e72eb0e30cd413ad0f4dde65dd8fc73f Merge: 7a28618 e015065 Author: Xiaojun Ma Date: Sat Aug 11 13:16:04 2012 +0800 Merge branch 'master' of github.com:maxiaojun/ibus-table commit 7a28618143bf702ea52858df2d0a54b185e9c400 Author: Xiaojun Ma Date: Sat Aug 11 13:11:02 2012 +0800 respect language_filter property; a better way to fix #1188 commit e0150650b3fbbaf3d4b97a48d95620caa2342786 Author: Xiaojun Ma Date: Sat Aug 11 13:11:02 2012 +0800 respect language_filter project; a better way to fix #1188 commit 932abeea7511ae733d029f466260d3710a09b5e1 Author: Mathieu Bridon Date: Sat Aug 11 12:45:58 2012 +0800 trivial change commit cb0abbd63040dd37f78628d595905faabd55de7f Author: Mathieu Bridon Date: Sat Aug 11 12:45:17 2012 +0800 add language_filter property commit 6f90e9c27491f169138abde9c85350838d28104e Author: Xiaojun Ma Date: Sat Aug 11 11:42:28 2012 +0800 a better way to fix #1474 commit d752b0274768e6d593c32cefebecdc24e197dbf0 Merge: eaa6927 2c8d938 Author: Caius 'kaio' Chance Date: Thu Aug 9 17:04:33 2012 +1000 Merge remote-tracking branch 'fujiwarat/master' into rel20120901 commit eaa692761096f527c5ae7c663612cce0dbfb5b56 Merge: f3a8c98 13d3f16 Author: Caius 'kaio' Chance Date: Wed Aug 8 21:07:23 2012 +1000 Merge remote-tracking branch 'maxiaojun/master' into rel20120901 commit f3a8c98972877dee89ed51c1a0a067eb5c84b4a9 Merge: e31b470 277814c Author: Caius 'kaio' Chance Date: Tue Aug 7 23:32:23 2012 +1000 Merge branch 'menu-label' into rel20120901 Conflicts: engine/table.py commit 277814cac5d5dcd46bfb17574553a744f7a61e78 Author: Caius 'kaio' Chance Date: Tue Aug 7 21:41:20 2012 +1000 Add labels for property for self-descriptive, when menus are embedded in traybar. commit 13d3f16498efc3683d7392d5c0e2342a01f90d35 Author: Xiaojun Ma Date: Sun Jul 1 22:28:28 2012 +0800 trivial change commit 8506e81fde93c5136d63888f6408dc5a88e23b4c Author: Xiaojun Ma Date: Sun Jul 1 22:23:32 2012 +0800 add value-changed signal handler for config; prepare for #639 commit 225fe2f4477ab7798dbbb753de60a1f748646d47 Author: Xiaojun Ma Date: Sun Jul 1 11:11:49 2012 +0800 trivial change commit c3236d649a13329fdf8e5067a5421bfbb27be9d0 Author: Xiaojun Ma Date: Sun Jul 1 11:08:07 2012 +0800 add per table lookup table orientation; fix #1475 commit edf6fc4c80dc98869e5db692a3e5126996de1b58 Author: Xiaojun Ma Date: Sun Jul 1 10:41:09 2012 +0800 fix #704 commit e092b5b65393a6795361823a69959b6ab46c5eba Author: Xiaojun Ma Date: Wed Jun 27 23:18:16 2012 +0800 add per table chinese mode; fix #1188 commit d93a3ff13f69c431c851fe663138e143bfe953e7 Author: Xiaojun Ma Date: Wed Jun 27 23:01:02 2012 +0800 add per table page size; fix #1474 commit e31b4706825cbf1c1256c555323c4d87ec1610d8 Merge: e04a10b 0e89c17 Author: Caius Chance Date: Sat Mar 10 00:15:15 2012 +1000 Merge remote-tracking branch 'mvv/python-path-fix' into rel20120309 commit e04a10b15dff4b3322cbe752e99e761b372d2c5b Merge: 820ee65 418ea16 Author: Caius Chance Date: Sat Mar 10 00:14:42 2012 +1000 Merge remote-tracking branch 'mvv/coloncolon' into rel20120309 commit 820ee65a18e8f966372959bab88a542d084e0357 Merge: 6ac623b 5eef930 Author: Caius Chance Date: Fri Mar 9 23:48:09 2012 +1000 Merge remote-tracking branch 'seanf/master' into 2012-03-09 Conflicts: po/zh_CN.po po/zh_HK.po po/zh_TW.po commit 6ac623ba7b7a59b7032d1916ee53bd249801dd28 Author: Caius Chance Date: Fri Mar 9 19:06:05 2012 +1000 - Add direct input of Chinese bracket to mid-brackets and large-brackets. commit a44d50c6face110c7cd1252067eade3f8a9193e8 Author: Yuwei Yu Date: Wed Mar 7 15:16:49 2012 +0800 add _mo into locale test commit d4df7ed4c361a30f9c5d505e9ffc8b5fc7c163a7 Author: Yuwei Yu Date: Tue Mar 6 01:06:50 2012 +0800 modify locale detecting code commit 487d9b6825492498cfc1f49b66e243c2eb4c5bcf Author: Yuwei Yu Date: Mon Mar 5 08:57:08 2012 +0800 enable en_HK user to use chinese mode commit 24596c02c86a0453c59485f8b0031279803f1581 Author: Yuwei Yu Date: Sun Oct 2 11:53:53 2011 +0800 add some key for translit; fix #1318 commit 8b54742f9648366abe8690513289337a43254621 Author: Yuwei Yu Date: Mon Aug 1 23:53:46 2011 +0800 add NOSYMBOL to be a null target phrase commit 5eef930473edc31588444762bbbda5273fc6feff Author: Sean Flanigan Date: Tue Jul 26 17:31:19 2011 +1000 modify English text for clarity commit 418ea16b60614657285d23e31b511c41185322f8 Author: Mikhail Vorozhtsov Date: Sat Jun 18 17:10:31 2011 +0700 Added \coloncolon to the LaTeX table. commit 0e89c1738bf7722e1bd39c00b9d7f8e9214a05c5 Author: Mikhail Vorozhtsov Date: Sat Jun 18 16:20:49 2011 +0700 Use Python executable found by autotools in scripts. commit 4a35882e82c8d879252e4518974feba60ba802c1 Author: Yuwei Yu Date: Wed Apr 27 10:14:43 2011 +0800 update reg pattern in tabcreatedb.py to allow leading or trailing space in tab separated columns commit 2a1bb20de7fd3373d1c9bf1d7f5305a93d663cf9 Merge: 1850d89 8d6e9ff Author: Yu Yuwei Date: Tue Apr 26 18:39:25 2011 -0700 Merged pull request #4 from sagara-/master. Bugfix for issue 787 commit 8d6e9ff11307d05d336f696ceffa02ffb0a9cb8b Author: Kevin Tardif Date: Tue Apr 26 17:50:20 2011 -0400 Added detection of invalid table names - detects NAME attributes in table specifications that violate GConf keyname restrictions - see issue 787 (http://code.google.com/p/ibus/issues/detail?id=787) for details commit 1850d891300ce777b474d782b347ea1b05b8a7cc Author: Yuwei Yu Date: Fri Feb 18 08:50:57 2011 +0800 update latex.txt from Giuseppe Castagna (gc@pps.jussieu.fr) commit 1e3e9139378e751570e3046bc1bfa27e6517b70f Author: 余钰炜 Date: Thu Dec 30 23:51:35 2010 +0800 update README; fix pinyin mode under direct commit mode commit 932f8b25737ace30859abac8972adb381c7287ab Author: 余钰炜 Date: Tue Dec 7 10:20:02 2010 +0800 add goucima use non chinese character commit ea4397b69cc63572bdb8f42478bbe319bfab95d3 Author: 余钰炜 Date: Thu Nov 11 16:35:17 2010 +0800 fix remove before char bug commit 1c51b7bdcdcb59bdfaf7f050eeb84316b2551f0e Author: 余钰炜 Date: Sun Sep 12 23:12:20 2010 +0800 fix config saving bug in Cangjie commit c7de864861c1259409c97fe4d8d6634c46383cef Author: 余钰炜 Date: Mon Sep 6 18:12:34 2010 +0800 fix py_mode tabkey length bug commit 8790fc860ee043168c3995e78cd070e0ffee4f19 Author: 余钰炜 Date: Sun Sep 5 00:34:06 2010 +0800 fix py_mode update bug commit b95f174efe70dc39d9558a9fb13903b48753ba1a Author: 余钰炜 Date: Tue Aug 31 15:52:59 2010 +0800 little hack to allow ibus-table to import space in gvim commit f64cf33e2e40a6b78338cf3c6f6f8fde51c5d146 Author: 余钰炜 Date: Sun Jun 13 08:43:23 2010 +0800 comment out a debug print commit c42319f81d63f5e4bf6dedaf12e130bfd26f2b20 Author: 余钰炜 Date: Wed Apr 7 15:32:08 2010 +0800 fix typo in issue836, thanks fujiwarat commit 2c8d93828af175bf06a0b30dc1146547005f70f4 Author: fujiwarat Date: Tue Apr 6 13:03:14 2010 +0900 Fix self.db._is_chinese in table.py by issue 836 commit 57e985f1748d9376be2c4c77854fb273579d7058 Author: 余钰炜 Date: Mon Mar 29 23:29:45 2010 +0800 fix phrase rule parsing for p-11. see issuse 827 commit ac190e3990bb03f52091cdce8e98093e0c1fd135 Author: 余钰炜 Date: Fri Jan 8 15:41:01 2010 +0800 only extract first 3 element from table source commit c6a36522c5db68d67c90599d1a608663901aefab Author: 余钰炜 Date: Fri Nov 13 10:31:51 2009 +0800 remove speedmeter from am commit 26eb25fa9b7f8469ab9d1fc0f8b4e3330be48dc0 Author: 余钰炜 Date: Fri Nov 13 10:08:27 2009 +0800 remove speedmeter, which cause ibus hang; commit 170e0934de4e3e2a1a4b72f9bd4a3f7998c53554 Author: 余钰炜 Date: Mon Oct 19 09:27:20 2009 +0800 improve ibus-engine-table file commit ae527927f8d9895b026f87567084bb23b12a61ac Author: 余钰炜 Date: Mon Oct 19 07:43:55 2009 +0800 add START_CHARS to latex engine commit 8066019f30926c971361c4e9a78033daa761fb39 Author: 余钰炜 Date: Mon Oct 19 07:35:07 2009 +0800 fix typo in tabsqlite; fix broken behaivor in latex engine. commit d06720dd03032a66af791af5183827830a6ddb68 Author: 余钰炜 Date: Sun Oct 18 11:11:31 2009 +0800 fix pkelen type error which cause latex engine encounters error commit a57878713c8c8477cf2221c7c8cd9c868f6cf79b Author: 余钰炜 Date: Wed Oct 14 13:46:17 2009 +0800 fix issue 584, thanks Huang :) commit 96722e02aafcf096f71dacdbbb3e9970edc91626 Author: 余钰炜 Date: Wed Oct 14 13:28:20 2009 +0800 output when no db under tables dir commit 24852aba91f14006c924e70d7699cc941164908c Author: 余钰炜 Date: Sun Sep 27 15:24:08 2009 +0800 fix bug in tabsqlitedb, which stop ibus-table to start commit 9d64913a4c17ad368a10590f604406659cdc06ac Author: 余钰炜 Date: Sun Sep 27 15:10:22 2009 +0800 add least_commit_length to db, which allow "autocommit" feature in Compose IME commit 92524c12444354025690d30c0c7f861a7d883096 Author: 余钰炜 Date: Fri Sep 25 22:31:11 2009 +0800 add acknowledgement for Ye, Yuan commit 2ccb94af0e2c575c1b327a95854e70f359e78a88 Author: 余钰炜 Date: Fri Sep 25 22:26:23 2009 +0800 add some key use - and = back to compose.txt; change max_key_length to 3 in compose.txt commit b965e5204644c0aa310149fd7429a589f3caed0b Author: 余钰炜 Date: Fri Sep 25 22:04:27 2009 +0800 fix bug in tabcreate.py to allow = as input key; improve table.py to allow filter out =/- from page_down/up keys commit d0909f926112284db508e338aabbc0a82ce1f0ec Author: 袁野 Date: Fri Sep 25 16:45:13 2009 +0800 compose: add more characters Add more characters, most important a-z, A-Z and German letters. Also avoid using - and = in input keys, as they are default page chage hotkeys. Signed-off-by: 袁野 commit 05373eafe0f5a171222e52922b29dc3852d7508d Author: 余钰炜 Date: Sat Sep 12 22:37:06 2009 +0800 fix typo... commit d3739a81ddf14d2344053feff92afde2485a3f75 Author: 余钰炜 Date: Sat Sep 12 14:38:43 2009 +0800 Save user config to gconf module :) commit dc4bebd5c459226c2cde3c55cc723a0ec7b96e25 Author: 余钰炜 Date: Fri Aug 21 22:02:36 2009 +0800 allow use last code in phrase construction commit 0d5f89654244fa90cff877537b6dc127baffd9e7 Author: 余钰炜 Date: Thu Jul 30 20:05:42 2009 +0800 try to fix spec.in commit d64df85de06b3b2074b5f4926b93c076ba5a08c1 Author: 余钰炜 Date: Thu Jul 23 02:07:53 2009 +0800 fix a editor.commit_string bug commit 1fd5242306b954787a28d4ae2afeda392b835b6f Author: 余钰炜 Date: Fri Jul 17 02:43:01 2009 +0800 do not recreat index when load user_db commit 19d8c81b2bf70e6b57a2513e5f1cce476324863e Author: 余钰炜 Date: Thu Jul 9 22:43:36 2009 +0800 do syncing after normal return from MainLoop.run() commit 77da827f603e70b2d6c0578f460a490c665fafbf Author: 余钰炜 Date: Mon Jun 22 23:13:03 2009 +0800 add SIGINT handler for ibus exits sync commit 1522707acceec09a8f0bbf6fef0df4ff3b5b0b3a Author: 余钰炜 Date: Mon Jun 15 16:39:21 2009 +0800 update to ibus-1.2.0 commit a6679cd443365abf792895cd0f9ffc84acf5c784 Author: 余钰炜 Date: Mon Jun 15 00:57:44 2009 +0800 update process_key_events as ibus commit 7e41759b9ea37b7ede5da541d4599333de1182b7 Author: 余钰炜 Date: Mon Jun 15 00:41:51 2009 +0800 fall back for ibus-1.1.0.20090612 commit 19d6cdf9348e4ba6cb18a50e6c07fb349dd7e8cf Author: 余钰炜 Date: Mon Jun 15 00:29:28 2009 +0800 port to new process_key_event commit 83b433d3f696601413a5a5afa2d18c189290116e Author: 余钰炜 Date: Tue Jun 2 12:08:09 2009 +0800 update compose.txt commit 8dd226c87542f3f1c1f237bf81972970f2f611f6 Author: 余钰炜 Date: Tue Jun 2 12:03:20 2009 +0800 update icons/Makefile.am; update template.txt commit 4d07083b7fac8372f942ebfe064ad269a20e507b Author: 余钰炜 Date: Tue Jun 2 11:58:56 2009 +0800 rename direct_commit to auto_commit; allow auto_commit with one candidates in non-Chinese IME commit a2eaa3b6b1e4e443916590fd64b0c68e131abf1e Author: 余钰炜 Date: Mon Jun 1 10:37:47 2009 +0800 use LANG as LC_CTYPE fallback commit 366761995e13b8df21db2bcfa3e16c8b9a0a0c6f Author: 余钰炜 Date: Sun May 31 23:41:00 2009 +0800 fix fresh new ibus-table startup failure commit 1bb92eeef08e275998d323908fe34af2ade017f2 Author: 余钰炜 Date: Sat May 30 15:38:25 2009 +0800 merge from kaio.git; fix tabsqlitedb.compare, which cause wrong ordering in tabsqlitedb.select_words commit 638275afccc68bb3c397f2a3953034912ca158c0 Author: 余钰炜 Date: Tue May 26 11:16:45 2009 +0800 merge from kaio.git commit c07348108b6fc4b17ca617a06d76f2637edfa491 Author: 余钰炜 Date: Tue May 5 01:12:45 2009 +0800 fix user phrase check bug commit 96f89769c5c1365802ab495335e7fc52e6235aab Author: 余钰炜 Date: Fri May 1 23:30:14 2009 +0800 allow the create_engine to fail commit e3b22b14602b55a5054a0224834eac7e24a8049e Author: 余钰炜 Date: Fri May 1 22:59:52 2009 +0800 replace all invalid character in engine_path to under_score commit 490daacfdee8aa5f9af1e67a6ef3c90fd649bb7c Author: 余钰炜 Date: Fri May 1 22:04:20 2009 +0800 replace the "-" to "_" in engine_path commit 751296ceede357d5010864298f21e408446ed751 Author: 余钰炜 Date: Thu Apr 30 16:14:41 2009 +0800 add sigterm handler to sync userdb commit 1c792bcb904df77c4873302e2042abca8eb19d94 Author: 余钰炜 Date: Wed Apr 29 11:32:39 2009 +0800 fix pinyin mode bug commit 3fab1911c5055505dced11842555f07d050e5e9e Author: 余钰炜 Date: Wed Apr 29 01:04:03 2009 +0800 fix xml mode bug cause by debug commit 6a13b9a02919f011ec83e7e78968945d379c4c4f Author: 余钰炜 Date: Wed Apr 29 00:53:28 2009 +0800 redirect stdout,stderr to debug.log; readd arrow_up, arrow_down for candidates selection commit b21289c1af9301ad9f8a398db35870380d2b392b Author: 余钰炜 Date: Fri Apr 24 13:42:34 2009 +0800 remove the id from user_db.desc commit 8b2e0db12ddf5c2a72111187c40c3fb999345176 Author: 余钰炜 Date: Thu Apr 23 14:55:56 2009 +0800 fix check_phrase bug, which caused by recording tabkeys commit 9a5602a8a90fc4e4a5dc826720d15ce07570aabd Author: 余钰炜 Date: Wed Apr 22 14:38:31 2009 +0800 support record user_freq of phrases with user inputted keys; fix bugs cause by last commit commit da76aa709497859a6e3989637429331ee249eeb6 Author: 余钰炜 Date: Mon Apr 20 20:57:29 2009 +0800 add id key in db to allow better phrase ordering. Users need to regenerate the .db files. commit 1e894cf358814f0972159b9bd44fc282dad387c6 Author: 余钰炜 Date: Thu Mar 12 16:42:57 2009 +0800 fix digit ignore when digit in valid_input_chars commit d819c40a693b7afbe8c8ec4cbf3faf678ffd8a5d Author: LI Daobing Date: Sun Mar 8 22:14:50 2009 +0800 fix order in pkgconfig commit 8ef53eb84c9866e77bcc9c28940b98b9972ca274 Merge: 768e4b8 e926b14 Author: 余钰炜 Date: Fri Mar 6 14:19:01 2009 +0800 merge from kaio'tree commit 768e4b851b4b7d6f542fc11d424f2bf483a7f1d6 Author: 余钰炜 Date: Fri Mar 6 14:08:00 2009 +0800 update Changlog commit a8e019d4582db1d9142a1efbecd945c4470b3fb0 Author: 余钰炜 Date: Fri Mar 6 14:07:12 2009 +0800 add Caius into project commit e926b14b0718c3e02df28d1efd5490a715b7d9e9 Author: cchance Date: Fri Mar 6 15:23:47 2009 +1000 make pkgconfig noarch commit 193267080c33cd7aed19151f9199fbb35807d86b Author: cchance Date: Fri Mar 6 15:17:13 2009 +1000 Corrected .spec form GPLv2+ to LGPLv2+. commit b7f63b016d148991cade9c62ea61254fbd390e87 Author: cchance Date: Fri Mar 6 14:57:42 2009 +1000 Updated author list. Manually generate ChangeLog with `git log > ChangeLog`. commit a3f8a4667ace5be764973857f6833fff196d66e5 Merge: 2b0726c fe3f5dc Author: cchance Date: Fri Mar 6 14:39:46 2009 +1000 Merge commit 'acevery/master' commit fe3f5dc73f9b7f3655ab15c4cf52e8fac9dbef1d Author: 余钰炜 Date: Wed Mar 4 15:27:46 2009 +0800 hide speedmeter when engine is destroied commit df131abd2a9a71478437d2efccc8c22f44e19a62 Merge: 728bf4c 6b7ed8a Author: 余钰炜 Date: Wed Mar 4 00:47:54 2009 +0800 Merge branch 'master' of git@github.com:acevery/ibus-table commit 728bf4c45ccf1dd79e8afac937f2291b03cbfff4 Author: 余钰炜 Date: Wed Mar 4 00:44:12 2009 +0800 fix error included by last commit commit 69027a7aa8e5ca40ad67fe6e6afe11ae896cfa3b Author: 余钰炜 Date: Wed Mar 4 00:38:45 2009 +0800 fix -t .db mode bug commit 6b7ed8ab2ab27daef9656be741d667cfbf7a007a Author: Huang Peng Date: Sun Mar 1 11:17:31 2009 +0800 Test more arguments in ibus-engine-table script. commit dbdbbc6df91672f12748db17261dcf9789a2a909 Author: 余钰炜 Date: Sun Mar 1 08:11:55 2009 +0800 fix ibus-engine-table --xml bug commit c18330f7933e2c972b16a1cde4420d18d9fca21e Author: 余钰炜 Date: Mon Feb 23 19:29:32 2009 +0800 fix a bug reported by Wenping Guo commit 3780ce03d1cd430aab8ddb359541a046a5ce557f Author: 余钰炜 Date: Mon Feb 23 19:09:01 2009 +0800 hide speedmeter as default commit 95b2ae32e6a555c39a16dead658df0d08ce518cc Author: 余钰炜 Date: Fri Feb 20 23:11:57 2009 +0800 put sm.Quit() into try commit ded9214f0ec7fa1577a11d62211886984e0d4ff7 Author: 余钰炜 Date: Fri Feb 20 23:08:26 2009 +0800 fix ime_property cache bug commit 8e062065efff58de5303c3f96c4b49fbb279d394 Author: 余钰炜 Date: Fri Feb 20 22:47:56 2009 +0800 improve db file usage, try to fix issue271 commit 8c0d24fc98dd8ca68ce6aaf69362ebf2c61cb838 Author: 余钰炜 Date: Fri Feb 20 09:40:01 2009 +0800 add ctrl+' as hotkey to show/hide speedmeter commit 111eb3fa30d801c58871713ee269e81395d5d29d Author: 余钰炜 Date: Fri Feb 20 08:48:35 2009 +0800 fix xml generating bug with cangjie and erbi commit 1956d74253fa861283e09f6bced3ca401529e344 Author: 余钰炜 Date: Thu Feb 19 21:16:09 2009 +0800 use xml.etree instead of elementtree commit 2b0726ce00c2a9512d58b90cb94e3b95481a1ec1 Merge: 3a5330a e8ccd01 Author: Caius "kaio" Chance Date: Thu Feb 19 15:06:06 2009 +1000 RE-Merge commit 'acevery/master' Conflicts: doc/Makefile.am engine/Makefile.am engine/table.xml.in.in commit e8ccd0137d01f615dbd92fce41d1d49b77d39796 Author: 余钰炜 Date: Wed Feb 18 21:58:16 2009 +0800 fix typo commit 14e38433a759baf4d4559bfbbd0a598e310eea4f Author: 余钰炜 Date: Wed Feb 18 21:45:16 2009 +0800 add ibus version check commit 7742e4bb009d3872d38c888780fbf16b823fc127 Author: 余钰炜 Date: Wed Feb 18 21:36:24 2009 +0800 fix table/additional/Makefile.am commit 8b70a1596ad2802762394b358306f1280cfe3244 Author: 余钰炜 Date: Wed Feb 18 21:29:35 2009 +0800 update po commit 80fb3ff178e3bb85f759e1a9e9edf8969bcb13df Author: 余钰炜 Date: Wed Feb 18 21:27:14 2009 +0800 add Ctrl+; as chinese input mode hotkey commit 6fcc3a567746ab3fa17896dd46b873979cb36349 Author: 余钰炜 Date: Wed Feb 18 20:59:22 2009 +0800 fix speedmeter.py bug; readd latex.txt commit cb4192fc781003d04ca944e44cc21a497b337cec Author: 余钰炜 Date: Wed Feb 18 18:31:18 2009 +0800 update template.txt commit 9df5d19dab9762bd99caae496a0d5f5c4b2f194c Author: 余钰炜 Date: Wed Feb 18 16:55:52 2009 +0800 prepare to release commit 92103167a6ea103326d1dd00800e8f1a0c864bae Author: 余钰炜 Date: Wed Feb 18 15:52:16 2009 +0800 fix do_destroy bug commit 0193d86ae74ac34ee56d0038f426ffc759eb099a Merge: f7c1977 7c786b6 Author: 余钰炜 Date: Wed Feb 18 10:59:42 2009 +0800 update for ibus-1 commit 7c786b6d0e7e99252aa21ed7a5b3ede56e7fe654 Author: 余钰炜 Date: Wed Feb 18 10:14:08 2009 +0800 fix @VERSION@ commit e3a96308977de55853e0b6255f56d07572e5cdf6 Author: 余钰炜 Date: Wed Feb 18 10:07:34 2009 +0800 try to fix the xml eval bug commit 03db85e55a1b9c0ce5a4999ade7130e4a2195319 Author: 余钰炜 Date: Wed Feb 18 00:23:57 2009 +0800 fix configure.ac commit 0a0be88c6e33331491c50682fd13f550602af80b Author: 余钰炜 Date: Wed Feb 18 00:16:58 2009 +0800 step 4 commit 47f49932beac875f82fe93fc2b5ee9337c8e2d91 Author: 余钰炜 Date: Tue Feb 17 23:05:45 2009 +0800 step 3 commit 3a5330ace95f39020407492cdedf4262614a3042 Merge: f8b80b8 ffa04fe Author: Caius "kaio" Chance Date: Mon Feb 16 18:11:05 2009 +1000 Merge commit 'acevery/for_c_ibus_daemon' Conflicts: configure.ac data/Makefile.am doc/Makefile.am engine/Makefile.am engine/factory.py engine/ibus-engine-table.in engine/main.py engine/speedmeter.py engine/table.py icons/Makefile.am icons/additional/Makefile.am tables/Makefile.am tables/additional/Makefile.am commit ffa04fe490dd89a0ef8de2335ef5ad8971a2c265 Author: 余钰炜 Date: Mon Feb 16 00:07:01 2009 +0800 second step for ibus-1 commit f8b80b85b7a774a734720dd973574b9b77dee482 Merge: b1a8593 198cf85 Author: Caius Chance Date: Mon Feb 16 01:37:05 2009 +1000 Merge commit 'lidaobing/master' commit b1a85938c0aa38db91fb4d0c4f3835e7e4d9a3c0 Author: Caius Chance Date: Mon Feb 16 00:50:20 2009 +1000 added table spec xml commit 24f5090106d6c7ea8ec203bc428654d9db0b64de Author: 余钰炜 Date: Sun Feb 15 21:00:40 2009 +0800 remove something outdated commit bf272e43758e90a95ff8cda2c0256b3c02760ac5 Author: 余钰炜 Date: Sun Feb 15 16:26:11 2009 +0800 first step for ibus-1 commit e5ff74536114bde07ea4667921518f107c72f2e1 Author: 余钰炜 Date: Tue Jan 27 20:53:45 2009 +0800 fix pinyin mode bug when come to pinyin like "xiong" commit f7c1977a430bce98ceeb6ca2bfe01a4fe6c45b33 Author: 余钰炜 Date: Tue Jan 27 20:50:48 2009 +0800 fix pinyin mode bug when encounter pinyin like "xiong" commit c8784688bdb663440617117937bb6cde3387f758 Author: 余钰炜 Date: Mon Jan 5 18:20:06 2009 +0800 add maintainer mode; update pinyin to unihan 5.1 commit 497435380d9c3cfaccc563cff298802dcc78c838 Author: 余钰炜 Date: Mon Jan 5 18:12:33 2009 +0800 * Add Maintainer Mode; * update pinyin_table.txt.bz2 from Unihan Database 5.1 commit fa77370f08301b975277bc2ddb29547688dcbeda Author: 余钰炜 Date: Sun Jan 4 20:38:59 2009 +0800 fix License conflict commit 11f2139b46a8a8f11369965edbab0f30894052a3 Author: 余钰炜 Date: Sun Jan 4 20:06:56 2009 +0800 update README about new keys in PinYin mode commit b53e47565fc136f76a88f7dd0d76910c3243ede6 Author: 余钰炜 Date: Sun Jan 4 19:41:09 2009 +0800 remove latex.txt commit 5bc53da3bbe70a1b429833a4562fb058b4c8d74d Author: 余钰炜 Date: Sun Jan 4 19:40:28 2009 +0800 remove latex.txt commit ac65a87869cf4e7958c0c35e2d823859a5c8e9d4 Author: 余钰炜 Date: Sun Jan 4 17:28:49 2009 +0800 use new pinyin_table commit 6e5e93676bfbbfbcca9aaf1bade658a2269f7a33 Author: 余钰炜 Date: Sun Jan 4 19:10:22 2009 +0800 use new pinyin_table commit e279dde95643f76a6d70162e58dd472baa957864 Author: 余钰炜 Date: Sat Jan 3 23:31:21 2009 +0800 fix License conflict commit 198cf85c7ec2f498a95f49e49fd4af8ebce834c4 Author: LI Daobing Date: Sat Jan 3 14:52:37 2009 +0800 fix typo in README ChangJie -> CangJie commit 3d4042fd2ff4072ef29a1b806b88aadd018b0206 Author: 余钰炜 Date: Sun Dec 28 21:59:13 2008 +0800 fix focus bug commit cf3ca9b8f56843c4ebab2eafead986f6fc079b83 Author: 余钰炜 Date: Sat Dec 27 16:01:41 2008 +0800 port to ibus c daemon commit 2ee28efac54a3cc64c09d276e28085e60aee2025 Author: 余钰炜 Date: Wed Dec 17 00:54:29 2008 +0800 * fix get_preedit_string bug commit 246c8f0ead0b2c719b197c61ba23c71452fcbcd1 Author: 余钰炜 Date: Wed Dec 17 00:38:24 2008 +0800 * fix auto_commit bug under one candidate * fix get_preedit_string bug commit f4b959fc1028a45bd02c71937dbd3878a58869cc Author: 余钰炜 Date: Sun Dec 14 23:16:18 2008 +0800 Add MAINTAINERCLEANFILES commit bd3b567cdf86583b76c3f0f5241420fa2ce74bd1 Author: 余钰炜 Date: Sun Dec 14 21:38:44 2008 +0800 fix additional table icon bug commit 65a39b547317ed0cec1f7743d63d1ee4ebe1b8f6 Author: 余钰炜 Date: Sun Dec 14 16:25:05 2008 +0800 reset speedmeter when enable IME commit a06375e46132a020d8115e57121b38c7d99df14c Author: 余钰炜 Date: Fri Dec 12 12:10:13 2008 +0800 fix select_words but under Chinese filter commit 5eb048ee35e6e382ca5d281fac6cc303112dcfea Author: 余钰炜 Date: Thu Dec 11 01:03:40 2008 +0800 * use 60s as speed calculation time span * daemonize after dbus name checking commit 4783a0cbb63bade2c725da298ce473aeb7581d82 Author: 余钰炜 Date: Thu Dec 11 00:37:55 2008 +0800 add daemonize in speedmeter.py commit 0bc6cc3d88f1614b68f7d2eb4f91b235db63daec Author: 余钰炜 Date: Wed Dec 10 14:43:50 2008 +0800 modify icons commit c931507238526213b23f0278ab98ea93e2942d11 Author: 余钰炜 Date: Wed Dec 10 12:58:13 2008 +0800 fix gdk.Color init way, allow low version of gtk+ commit 3e699f3d45eb14c52a63d0225d8b51b7031a1b38 Author: 余钰炜 Date: Wed Dec 10 04:22:24 2008 +0800 record and restore SpeedMeter position when Hide/Show commit b503315133efa40a5a0c903b94414874f90917e8 Author: 余钰炜 Date: Wed Dec 10 03:39:46 2008 +0800 hide speedmeter when start commit 5acd9b0ac05f68d5a1f66d2fc7fbc39f254c3530 Author: 余钰炜 Date: Wed Dec 10 03:12:39 2008 +0800 Add speedmeter.py to calculate the input speed for user, and display it in a small widget via gtk+ and dbus :) now, we only take the the characters from tables into account, not include the punctuation After 3 days' learning about dbus-python and pygtk, Finally, complete my first GUI work, the speedmeter.py. Although it is very very tiny and simple :D commit d105e02394d7c74838173131933efe27ffcd4e96 Author: 余钰炜 Date: Sun Dec 7 13:30:24 2008 +0800 migrate user phrases to new user_db commit 33069172b63d0ca40b6ec69d325561fe12ff4f6b Author: Huang Peng Date: Fri Dec 5 16:24:05 2008 +0800 Remove tables from ibus-table. commit 35ca25ea97c083dccc6ce5de2f0b045047adc4ca Author: 余钰炜 Date: Fri Dec 5 14:48:11 2008 +0800 remove icons as well. commit 6bc4c99ae1067b7ca064f64d49e7a31bcf7a89fc Author: 余钰炜 Date: Fri Dec 5 14:45:58 2008 +0800 split Chinese tables out commit 05913922b0c8380526db4ffd34e356946ad60db5 Author: 余钰炜 Date: Thu Dec 4 16:44:51 2008 +0800 add $extradatadir in .pc commit 08ada5d9461c9b36fff4e0154f2983bb186b6ef2 Author: 余钰炜 Date: Thu Dec 4 16:35:19 2008 +0800 use pkgconfig to record metainfo commit 719c4f5dc8b30df8f95b4d0ade2dd464baef4b32 Merge: 814fd89 ea21559 Author: 余钰炜 Date: Wed Dec 3 21:43:38 2008 +0800 Merge branch 'master' of git@github.com:acevery/ibus-table commit ea21559409fa2210e9f9a9c58c960d951ff6da4e Author: acevery Date: Wed Dec 3 17:00:22 2008 +0800 fix direct commit bug; do not show cursor now and do not use arrow_up/down to move cursor in lookup_table commit 814fd89b777668515a72dfd56c246091a6162ae2 Author: 余钰炜 Date: Tue Dec 2 23:27:45 2008 +0800 allow specify icon file with runtime commit 59ae5f81c243b6b94161ca9d92f68e9805e1a227 Author: 余钰炜 Date: Tue Dec 2 22:44:37 2008 +0800 allow specify table database with abs path commit 55abf4d76d6aae602f86c33c6f1e6b3d76491329 Author: 余钰炜 Date: Tue Dec 2 20:01:04 2008 +0800 update_ui after arrow_up & arrow_down commit a0ed04e852259b058c7e9a26fe7f32e6853b9b8b Author: 余钰炜 Date: Tue Dec 2 15:31:12 2008 +0800 fix icon Makefile.am, fix a bit in wubi86.txt commit 51009d46e74121cc5e9cc37b5d35aae2c3efa08b Author: 余钰炜 Date: Tue Dec 2 09:20:47 2008 +0800 fix cm_mode property bug commit 2997f327acf3c2e2f4b95b861f8189cfa65c72f3 Author: 余钰炜 Date: Sun Nov 30 13:06:47 2008 +0800 fix duplicate chars in zhengma.txt commit c40588c5f92eecf9cd7a39fe9f4c04a84dab48e4 Author: 余钰炜 Date: Sat Nov 29 21:02:40 2008 +0800 fix pinyin mode bug, call update_ui before commit_string commit 59f65b0e5ab973d3e6ce36b14312d64e4ccafaaa Author: 余钰炜 Date: Sat Nov 29 15:22:35 2008 +0800 put back the two incompatible phrases into wubi86 only commit 69fc666c94d504f85a5bf4f3b38caa4691b637a3 Author: 余钰炜 Date: Sat Nov 29 14:59:08 2008 +0800 remove incompatible phrases commit 404fbcb0be0f22588d1a49b0ea3223a397c55f2b Author: 余钰炜 Date: Sat Nov 29 12:52:27 2008 +0800 update wubi86 and cangjie5 tables commit e48ffc05548489d1e29414b30a1e3b2761cc23b2 Author: 余钰炜 Date: Sat Nov 29 12:47:29 2008 +0800 Add Chinese punctuations and other un-need-checked chars into tabdict commit 68ec5e8295aab51a2404e2b77f7b0890cff8392b Author: 余钰炜 Date: Sat Nov 29 09:55:25 2008 +0800 fix filter_candidate bug commit af5bda974cde8436f4ac4523ddc1c33e96bc2369 Author: 余钰炜 Date: Sat Nov 29 09:21:44 2008 +0800 group 〇 as Simplify Chinese as well commit 0fbf8fb630362bada3a5353e04e801c87b8ce26c Author: 余钰炜 Date: Fri Nov 28 17:09:12 2008 +0800 update canjie5 table by issue 158 commit b74d405ea55038032e884a02835ba28fc781ab9f Author: 余钰炜 Date: Wed Nov 26 21:50:45 2008 +0800 Update zh_CN.po commit 9a694d934f89f2c6194a41115910e104f8268cac Author: 余钰炜 Date: Wed Nov 26 21:50:06 2008 +0800 fix remove_phrase bug cause by "category" key commit dcdef990b0744511f83981d2b5a1e6c24686bbe7 Author: 余钰炜 Date: Wed Nov 26 11:39:25 2008 +0800 fix chinese mode bug in check_phrase, add normal big charset mode commit 0b88176c15283511a3445d8d8a5359b55f5b54f7 Author: 余钰炜 Date: Wed Nov 26 11:18:33 2008 +0800 reset after change Chinese mode commit b3975772916c2d3854d53ec7093f05114bd783a8 Author: 余钰炜 Date: Wed Nov 26 11:06:27 2008 +0800 fix a bit logical miss :) commit b56ec3280ffc7d39bb0c9e709972c0f52b287e64 Author: 余钰炜 Date: Wed Nov 26 11:02:48 2008 +0800 Add Simplify/Traditional Chinese input mode commit 663223e93ddf3dea3f9fbf4e28cfa3d6c1a49361 Author: 余钰炜 Date: Wed Nov 26 02:26:08 2008 +0800 fix bugs come along with \"category\" key, fix sys.stderr bug, fix lookuptable color bug commit 439ea7577c35729f09426efaad26a9612f097dd2 Author: 余钰炜 Date: Tue Nov 25 00:13:56 2008 +0800 add category bitmask integer into phrases table commit 36972649aff0807404635b9cbb8082a3374fe1d7 Author: 余钰炜 Date: Mon Nov 24 22:19:28 2008 +0800 replace tab with 4 space commit 55bcbdf5c2298d0b269b222eaf6b62a77d82b29a Author: 余钰炜 Date: Sun Nov 16 13:18:27 2008 +0800 use possible phrase key lengths to determine commit or not, fix some phrase in extra_phrase commit 1f54e735af72265e768805837d5f2027e9f93ca5 Author: 余钰炜 Date: Sat Nov 15 20:47:47 2008 +0800 add CJK-B, CJK-C support for ZhengMa commit aa0284854899a0dba613fcf307b2cb28653151e0 Author: 余钰炜 Date: Sat Nov 15 20:34:08 2008 +0800 fix pharse_phrase bug when no goucima available commit da9f8c4a0c41e44869dad084ce476f7582f7d586 Author: 余钰炜 Date: Fri Nov 14 20:24:29 2008 +0800 fix COPYING and update README commit 0a5c3224405d06866b77a107282d8b9657c8a559 Author: 余钰炜 Date: Wed Oct 29 19:21:59 2008 +0800 fix contrl+space bug commit cbe11141cc1c762de1c008df40d4db2230f3b954 Author: 余钰炜 Date: Thu Oct 23 00:31:23 2008 +0800 support punctuation direct commit in IME like ErBi commit fafda37d74eb293117281c145e98e9fde9ac4b82 Author: Huang Peng Date: Fri Oct 17 15:34:01 2008 +0800 Add some new icons in spec file. And rename extra_phrases file name. commit 5d58230816adad3dd56a243a2cccc5d0475065e0 Author: 余钰炜 Date: Thu Oct 9 21:59:35 2008 +0800 fix add_phrases logic error commit b869de8b79de16e17a80acf0c576eb084d0b5a25 Author: 余钰炜 Date: Thu Oct 9 21:30:13 2008 +0800 fix typo commit d65231aafa3fd5707b2f8d2555ad030bb6ba5f20 Author: 余钰炜 Date: Thu Oct 9 20:56:05 2008 +0800 apply hashao's patch commit 6afe7a0933e97223a1cf5d6cc6ef07b191e5fc92 Author: 余钰炜 Date: Tue Sep 23 09:44:58 2008 +0800 fix extra_phrase rename error in Makefile.am commit 74107088584f5b8fc8e60a1c94f0e5e69172b1b1 Merge: 5a6a517 ed88e42 Author: 余钰炜 Date: Mon Sep 22 21:03:04 2008 +0800 Merge branch 'master' of git@github.com:acevery/ibus-table commit 5a6a517e719c3d017b94067e5c5c457bd449447a Author: 余钰炜 Date: Mon Sep 22 21:01:28 2008 +0800 compress extra_phrase.txt commit ed88e422aecd3cf4d6e4b4671785e9f3d35743f1 Author: Huang Peng Date: Sat Sep 20 08:03:10 2008 +0800 Fix syntax error. commit 5afe835152ff9a363536e45187645a8be1eac708 Author: 余钰炜 Date: Thu Sep 18 22:47:50 2008 +0800 fix a direct commit bug commit 8b0b8f773146f2212a8e700ac1093dff96060cda Merge: 8760d94 bcf8109 Author: 余钰炜 Date: Thu Sep 18 22:44:56 2008 +0800 Merge branch 'master' of git@github.com:acevery/ibus-table commit bcf8109b174f170562a1c9e9b4a9ce6c9818ff0e Merge: b07dbaf 40eda9c Author: Huang Peng Date: Sun Sep 14 16:44:56 2008 +0800 Merge commit 'acevery/master' commit b07dbaf7de9092213b5ec84635d08b1fc9c5ea43 Author: Huang Peng Date: Fri Sep 12 07:52:12 2008 +0800 Add debian packaging files by 一叶 . commit 8760d94ddcc5063a1433a7eed994cd85883f509d Author: 余钰炜 Date: Fri Sep 12 00:28:54 2008 +0800 use new Cangjie5 icons as Caius Chance provided commit 40eda9c1fe2e93f3f6fe352a84c45d908aeec303 Author: 余钰炜 Date: Thu Sep 11 21:27:14 2008 +0800 fix user_define phrase related bugs commit 635fbae81756548cb30bbf39e0ee2f6621f3faeb Author: 余钰炜 Date: Thu Sep 11 11:00:47 2008 +0800 fix max input length error commit f2d8600ac8164d29c6a3f97074b94111ac40da16 Author: 余钰炜 Date: Mon Sep 8 07:36:09 2008 +0800 fix typos, fix invalid input bug commit 275c364a2738bbf4e83cc9ade6c93cf4ffd4055d Author: 余钰炜 Date: Sun Sep 7 02:25:16 2008 +0800 enhance direct input mode and fix some bugs commit f3ff6b02ab4158c2871cd004a84e4040f883ea81 Author: 余钰炜 Date: Sat Sep 6 14:08:32 2008 +0800 fix pinyin mode icon error via numkey commit commit b0d3889cb263e132fd545b432fbcae1d37661a9d Author: 余钰炜 Date: Sat Sep 6 13:12:58 2008 +0800 fix typo commit 6592e19ebdaf72905fb5ded44ac6da4053400808 Author: acevery Date: Fri Sep 5 11:48:07 2008 +0800 ignore numlock mask commit 0f48addc70c9beef5cc1f9aa3c7f917c097305e0 Author: 余钰炜 Date: Fri Sep 5 02:41:17 2008 +0800 update po commit 43c42c7420cca1de98b4dc33a2516418dcbccddb Author: 余钰炜 Date: Fri Sep 5 02:32:48 2008 +0800 Add direct commit function, fix pinyin mode panel refresh bug commit cb2df9bea0cfd5e67fac30b52feebf99692f6534 Author: 余钰炜 Date: Fri Sep 5 00:43:39 2008 +0800 fix po typos commit 1ff713d982aa84cc6934b34f7cea99f33d89bde9 Author: 余钰炜 Date: Thu Sep 4 17:05:11 2008 +0800 Add missing icons commit ee0e4ceb9b60d7180255fa79d0521a18c0b4f92a Author: Huang Peng Date: Mon Sep 1 10:52:47 2008 +0800 Fix problem in spec file. commit a40f0ac150e4a7acf77070a64e229cee417b8dfd Author: Huang Peng Date: Mon Sep 1 10:52:09 2008 +0800 Update po file. commit c37ea4692abb7fc4aa2cbd802a20576d617a6c60 Author: Huang Peng Date: Mon Sep 1 10:34:35 2008 +0800 Do not install ibus-table.engine commit dd957df4bc51b571be49b715701fe2a53478d528 Author: 余钰炜 Date: Sun Aug 31 13:44:34 2008 +0800 fix str encode error commit f09ead162bdc94fcff000aec6ce997e2c9b5518f Author: 余钰炜 Date: Sun Aug 31 13:14:26 2008 +0800 convert some tables for extra_phrase commit 4e98c9e4531caaa7d8419a4d3304f53c5c12ca32 Author: 余钰炜 Date: Sun Aug 31 12:05:30 2008 +0800 use memory to cache goucima commit f4a9bd6a5c35689cf30753e072ae25a8962ed84e Author: 余钰炜 Date: Sun Aug 31 10:59:18 2008 +0800 Add tabcreatedb.py from origin commit f7289fb312ec8cb421b4101cd928ab7849e86408 Merge: fb6858a 62af461 Author: 余钰炜 Date: Sun Aug 31 10:51:49 2008 +0800 remove conflict one commit fb6858af2a479838d2b7ec7cdbb7ec9bd6fd0878 Author: 余钰炜 Date: Sun Aug 31 10:46:41 2008 +0800 merge from origin commit 8d138bb09dccae010bac91e40a0b62ded613872d Author: 余钰炜 Date: Sun Aug 31 10:16:46 2008 +0800 fix extra phrases add error commit 62af4617c95d882826b32b3449689a4824713111 Author: Huang Peng Date: Sun Aug 31 09:21:24 2008 +0800 Change name of wubi86.txt commit 6539c694f32fe02b912c0fdacde380bfcb42569b Author: Huang Peng Date: Sun Aug 31 09:20:01 2008 +0800 Fix problem when create db commit c823c14075231331f9789239e60bce7db8fd7ac7 Author: Huang Peng Date: Sun Aug 31 08:57:07 2008 +0800 Get Name from .txt table files. commit 020920c335d9cd332820caadfe129ed724f8364a Author: 余钰炜 Date: Sat Aug 30 14:23:27 2008 +0800 fix latex.txt format error, improve table.py commit a25477589afddb0a8f4c4615f7e10c64d202f4ac Author: 余钰炜 Date: Sat Aug 30 02:32:20 2008 +0800 fix cangjie5.db generating error commit 82c814ff4cbf699366208f2bcc0cc4c813eb43e0 Author: 余钰炜 Date: Sat Aug 30 01:50:49 2008 +0800 change word adding method for extra_phrases commit ab8eb60c7a0c790989b81208662b9edf7c181db5 Author: 余钰炜 Date: Fri Aug 29 23:29:06 2008 +0800 remove swp file commit b4c2492f0dc8ea769a419d5d3830f734834668ab Author: 余钰炜 Date: Fri Aug 29 23:28:42 2008 +0800 Add chinese.svg and english.svg from ibus-pinyin commit 403a743e2d3febd807b5a05d85abb7f58a2c31da Author: Huang Peng Date: Fri Aug 29 19:03:55 2008 +0800 Rename erbi-qs.txt to erbi_qs.txt. commit 97738a27e1d3b2f7edb04ae1fbacbb917cbaff4f Author: Huang Peng Date: Fri Aug 29 17:02:04 2008 +0800 Update rpm spec file. commit 479eb0eaff02c233d969bdf01a440876542f06a0 Author: Huang Peng Date: Fri Aug 29 16:52:38 2008 +0800 Refine code style. commit 9a6d01547b3b4a656e6da28787eeb17e00fdce83 Author: Huang Peng Date: Fri Aug 29 16:51:51 2008 +0800 Fix a typo. commit fd1add4d979c3b9dc0c9af87435fc6ca3d0fb881 Author: Huang Peng Date: Fri Aug 29 16:51:35 2008 +0800 Fix a typo. commit dcdbf15740a6f2a9b005754add1d44deb1c01469 Author: Huang Peng Date: Fri Aug 29 16:09:47 2008 +0800 Add MAKEDISTFLAGS. commit cfae572b72c4a83127fe4b3ab22563f18ba8cd49 Author: Huang Peng Date: Fri Aug 29 16:09:34 2008 +0800 Fix `make dist` error. commit 9becfd13ed005ee2919482f9d6fca704cb782090 Author: Huang Peng Date: Fri Aug 29 15:49:52 2008 +0800 Fix wrong icon names. commit 809ad15300671bac782834824608aa0bdd8477f5 Author: Huang Peng Date: Fri Aug 29 15:49:33 2008 +0800 Clean *.engine when 'make distclean' commit ec71b915a73d3fdb7bd95f58490726b2f96a3aec Author: Huang Peng Date: Fri Aug 29 13:19:16 2008 +0800 Fix build errors. commit 24c40894f94a8f4b4ee8ef8d32df76880b41e2d8 Author: 余钰炜 Date: Fri Aug 29 09:13:15 2008 +0800 show configure options commit 050b4d01b8dd44492ae52caeaceb964ec0dacb49 Author: 余钰炜 Date: Fri Aug 29 03:10:53 2008 +0800 put all message of tabcreatedb.py into debug_print. First time, buildable :) commit 59760cf8c55d4801b5d48143b78b3b5ad5afdc82 Author: 余钰炜 Date: Fri Aug 29 03:03:25 2008 +0800 try to fix makefile rules commit ef01e73c8997e4a50e1138bdddd3a060c2dc79ec Author: 余钰炜 Date: Fri Aug 29 02:59:24 2008 +0800 try to fix makefile rules commit c0b3c546d73c508bf3810e93c8a1db196120f8cb Author: 余钰炜 Date: Fri Aug 29 02:50:49 2008 +0800 try to fix makefile rules commit b8644788b8c24f8922036bb5f05b57c0a2b39dd1 Author: 余钰炜 Date: Fri Aug 29 02:48:11 2008 +0800 try to fix makefile rules commit 1fb85e462333cf867eb05b5af48ec6c147f1c534 Author: 余钰炜 Date: Fri Aug 29 02:41:34 2008 +0800 try to fix makefile rules commit e17e79b756449b91fdef7cedc8e42a0728df6156 Author: 余钰炜 Date: Fri Aug 29 02:39:27 2008 +0800 try to fix makefile rules commit a869c9cac7dfa70bcba07171ce971171c6d32223 Author: 余钰炜 Date: Fri Aug 29 02:11:07 2008 +0800 try to fix makefile rules commit 46f56275fe1a836a66763afca9fbfc1bc74de889 Author: 余钰炜 Date: Fri Aug 29 02:09:30 2008 +0800 try to fix makefile rules commit 0fd11974099aa26ef965a7c4f2bc2ec2f5e4d8b5 Author: 余钰炜 Date: Fri Aug 29 01:58:37 2008 +0800 fix some error in tabcreatdb.py and some Makefile.am commit 66a3d0135c84c93c4a4030001370dd64454907cc Author: 余钰炜 Date: Fri Aug 29 01:56:33 2008 +0800 fix some error in tabcreatdb.py and some Makefile.am commit 83d6a3ee501c10bae8e05373bce2979c6a4e7680 Author: 余钰炜 Date: Fri Aug 29 01:50:04 2008 +0800 fix Makefile.am error commit e3423d49ba74862c06eef66618f0d29ed4481c0b Author: 余钰炜 Date: Fri Aug 29 01:41:55 2008 +0800 fix some error in tabcreatdb.py and some Makefile.am commit 68f7ca3cec3489bdbe88d71a1e5917dc17a101aa Author: 余钰炜 Date: Fri Aug 29 01:22:19 2008 +0800 fix some Makefile.am error commit 37abb85e16ec950f9bad0db5da0196c8357a754a Author: 余钰炜 Date: Fri Aug 29 01:18:42 2008 +0800 fix some Makefile.am error commit 03adc49608f96e56752f9b66e571f9172bfb61d3 Author: 余钰炜 Date: Fri Aug 29 01:15:15 2008 +0800 fix some Makefile.am error commit f030d8659cbaffe72d7cad5767c4eb105a488292 Author: 余钰炜 Date: Fri Aug 29 00:54:55 2008 +0800 add tables and icons into respo commit 5788a2abe5571ead36cef99b87853ffbb90f9652 Author: 余钰炜 Date: Thu Aug 28 01:35:27 2008 +0800 fix 0 freq entry bug commit 2f099bdbc2592528554edf4af5c19db364605c28 Author: Huang Peng Date: Wed Aug 27 09:31:30 2008 +0800 Update zh_CN.ppo commit 957bc692030deb1073fa4d7c2c6cc5dabe1c8b1e Author: Huang Peng Date: Wed Aug 27 09:08:59 2008 +0800 Fix problem when generate .engine. commit 871d6209ff271a7de564db308326b945dab0863e Author: Huang Peng Date: Wed Aug 27 08:36:41 2008 +0800 Replace -k with -d. commit f93486774275a62bb77f4d665bce55e9cb348ce5 Author: Huang Peng Date: Wed Aug 27 08:34:24 2008 +0800 Use absolute path for Icon in engine. commit c0d3a99ba310c22d4f85fc02702fcb7358ab0649 Author: Huang Peng Date: Wed Aug 27 07:48:05 2008 +0800 Use @datarootdir@ replace @datadir@ commit c28de9d2bb926e5837acd20d63e66dd61aca271d Author: 余钰炜 Date: Tue Aug 26 23:54:38 2008 +0800 update po file commit e2db33b07a91289863f3792045d59f7f76ee50e4 Author: 余钰炜 Date: Tue Aug 26 23:13:10 2008 +0800 try to remove ibus-table.pot commit 86382f1b44c682e3b2f7f88f418abb39b28333d2 Author: 余钰炜 Date: Tue Aug 26 23:00:17 2008 +0800 subtitute some @prefix@ in .in files commit 941184834b8bf672b7361afa1f0a0dad1bcc0e5c Author: 余钰炜 Date: Tue Aug 26 22:29:25 2008 +0800 fix @bindir@ error commit 76870cde13e89807bfdd9ccab5fc9780683c1efe Author: 余钰炜 Date: Tue Aug 26 21:59:41 2008 +0800 fix path error commit 8ddd5057fa53c203200f9a31c83e033d84f6a741 Author: 余钰炜 Date: Tue Aug 26 20:55:55 2008 +0800 add dynamic_adjust attribute in table database commit 091b9801c24881f8a654ae56b8355e8bf1d6e4bb Author: 余钰炜 Date: Tue Aug 26 19:59:59 2008 +0800 Directly generate table.engine from tabcreatedb.py commit d9f0a97d5d70712c01d4c79417344a7bdfc905fb Author: 余钰炜 Date: Tue Aug 26 11:12:04 2008 +0800 Optional commit in add_phrase commit a27d4509f81f7f2b98a6e152261a74ea7c6430ef Author: Huang Peng Date: Tue Aug 26 07:33:37 2008 +0800 Add maintainor-mode. commit be9692a7e4719779172f80291e1b80a20e56ec91 Author: 余钰炜 Date: Mon Aug 25 02:07:44 2008 +0800 remove extra a.patch commit ed093d011d391e694e755c05dfca6409befff645 Author: 余钰炜 Date: Mon Aug 25 01:51:18 2008 +0800 fix do_destroy bug and add freq fix support for special chars commit 0b76604e236b358423737b21da94eb3ccaf8b955 Author: Huang Peng Date: Sun Aug 24 07:51:25 2008 +0800 Change table-createdb to ibus-table-createdb in spec file. commit dc09bc78702d42e5f74b13d86a1d665b58e4423e Author: 余钰炜 Date: Sun Aug 24 02:14:32 2008 +0800 fix Makefile.am error commit 73c7265bca2aee9602ad5809192ce285d0153dd3 Author: 余钰炜 Date: Sun Aug 24 02:10:12 2008 +0800 support single character/phrase shift on fly commit 478f30eafd1b6990938ec57dd817a9725d0b1dd9 Author: Huang Peng Date: Sat Aug 23 11:19:00 2008 +0800 Fix errors of rpmlint checking. commit 312417db8c8f51488f9e3592921e14593db1715f Author: Huang Peng Date: Sat Aug 23 11:05:39 2008 +0800 Refine spec file. commit ecafcc887dd5b6c891ae382e29e2ebc10a216ca8 Author: Huang Peng Date: Fri Aug 22 12:37:28 2008 +0800 Fix make rpm error. commit 5c13ed994e5f5a8275a6a204c5b12824753f424b Author: 余钰炜 Date: Fri Aug 22 01:15:31 2008 +0800 support adding extra words during creating dababase commit cffbb866304cdec1654251958d9610eaba6d5065 Merge: 7010cda 3f1ee02 Author: 余钰炜 Date: Fri Aug 22 00:30:01 2008 +0800 Merge git://github.com/phuang/ibus-table commit 7010cda24d92b6468dd939f39b80e42d88baeb19 Author: 余钰炜 Date: Fri Aug 22 00:29:37 2008 +0800 remove swp file commit 459987343e890b36710e73e22feb474e275754e2 Author: 余钰炜 Date: Fri Aug 22 00:29:13 2008 +0800 prepare to support extra words source commit e334c1ddd254eafdbc4fa555ff7a3b038cd4aacf Author: 余钰炜 Date: Thu Aug 21 22:59:29 2008 +0800 prepare to support extra db commit 3f1ee021d8507af8f527d28cce844ce1d2a05c17 Author: Huang Peng Date: Thu Aug 21 22:33:49 2008 +0800 Fix error during `make distcheck` commit b931da2efd3345acaba041f11c7bcad87a731113 Author: 余钰炜 Date: Wed Aug 20 22:49:24 2008 +0800 know how to fix gvim, so roll back commit b7382ac546cd0dd408d8f06f99dac99cad01ee48 Author: 余钰炜 Date: Wed Aug 20 21:13:47 2008 +0800 fix to input space in gvim-7.2 commit 8f7dd83421203bf311a2544049a2d65a195944b9 Author: 余钰炜 Date: Wed Aug 20 01:03:08 2008 +0800 fix IBUS_TABLE_LOCATION commit 933d3de3ac2e460bdbec0799f8dba87019fd53e2 Author: 余钰炜 Date: Wed Aug 20 00:47:51 2008 +0800 remove swp file commit cf9a773fbc5c206933ca56f6bacf9434562a3114 Author: 余钰炜 Date: Wed Aug 20 00:46:57 2008 +0800 fix gettext missing in factory.py commit 1e277eb72e11b9fddfa39874577fc3a5ea51fc96 Author: 余钰炜 Date: Wed Aug 20 00:31:54 2008 +0800 fix tabcreatedb commit 7313136c82d0a41d9f569650975dabb28d6ebba8 Author: 余钰炜 Date: Wed Aug 20 00:17:58 2008 +0800 fix tabsqlitedb error when creatding db commit 0ec24318dc9294e427a0008c918e5395726a39b0 Author: 余钰炜 Date: Tue Aug 19 22:55:53 2008 +0800 fix Makefile.am error commit 7d265d1c62b097449a0e61b0c8198b6523a01a99 Author: 余钰炜 Date: Tue Aug 19 22:53:50 2008 +0800 add pinyin_table into resipotory commit fda45a06aa61bc9f55e93595e9dd61c4c7750262 Author: 余钰炜 Date: Tue Aug 19 22:44:29 2008 +0800 add table-createdb.in for database creation commit 6cf3c2d28cea1d6a158b478bb0edb0b5fac10e1b Author: 余钰炜 Date: Tue Aug 19 22:18:54 2008 +0800 modify icon commit b29366276264537a5ce7a2259ff57989b8143003 Author: 余钰炜 Date: Tue Aug 19 21:12:02 2008 +0800 transform charctor to path in ibus-table.svg commit 956cb9073fba5a08681e7193f72c1192c06fac96 Author: 余钰炜 Date: Tue Aug 19 21:07:40 2008 +0800 Modify some icons commit 8e4c8f7aedc0a77dccaaf0e970ca404c14969dab Author: 余钰炜 Date: Tue Aug 19 18:41:17 2008 +0800 try to fix po version warming commit fc32e94722f4d82638427ea6f05bf2cbbaa57185 Author: 余钰炜 Date: Tue Aug 19 18:39:42 2008 +0800 add doc into root Makefile.am commit dc624433ac32e3faf3f5d532a72d050a1605a683 Author: 余钰炜 Date: Tue Aug 19 18:36:28 2008 +0800 remove swp file commit 5b0e5647901b7802763e64b71fb7b16941d6d500 Author: 余钰炜 Date: Tue Aug 19 18:36:03 2008 +0800 fix Makefile.am error commit c1efb1b9a67b090a68df132e0c9e98631b15fc1b Author: 余钰炜 Date: Tue Aug 19 18:29:21 2008 +0800 move table.engine as doc file commit 26856137e940fdab3e946e2677234e0a997a44b4 Author: 余钰炜 Date: Tue Aug 19 16:18:31 2008 +0800 fix configure error commit d25074c7e1a4b8a904933ba4f048fba72e4ca76c Author: 余钰炜 Date: Tue Aug 19 16:12:52 2008 +0800 fix po verion commit 748157a6de1099e1487892ed36315f81cb16e3cf Author: 余钰炜 Date: Tue Aug 19 16:10:16 2008 +0800 add tables dir into configure.ac commit fd4bbd80e6c0456eb92b3e0856a662cc35ceb28b Author: 余钰炜 Date: Tue Aug 19 16:06:18 2008 +0800 fix icons/Makefile.am commit ee04390b1f8c2081317a551d47def5ca76498ff1 Author: 余钰炜 Date: Tue Aug 19 16:05:46 2008 +0800 Add ibus-table.svg commit cd3c5583987b2677098cdb72b6ede1791f251a05 Author: 余钰炜 Date: Tue Aug 19 15:36:15 2008 +0800 fix name error commit 9973c8f6953f02fb4855aa1d7baf5e48d694f8f7 Author: 余钰炜 Date: Tue Aug 19 15:28:44 2008 +0800 few correction commit a2d13d711ec725616b67d2b4a8f847e34cc6c357 Author: 余钰炜 Date: Tue Aug 19 15:25:27 2008 +0800 prepare to try the first make commit fd49ded87284c0a7d46282cb8f26d8f387161dcc Author: 余钰炜 Date: Tue Aug 19 10:20:48 2008 +0800 Add some files commit 3924a9befdb6a50b3e9344079242ae338488ccec Author: 余钰炜 Date: Tue Aug 19 09:51:48 2008 +0800 prepare to run aclocal and autoconf commit 4f68472801951c9cd9537c850d3d681571833908 Author: 余钰炜 Date: Tue Aug 19 09:25:32 2008 +0800 Init repository ibus-table-1.5.0.20130419/ABOUT-NLS0000644002345600234560000023334012134204556012643 000000000000001 Notes on the Free Translation Project *************************************** Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that free software will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. 1.1 Quick configuration advice ============================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. 1.2 INSTALL Matters =================== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU `gettext' functions. If not, the included GNU `gettext' library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will, respectively, bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl.a' file and will decide to use this. This might not be desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. Internationalized packages usually have many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. 1.3 Using This Package ====================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate `LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, and `CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of `LL_CC', with `LL' denoting the language and `CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as `LL' or `LL_CC.ENCODING'. You can get the list of locales supported by your system for your language by running the command `locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' for the purpose of message handling, but you still need to have `LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. Special advice for Norwegian users: The language code for Norwegian bokma*l changed from `no' to `nb' recently (in 2003). During the transition period, while some message catalogs for this language are installed under `nb' and some older ones under `no', it's recommended for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and older translations are used. In the `LANGUAGE' environment variable, but not in the `LANG' environment variable, `LL_CC' combinations can be abbreviated as `LL' to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. 1.4 Translating Teams ===================== For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, `http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `translation@iro.umontreal.ca' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skills are praised more than programming skills, here. 1.5 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of October 2006. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo +----------------------------------------------------+ GNUnet | [] | a2ps | [] [] [] [] [] | aegis | () | ant-phone | () | anubis | [] | ap-utils | | aspell | [] [] [] [] [] | bash | [] [] [] | batchelor | [] | bfd | | bibshelf | [] | binutils | [] | bison | [] [] | bison-runtime | | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | [] [] | coreutils | [] [] [] | cpio | | cpplib | [] [] [] | cryptonit | [] | darkstat | [] () [] | dialog | [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] | doodle | [] | e2fsprogs | [] [] | enscript | [] [] [] [] | error | [] [] [] [] | fetchmail | [] [] () [] | fileutils | [] [] | findutils | [] [] [] | flex | [] [] [] | fslint | [] | gas | | gawk | [] [] [] | gbiff | [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] | gimp-print | [] [] [] [] | gip | [] | gliv | [] | glunarclock | [] | gmult | [] [] | gnubiff | () | gnucash | () () [] | gnucash-glossary | [] () | gnuedu | | gnulib | [] [] [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] | gpe-conf | [] [] | gpe-contacts | | gpe-edit | [] | gpe-filemanager | | gpe-go | [] | gpe-login | [] [] | gpe-ownerinfo | [] [] | gpe-package | | gpe-sketchbook | [] [] | gpe-su | [] [] | gpe-taskmanager | [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | | gphoto2 | [] [] [] [] | gprof | [] [] | gpsdrive | () () | gramadoir | [] [] | grep | [] [] [] [] [] [] | gretl | | gsasl | | gss | | gst-plugins | [] [] [] [] | gst-plugins-base | [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] [] [] | gtick | () | gtkam | [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] | id-utils | [] [] | impost | | indent | [] [] [] | iso_3166 | [] [] | iso_3166_2 | | iso_4217 | [] | iso_639 | [] [] | jpilot | [] | jtag | | jwhois | | kbd | [] [] [] [] | keytouch | | keytouch-editor | | keytouch-keyboa... | | latrine | () | ld | [] | leafpad | [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] | libgpg-error | [] | libgphoto2 | [] [] | libgphoto2_port | [] [] | libgsasl | | libiconv | [] [] | libidn | [] [] | lifelines | [] () | lilypond | [] | lingoteach | | lynx | [] [] [] [] | m4 | [] [] [] [] | mailutils | [] | make | [] [] | man-db | [] () [] [] | minicom | [] [] [] | mysecretdiary | [] [] | nano | [] [] [] | nano_1_0 | [] () [] [] | opcodes | [] | parted | | pilot-qof | [] | psmisc | [] | pwdutils | | python | | qof | | radius | [] | recode | [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] [] | sed | [] [] [] | sh-utils | [] [] | shared-mime-info | [] [] [] [] | sharutils | [] [] [] [] [] [] | shishi | | silky | | skencil | [] () | sketch | [] () | solfege | | soundtracker | [] [] | sp | [] | stardict | [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] | texinfo | [] [] [] | textutils | [] [] [] | tin | () () | tp-robot | [] | tuxpaint | [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | vorbis-tools | [] [] [] [] | wastesedge | () | wdiff | [] [] [] [] | wget | [] [] | xchat | [] [] [] [] [] [] | xkeyboard-config | | xpad | [] [] | +----------------------------------------------------+ af am ar az be bg bs ca cs cy da de el en en_GB eo 10 0 1 2 9 22 1 42 41 2 60 95 16 1 17 16 es et eu fa fi fr ga gl gu he hi hr hu id is it +--------------------------------------------------+ GNUnet | | a2ps | [] [] [] () | aegis | | ant-phone | [] | anubis | [] | ap-utils | [] [] | aspell | [] [] [] | bash | [] [] [] | batchelor | [] [] | bfd | [] | bibshelf | [] [] [] | binutils | [] [] [] | bison | [] [] [] [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | | coreutils | [] [] [] [] [] [] | cpio | [] [] [] | cpplib | [] [] | cryptonit | [] | darkstat | [] () [] [] [] | dialog | [] [] [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] [] | enscript | [] [] [] | error | [] [] [] [] [] | fetchmail | [] | fileutils | [] [] [] [] [] [] | findutils | [] [] [] [] | flex | [] [] [] | fslint | [] | gas | [] [] | gawk | [] [] [] [] | gbiff | [] | gcal | [] [] | gcc | [] | gettext-examples | [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] | gimp-print | [] [] | gip | [] [] [] | gliv | () | glunarclock | [] [] [] | gmult | [] [] [] | gnubiff | () () | gnucash | () () () | gnucash-glossary | [] [] | gnuedu | [] | gnulib | [] [] [] [] [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] [] [] | gpe-conf | [] | gpe-contacts | [] [] | gpe-edit | [] [] [] [] | gpe-filemanager | [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] [] [] [] | gpe-package | [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] [] | gpe-taskmanager | [] [] [] | gpe-timesheet | [] [] [] [] | gpe-today | [] [] [] [] | gpe-todo | [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] [] | gpsdrive | () () [] () | gramadoir | [] [] | grep | [] [] [] [] [] [] [] [] [] [] [] [] | gretl | [] [] [] | gsasl | [] [] | gss | [] | gst-plugins | [] [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] [] | gstreamer | [] [] [] | gtick | [] | gtkam | [] [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] [] | impost | [] [] | indent | [] [] [] [] [] [] [] [] [] [] | iso_3166 | [] [] [] | iso_3166_2 | [] | iso_4217 | [] [] [] [] | iso_639 | [] [] [] [] [] | jpilot | [] [] | jtag | [] | jwhois | [] [] [] [] [] | kbd | [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | [] [] [] | ld | [] [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] [] [] | libgpg-error | | libgphoto2 | [] [] [] | libgphoto2_port | [] [] | libgsasl | [] [] | libiconv | [] [] | libidn | [] [] | lifelines | () | lilypond | [] | lingoteach | [] [] [] | lynx | [] [] [] | m4 | [] [] [] [] | mailutils | [] [] | make | [] [] [] [] [] [] [] [] | man-db | () | minicom | [] [] [] [] | mysecretdiary | [] [] [] | nano | [] [] [] [] [] [] | nano_1_0 | [] [] [] [] [] | opcodes | [] [] [] [] | parted | [] [] [] [] | pilot-qof | | psmisc | [] [] [] | pwdutils | | python | | qof | [] | radius | [] [] | recode | [] [] [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] | sed | [] [] [] [] [] | sh-utils | [] [] [] [] [] [] [] | shared-mime-info | [] [] [] [] [] [] | sharutils | [] [] [] [] [] [] [] [] | shishi | | silky | [] | skencil | [] [] | sketch | [] [] | solfege | [] | soundtracker | [] [] [] | sp | [] | stardict | [] | system-tools-ba... | [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] [] [] | texinfo | [] [] | textutils | [] [] [] [] [] | tin | [] () | tp-robot | [] [] [] [] | tuxpaint | [] [] | unicode-han-tra... | | unicode-transla... | [] [] | util-linux | [] [] [] [] [] [] [] | vorbis-tools | [] [] | wastesedge | () | wdiff | [] [] [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] [] | xchat | [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ es et eu fa fi fr ga gl gu he hi hr hu id is it 88 22 14 2 40 115 61 14 1 8 1 6 59 31 0 52 ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no +-------------------------------------------------+ GNUnet | | a2ps | () [] [] () | aegis | () | ant-phone | [] | anubis | [] [] [] | ap-utils | [] | aspell | [] [] | bash | [] | batchelor | [] [] | bfd | | bibshelf | [] | binutils | | bison | [] [] [] | bison-runtime | [] [] [] | bluez-pin | [] [] [] | cflow | | clisp | [] | console-tools | | coreutils | [] | cpio | | cpplib | [] | cryptonit | [] | darkstat | [] [] | dialog | [] [] | diffutils | [] [] [] | doodle | | e2fsprogs | [] | enscript | [] | error | [] | fetchmail | [] [] | fileutils | [] [] | findutils | [] | flex | [] [] | fslint | [] [] | gas | | gawk | [] [] | gbiff | [] | gcal | | gcc | | gettext-examples | [] [] | gettext-runtime | [] [] [] | gettext-tools | [] [] | gimp-print | [] [] | gip | [] [] | gliv | [] | glunarclock | [] [] | gmult | [] [] | gnubiff | | gnucash | () () | gnucash-glossary | [] | gnuedu | | gnulib | [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] | gpe-beam | [] | gpe-calendar | [] | gpe-clock | [] [] [] | gpe-conf | [] [] | gpe-contacts | [] | gpe-edit | [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] | gpe-taskmanager | [] [] [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | [] | gphoto2 | [] [] | gprof | | gpsdrive | () () () | gramadoir | () | grep | [] [] [] [] | gretl | | gsasl | [] | gss | | gst-plugins | [] | gst-plugins-base | | gst-plugins-good | [] | gstreamer | [] | gtick | | gtkam | [] | gtkorphan | [] | gtkspell | [] [] | gutenprint | | hello | [] [] [] [] [] [] | id-utils | [] | impost | | indent | [] [] | iso_3166 | [] | iso_3166_2 | [] | iso_4217 | [] [] [] | iso_639 | [] [] | jpilot | () () () | jtag | | jwhois | [] | kbd | [] | keytouch | [] | keytouch-editor | | keytouch-keyboa... | | latrine | [] | ld | | leafpad | [] [] | libc | [] [] [] [] [] | libexif | | libextractor | | libgpewidget | [] | libgpg-error | | libgphoto2 | [] | libgphoto2_port | [] | libgsasl | [] | libiconv | | libidn | [] [] | lifelines | [] | lilypond | | lingoteach | [] | lynx | [] [] | m4 | [] [] | mailutils | | make | [] [] [] | man-db | () | minicom | [] | mysecretdiary | [] | nano | [] [] [] | nano_1_0 | [] [] [] | opcodes | [] | parted | [] [] | pilot-qof | | psmisc | [] [] [] | pwdutils | | python | | qof | | radius | | recode | [] | rpm | [] [] | screem | [] | scrollkeeper | [] [] [] [] | sed | [] [] | sh-utils | [] [] | shared-mime-info | [] [] [] [] [] | sharutils | [] [] | shishi | | silky | [] | skencil | | sketch | | solfege | | soundtracker | | sp | () | stardict | [] [] | system-tools-ba... | [] [] [] [] | tar | [] [] [] | texinfo | [] [] [] | textutils | [] [] [] | tin | | tp-robot | [] | tuxpaint | [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] | vorbis-tools | [] | wastesedge | [] | wdiff | [] [] | wget | [] [] | xchat | [] [] [] [] | xkeyboard-config | [] | xpad | [] [] [] | +-------------------------------------------------+ ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no 52 24 2 2 1 3 0 2 3 21 0 15 1 97 5 1 nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta +------------------------------------------------------+ GNUnet | | a2ps | () [] [] [] [] [] [] | aegis | () () | ant-phone | [] [] | anubis | [] [] [] | ap-utils | () | aspell | [] [] | bash | [] [] [] | batchelor | [] [] | bfd | | bibshelf | [] | binutils | [] [] | bison | [] [] [] [] [] | bison-runtime | [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] [] [] | cflow | [] | clisp | [] | console-tools | [] | coreutils | [] [] [] [] | cpio | [] [] [] | cpplib | [] | cryptonit | [] [] | darkstat | [] [] [] [] [] [] | dialog | [] [] [] [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] [] | error | [] [] [] [] | fetchmail | [] [] [] | fileutils | [] [] [] [] [] | findutils | [] [] [] [] [] [] | flex | [] [] [] [] [] | fslint | [] [] [] [] | gas | | gawk | [] [] [] [] | gbiff | [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] [] | gimp-print | [] [] | gip | [] [] [] [] | gliv | [] [] [] [] | glunarclock | [] [] [] [] [] [] | gmult | [] [] [] [] | gnubiff | () | gnucash | () [] | gnucash-glossary | [] [] [] | gnuedu | | gnulib | [] [] [] [] [] | gnunet-gtk | [] | gnutls | [] [] | gpe-aerial | [] [] [] [] [] [] [] | gpe-beam | [] [] [] [] [] [] [] | gpe-calendar | [] | gpe-clock | [] [] [] [] [] [] [] [] | gpe-conf | [] [] [] [] [] [] [] | gpe-contacts | [] [] [] [] [] | gpe-edit | [] [] [] [] [] [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] [] [] [] | gpe-login | [] [] [] [] [] [] [] [] | gpe-ownerinfo | [] [] [] [] [] [] [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] [] [] [] [] [] [] | gpe-su | [] [] [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] [] [] [] | gpe-today | [] [] [] [] [] [] [] [] | gpe-todo | [] [] [] [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] | gpsdrive | [] [] [] | gramadoir | [] [] | grep | [] [] [] [] [] [] [] [] | gretl | [] | gsasl | [] [] [] | gss | [] [] [] | gst-plugins | [] [] [] [] | gst-plugins-base | [] | gst-plugins-good | [] [] [] [] | gstreamer | [] [] [] | gtick | [] | gtkam | [] [] [] [] | gtkorphan | [] | gtkspell | [] [] [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] | impost | [] | indent | [] [] [] [] [] [] | iso_3166 | [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] [] [] | iso_639 | [] [] [] [] | jpilot | | jtag | [] | jwhois | [] [] [] [] | kbd | [] [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | [] [] | ld | [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] [] | libgpewidget | [] [] [] [] [] [] [] | libgpg-error | [] [] | libgphoto2 | [] | libgphoto2_port | [] [] [] | libgsasl | [] [] [] [] | libiconv | [] [] | libidn | [] [] () | lifelines | [] [] | lilypond | | lingoteach | [] | lynx | [] [] [] | m4 | [] [] [] [] [] | mailutils | [] [] [] [] | make | [] [] [] [] | man-db | [] [] | minicom | [] [] [] [] [] | mysecretdiary | [] [] [] [] | nano | [] [] [] | nano_1_0 | [] [] [] [] | opcodes | [] [] | parted | [] | pilot-qof | [] | psmisc | [] [] | pwdutils | [] [] | python | | qof | [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] | rpm | [] [] [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] [] | sh-utils | [] [] [] | shared-mime-info | [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] | silky | [] | skencil | [] [] [] | sketch | [] [] [] | solfege | [] | soundtracker | [] [] | sp | | stardict | [] [] [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] [] | textutils | [] [] [] | tin | () | tp-robot | [] | tuxpaint | [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | vorbis-tools | [] [] | wastesedge | | wdiff | [] [] [] [] [] [] | wget | [] [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] [] | xpad | [] [] [] | +------------------------------------------------------+ nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta 0 2 3 58 30 54 5 73 72 4 40 46 11 50 128 2 tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu +---------------------------------------------------+ GNUnet | [] | 2 a2ps | [] [] [] | 19 aegis | | 0 ant-phone | [] [] | 6 anubis | [] [] [] | 11 ap-utils | () [] | 4 aspell | [] [] [] | 15 bash | [] | 11 batchelor | [] [] | 9 bfd | | 1 bibshelf | [] | 7 binutils | [] [] [] | 9 bison | [] [] [] | 19 bison-runtime | [] [] [] | 15 bluez-pin | [] [] [] [] [] [] | 28 cflow | [] [] | 5 clisp | | 6 console-tools | [] [] | 5 coreutils | [] [] | 16 cpio | [] [] [] | 9 cpplib | [] [] [] [] | 11 cryptonit | | 5 darkstat | [] () () | 15 dialog | [] [] [] [] [] | 30 diffutils | [] [] [] [] | 28 doodle | [] | 6 e2fsprogs | [] [] | 10 enscript | [] [] [] | 16 error | [] [] [] [] | 18 fetchmail | [] [] | 12 fileutils | [] [] [] | 18 findutils | [] [] [] | 17 flex | [] [] | 15 fslint | [] | 9 gas | [] | 3 gawk | [] [] | 15 gbiff | [] | 5 gcal | [] | 5 gcc | [] [] [] | 6 gettext-examples | [] [] [] [] [] [] | 27 gettext-runtime | [] [] [] [] [] [] | 28 gettext-tools | [] [] [] [] [] | 19 gimp-print | [] [] | 12 gip | [] [] | 12 gliv | [] [] | 8 glunarclock | [] [] [] | 15 gmult | [] [] [] [] | 15 gnubiff | [] | 1 gnucash | () | 2 gnucash-glossary | [] [] | 9 gnuedu | [] | 2 gnulib | [] [] [] [] [] | 28 gnunet-gtk | | 1 gnutls | | 2 gpe-aerial | [] [] | 14 gpe-beam | [] [] | 14 gpe-calendar | [] | 3 gpe-clock | [] [] [] [] | 21 gpe-conf | [] [] | 14 gpe-contacts | [] [] | 10 gpe-edit | [] [] [] [] | 20 gpe-filemanager | [] | 6 gpe-go | [] [] | 15 gpe-login | [] [] [] [] [] | 21 gpe-ownerinfo | [] [] [] [] | 21 gpe-package | [] | 6 gpe-sketchbook | [] [] | 16 gpe-su | [] [] [] | 20 gpe-taskmanager | [] [] [] | 20 gpe-timesheet | [] [] [] [] | 18 gpe-today | [] [] [] [] [] | 21 gpe-todo | [] | 7 gphoto2 | [] [] [] [] | 20 gprof | [] [] | 11 gpsdrive | | 4 gramadoir | [] | 7 grep | [] [] [] [] | 34 gretl | | 4 gsasl | [] [] | 8 gss | [] | 5 gst-plugins | [] [] [] | 15 gst-plugins-base | [] [] [] | 9 gst-plugins-good | [] [] [] [] [] | 20 gstreamer | [] [] [] | 17 gtick | [] | 3 gtkam | [] | 13 gtkorphan | [] | 7 gtkspell | [] [] [] [] [] [] | 26 gutenprint | | 3 hello | [] [] [] [] [] | 37 id-utils | [] [] | 14 impost | [] | 4 indent | [] [] [] [] | 25 iso_3166 | [] [] [] [] | 16 iso_3166_2 | | 2 iso_4217 | [] [] | 14 iso_639 | [] | 14 jpilot | [] [] [] [] | 7 jtag | [] | 3 jwhois | [] [] [] | 13 kbd | [] [] | 12 keytouch | [] | 4 keytouch-editor | | 2 keytouch-keyboa... | [] | 3 latrine | [] [] | 8 ld | [] [] [] [] | 8 leafpad | [] [] [] [] | 23 libc | [] [] [] | 23 libexif | [] | 4 libextractor | [] | 5 libgpewidget | [] [] [] | 19 libgpg-error | [] | 4 libgphoto2 | [] | 8 libgphoto2_port | [] [] [] | 11 libgsasl | [] | 8 libiconv | [] | 7 libidn | [] [] | 10 lifelines | | 4 lilypond | | 2 lingoteach | [] | 6 lynx | [] [] [] | 15 m4 | [] [] [] | 18 mailutils | [] | 8 make | [] [] [] | 20 man-db | [] | 6 minicom | [] | 14 mysecretdiary | [] [] | 12 nano | [] [] | 17 nano_1_0 | [] [] [] | 18 opcodes | [] [] | 10 parted | [] [] [] | 10 pilot-qof | [] | 3 psmisc | [] | 10 pwdutils | [] | 3 python | | 0 qof | [] | 4 radius | [] | 6 recode | [] [] [] | 25 rpm | [] [] [] [] | 14 screem | [] | 2 scrollkeeper | [] [] [] [] | 26 sed | [] [] [] | 22 sh-utils | [] | 15 shared-mime-info | [] [] [] [] | 24 sharutils | [] [] [] | 23 shishi | | 1 silky | [] | 4 skencil | [] | 7 sketch | | 6 solfege | | 2 soundtracker | [] [] | 9 sp | [] | 3 stardict | [] [] [] [] | 11 system-tools-ba... | [] [] [] [] [] [] [] | 37 tar | [] [] [] [] | 20 texinfo | [] [] [] | 15 textutils | [] [] [] | 17 tin | | 1 tp-robot | [] [] [] | 10 tuxpaint | [] [] [] | 16 unicode-han-tra... | | 0 unicode-transla... | | 2 util-linux | [] [] [] | 20 vorbis-tools | [] [] | 11 wastesedge | | 1 wdiff | [] [] | 22 wget | [] [] [] | 19 xchat | [] [] [] [] | 29 xkeyboard-config | [] [] [] [] | 11 xpad | [] [] [] | 14 +---------------------------------------------------+ 77 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu 170 domains 0 1 1 77 39 0 136 10 1 48 5 54 0 2028 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If October 2006 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. 1.6 Using `gettext' in new packages =================================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `translation@iro.umontreal.ca' to make the `.pot' files available to the translation teams. ibus-table-1.5.0.20130419/data/0000755002345600234560000000000012134204703012372 500000000000000ibus-table-1.5.0.20130419/data/Makefile.in0000644002345600234560000003310112134204700014352 00000000000000# Makefile.in generated by automake 1.12.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2012 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # vim:set noet ts=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # $Id: $ # VPATH = @srcdir@ am__make_dryrun = \ { \ am__dry=no; \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ *) \ for am__flg in $$MAKEFLAGS; do \ case $$am__flg in \ *=*|--*) ;; \ *n*) am__dry=yes; break;; \ esac; \ done;; \ esac; \ test $$am__dry = yes; \ } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = data DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(pytabledir)" DATA = $(pytable_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ IBUS_CFLAGS = @IBUS_CFLAGS@ IBUS_LIBS = @IBUS_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ pytable_DATA = pinyin_table.txt.bz2 pytabledir = $(pkgdatadir)/data EXTRA_DIST = \ pinyin_table.txt.bz2 \ $(NULL) MAINTAINERCLEANFILES = \ Makefile.in \ $(NULL) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu data/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-pytableDATA: $(pytable_DATA) @$(NORMAL_INSTALL) @list='$(pytable_DATA)'; test -n "$(pytabledir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(pytabledir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pytabledir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pytabledir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pytabledir)" || exit $$?; \ done uninstall-pytableDATA: @$(NORMAL_UNINSTALL) @list='$(pytable_DATA)'; test -n "$(pytabledir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(pytabledir)'; $(am__uninstall_files_from_dir) tags: TAGS TAGS: ctags: CTAGS CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(pytabledir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-pytableDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-pytableDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-pytableDATA install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ uninstall-am uninstall-pytableDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ibus-table-1.5.0.20130419/data/pinyin_table.txt.bz20000644002345600234560000042261612024325440016237 00000000000000BZh91AY&SY@xt0Lg{ޠ?cx(P(p]JiTFKCB$jPTB  P(JHM`*EhP `QBP(((  RRPP )AJP@@(( U ()Z+ (PP *`d v+@ +Np@  Z4,7g66mBLep4AZ4((HMҺ馨:[4ʥ T݅4@iAm@@ c6hM DBTP6ƅBBE$PE B(B $P(@(QE n!B(BA@( P (|¹mjRYr[*4xzT@Qv" Ri6Vj78 PXvpHPn;f pӵmusI =,`BB(lM UҢlM6ZR<P PP % BK=<: uwi+VMCh(O@ @@ @@  @ @ @ @# h0@  ` @ @ @@ @xʪ0 ` P af!P5O""$#)@)iR 6d 4 ɛ 4RR"z4I꒒I=5OI156bLF C 0&<5OA$"D BI(SOPd@@hi=CF $$I,n5JRT$-!`HN[ ͺ0C1!P:Bș1Jj8Qj^`EYV2f\`65ꥫ#Mp4Peilv!4:2N7kjjbP`q:˅Ěv5cChY39ӚpbhZՊ!6raxM"%rc:CY0a8*v1 kXelNf!E'ʜ1U"֫SSѰa25T]B\4S"YNDEIFƄ!k"'2d 216@ ˧;C)0Q4"KeX6XyXrlY238i4:04@ qSjF E"R 4֙ALqJgcx@yϗ'xo.LlÇtzcŋ F0 : .6NB3RY4s#Tay*5 #98kb6 ljS6rBCJC cM=&yUq3 <9irk/Zl0fl$GSC4'*ӑiUAt읨-9Y]L.' ^iy}D0\Tδ4FºBA%.m':L\ӡA7 pV Z$Z u.ϯY B/gy5»:ɠс3\-Y3&I8ӝdc00ЦB"u\\e;"A)Q9-dYEI9\lHxB 8G¶4[IZW!APӌFQLN'%0,NLrIS("dHyc &KE27k#Z ^AsadP y@ (0kPC81%XD `mYs4*F)&['xVܐT [0p.]m&Xt1Γ(abִME$:a$=syf Xa1b68s׽x}{=×([9B0lR R9:ˣBXVtpgˣIaqgn%q\á"БSlYځz#YPj9LHMXXM :RkI S]-'YV);F5@L-VC{gLE<&VРv$88HbH鲩2b 6lr'2 ˜q1dĈu8$ g3LdÁGPr≀D䀤\M<.Kz88}bqjY+0)Ό1"63rqLQ1z xծ$IMɱgMɮ aPy^R"\Eū @N+ 8!m(e4/z|٬G8zYqPq0fC-:Fե6(:Z rjE3OSXtY8 ),d@\@,g&ԺqjŠV G*`p8bI.͍tS-c ä HgGvv&WD NLZI pDi Y:YJ'\ZS+ڭXrFv9k#1'9)P9᜺V֧#p)A\FXÆrVL!l2hƒh38ڎ4؝K!Te1[HU ̦&1%EuqЃi$#[VDd%IdVq9S16ʖrpc@-FutK؅S啳+49ɰKR8H1Aγ&p`9WhE4i5E qɁ0xLX5 .DDWom͚t-E1.g3Xr+,3RMA.:&-:.N :͍D)ٔfbYFj2'FA% jc5I)hte1r4Vu¸lⴠ .hBSjKl#tPTb``Ƨ-&T$-+6V&$I,tv6PASrK3 r`gAJjmMf ū.=Kh*ʚ-b!j!*i"®138CHdqZ*Mga : F8'P+!q"4UgD%,ҧ'9V'-a1g;J.*8!ufUF hJ8uc[,4XQF0VF6-jfqR9bb@A]J(Њ9,X0$ptp(hiU1kReirq<zca+9HBhZxpSКX"J7ibM5 *GDW! 8kAj[Ù2F\iVo1r̄Fqfy6uu9Өԕftx*,Nlc l9"vg"$AFP@uIZ,Ό;,@`-F@ W` uKX@8Y F- h 6qrsOF"SZ#)6j-i*Цmd86Uz1ɪU\h9(dˎ]l$XeچB cF4\p&]rkzY32bLudG m0gPK,Snf\<#ɤ̈́Ӑ.KD$c/CJ`M 4.\:",9 SGmeZౡ@Zюfk=]B8lA`@tk"HLi; k8v,1U!&Jsd@ɪXs{:G?~??C~?~~'??O36/ LbI 2+PU"Lc?A"?&l_(PbT63HMJחIK樳=nu&.A m?CiRT ^gYTen3Ny:@39 9}4Q[ቬل %f3%;'r[V@ ${m "F ye~bjWEpSṄ5럟9r{?T07'"e>΋ *0; J!+|+q}i_R5NMÿdGDI@4%i Oi\8L ծc,B= i`FL,ۥ繴x}OzvA/_=p 5mYݥ*+ǐ|a׾y},k6xI_hUĒ?]5yX fL(o 9Z=,FyoR+_E" 5|Є4H<ˎ`S_]CfW5Ogw㱚Q3?AןЪ '"6Ky6D`JN2Ze:RpӃWؽet?]`c'i҈pxGTY{%qi Ǥeŧn:tOc֩c"[Ӆ[_3lSӏձf7W'APNmNbbY#LD0^ UΡ<ӿ26A Ee>Z޾Nk loCQ`NMJT>AnNk0gjBx NޒgI^gNM> b8U[D,V ^^B:**F$paqX88@X5I@69b6ib3ʟhs!KY kQW7F/t"q"NG;C_/|2H2`2QKZl,τWw-3XO6ڮ;Ŵ/[md'yRZ \8QZ(JJ=ݘs2~ӏ̣ݞ 4^&ն&xXt^!`VU+7ko*R.6;'~^ơIQR3ŲZȱ*^# ӇWf< M| Uo@%"č 60Y$NOXE5&U~OՂ6PSr y 2VƭG]8VKKM ]9byAialׯ'KjI7j.K"1a^-h[LfObs!?e{5䴝2KPl`Q =}nԇpX3PBֆ?#tc^^aIw<5.Z HPIM؛{HNK"LtCMK!yĹ\*~6kJ1 ܱ8P`5`N |vmXa >5;zҸi錳鎾wj7 %CmsVdz@nGj rL-lPp֥O=y#QwrᡴyD"LѲ6e Y-{mf:46P_VF-)=UV23"^dW:Ku/`^oAINWkjܗ u&VJ6WƂOxhlrM egoS."#{ACtz]&XJd$Iw2~s!4aN%!Bm-5K@0]YBmF \t\WY54oc@/Bw +w6u/3Ђ Q%nBߏ;yBŎv߳ݱwQl?p/$*QH^/ȘO@%D" 1YY b1k+鼽6tUV(P|%!-&!+$yD6(wls>6(@&;J5L d.#,)覫I ?>wƳ4iپHMF[@\(lحN٬r5P@메W^ CIU}9VRAM$ (օf(Y6yf KS[ᢧ׺4yit48j2B'|9YhQlvʍhrMTj怾ӾqK2)J@?i&}g V 5UDB]ʓf3T) ?nYoE GSJY^~ݪ-Q dGr1@¡h0/npОMPM'cId2| 1=5A KjVu_=4=&P+4haPjKzdcr͵4}Y9!8v9N}㬵MHfxۄa%Yx'dO?~U†9xHP%׊QCaoS7[u[(L*ď8M)BwDb  3Tq10| :yvK׌Yt4 jW\`gcڧ{}׈13,ꀩkt|v(ϟ1'l#?“:7 e3hzN4wL2FdsFJ}4!L}/w,kTCC8O/Hnd[8xAӒWXm(&@ů%# vSC1+;X2r:y3b+sl{{QG>W۩ꑊJ΢)($pX[%X8J(14A-u3$ ʭ]."IoɑtyݺGk9n^NOo0W/݉YyUbHLw<,-nnY·#y2bY>ʦ21tx ,]TtQp]y8m[;ߌZUh'k:lai)P99K;Hz{zT &(#AHq6TTN ] :=0{Az KV4kLe}wA-0جqysKu{"/&4\da!Z&kUɖ7&Fa[(B40jȼwl0\ M+A.#OzSЅW޻^gOzsWCPL,2tu]c;$ Z9gE@'_F"; "u}hB&*lt( ɑ[20+'րM:%׫zgtz /)YXz=owZVQJ͜qQɾu&-\4}|&2~ժÎ I;/i-NJrQZTR9HmS9[`%W^^+$ҟhDO4Z`b^/Ȓ u۹B}]H@Sr6\ pHf޸??0r>U)] IܯjWiGөz|+[=rߢMoyf9c0gg8ccO=inH@vZ T0ŔZ[ HC$w'<2 %=9Y.w֗΄9i<"ъMo@ t%cX8ZX!1MşJFt%x.%(ht~yp L^@b.=d! <>dݻ3ZftkBU ӟ,)c[5 IEG) dЗ8ϞXT;s&|* 424Jy*Jۇ} O p#r vN)"",]*vdz¤\CmRi,q3, 5-`n؉.u79k2 N W&a$|KtNun:PlKR =Ŵ.HZ6 Ɇ{ ?GKB1ıUxX9s@LVSlF!T7oV&a6>GMdK%"r95swKIcc~>|)`<֓6-*qҬדjzOS޾Dσ05NuӉ p16lu霪RbKHڐ#u/?B,w|%vz4S$g9,*!ZeQJ">$5kݼaK!G$2V%8C.gUEP[1{,U_sU䬊'-ZEX4QovaAi"5 Xb=ӬޱF!|iƶO`B¢뱞Y G UW'3G3xEˊ oQD= w4l`J+%LEQydeIHlvWdMe i;^ x a>"8G 9nc=6BWDākQO}3 r}],xVS'UtJW)%w֘fմzU*ao4 mWM]FxHgNe MyDRR5X`}4E¡8z* M=t3fnzyA Eѝƌ`_X77`CD!2!Я*dZ/>* f2ֆ(fz=kR*F;tjC˅zb6Rh`hڡ ˢ_|*QII9 (rlzBrO˧EOy,|sem4Q3ޏL?\+C/fb*zmU- l&RcJ& "cJ$clc6&>A+㓒E̎&͐@]bwJo^ƒE7 {oz4=,էZSE) cɧviP A ܵxde͎=m/ FEkP`AL0Pn;3'H>jmqq. H5о*$!r'"H @4 %Կi@ְ;u,G©cy,ĕ>^!wk7ᑕ9uWf-z jD8yd aj_ 9(ҺڿXGAg/[88KDn.&G9Wy >Ά"]R,v{#!^ћ?#2jNS֋J8e:vUz6ŋIG`rSM4NiāaGd:yޣpDbRo܂vSt|lGa7dqNdg#O|= P>)/XU|#JZ +:EY,] %MܝԸ6jyJ( j"n 5vԒc;|&SK#p&U):-x4u^Yc|-L+yFu8p C-D֫oͽ$]}gb\dqtsQP3WmwQݏ*n_ܳ+ġs+R!\JI%;v=^|iuz"i!^ Vcٕ`]Hr?=y)SB/}`bnÖlQz-Km0Fސ`+.+dC;u@/9шw8@n$S^g>t!z|=gϮa{@ GK\Tj:c߄S'EMǥ@Hc Ǧ Z]3FEaD[AKw AcMml~vC߱d I|S`NufwMN:}Lz},橗ʼn&ˤ d[Nư=NhGGM[ Z])= !2 %-f,Øa):ە 1Ҙ}H˵`GR7o/#y/FlRپOCY& qĠ)8}Hmܯ))_7 IvC_(7FN#܀TMªz%ҵi N%t%FffZۏ^@P Lir)E[_!Ӹ9 GC##)?Q&OՌ#ALNdI! R;xG"D|2kҀtZ\qǓM] ZfD?G/kCt'tM&f<+ Ts 7wK^zxWӮFA{Um-V M|9Nw%`74WKF?o)% rd[#qlKY=e9xNxsgK'|>(vmshQ{Sσ|nqH^E.,RZsWy% vB W1jv7ŮBlC~F$9AE M=c9+)4ƞ;=yc|2;-6^biǤՇ+St'z6js*9x6\>XS6O{Gi ^U *{]Q-@:婘/Ǡ cӊK=cRw/bCwTr'VRSϠMDTx5Z6n 3E/OנLxx&tY|_fV'@Tʸ >vˆQ,fM$Ydq%)2WhYn[c Phx#):svvXJ\xIU0ɚx>Cr*95u>六>2aM?$T%=߈ k3O8bĊ=EklU s-7QG!uSLc;/ck*X5 MƯD WFׁ`^e>mXuM*I$Ư k0' ;;ب(5$1dMf+,`DM>n)#PT(A 7v [1:uےkĶf^[K7Yl^d9d6*-VҨ0, ħ?Y0к,[[~\:-ʃG!.COKAF%# ,Mo}|6^UkV5 e@)-wnqP!k]LJJW7@rwtт8f4K \E"R)[C9p==Yqg&_Fƺ fSa3p.7p< m~<a#lWVG#vYv4ڝDi(i)a7]+) dUgN%J?|KVբ/v`|5KiH=p-m9~:X9Z5ރUKw-Иv4u0ὤ p VJ,|%zpԻ:p8Rf7F<y =qpЙD-R۬z1A ^VR}Gxz9OhH|Q5ӣF6ÂIZ{UnW! !r ﺅ,Z=Kޥ}3x jSq_'^He֜`߹ɝ +8UlVVB3i035 ^/$_@jtmWQW9G^ [D`J7DU;\G' 5TboR"˜q+:(<)ȓ@-}Eqq\lֆ^ę:.47chGtڍ֣,RZ ΀AHШXGKщ+$?IۅЇЃվ@ña)s =+ea:vZZΐK`RJ+oO<,c1xm0܄!M=ApJVoI{  PQ!gb+JLӵX@MqZs94KN}Cӂ( ΙDʼ|̞7epPNYs;t L9^g{|w@y>؆pjdEb sc2=,WF_zkY0DÌŦu3pn{? %K甅~°𧇓!/oz4T;N9.+"1먒PȎZ\ I YW &Y we|Վ<3<% w{Wi?  c_fyJ E=Cu)sq85^'sJ)oƓgヽiDn6(lG=4ECK/kƅaqpxc33gfb.w= OK-RpX69QrFnGWo#wD\, hBgYsnZthIPޠ!Vif'5$%r#ä_TG' 5+ue DQ>L*䊄)nwll 3O!!qߑ5|]9;ݡٮ RU}GRxn~s fp̟+Ӕ@wF`D×CkV_;t6A'D&u ;KX #{y Emdx7qz9bj x6'ɝb$A̴4$U0bV29{CZi$DG Pd*~Aa%T}?f{KmXbnUr_0{ω2`C&ŀ#^J+?C؂FH8ffp]O Bh#`*;qsxrʢʉXp,PVÖa҅'lj eD aYmA<2琉LpiCM@wo'(TSJ3[6Kvw "'o9A HZ3fWJU-<ƨOb<^f-Qw膱Aɖe/ܨ'5a0js̑ roײ裳^]=[{-Il)F6U$xՎXGBۗ&+d05j[@ =m=A$,/*DeIco4e-Y 2fډ= o܆[L(kH`>mDx, u|p\$n9,ǃg]}zު.F2n~a0׍,c&vd}-v^Ba@IB#hY1&]=˟MMTI#ӂ|K5n"aW\mk>u Z1i7ta $hmI]h|@=DAshq 5M\g&P<?V|Gz-Db?YA#1\Q郚@puY2D͏$k~7称>?7?knEےfEqD|v* jECR`jbS]8U *a Zhqk#j 3D/cuAFT&vXNv"Cƚ5ᒜن~1]{DS?36 `C %w |P7afbYܖ ETԤɈCjzh_2+T3 >c3džg;1I\ıφ_Mbprx! YC㈏CvH lo8Y2:8Nx15;*S=>y@_S#"D;D U2Z>)"ZyPUmO#eK֟;M!`b!Z%# :b{g>/-5 D ^ZĊ!u HQ'6ozoI&/q >52xإq@x91(asP}f; kRuՠAx)40l~z&щW `7g9g<TNKp`&Q~/n]VNvCD+C% 4U_+}J`o^239 u%ÌͤZG8*pMSyap= Lx2svo=AP xr슌ܜlQybrPޓWn4&RdO>TAQs#>: #og5[cbn{HFr4t+_ zRAY@Ҏ٧Z:G[Qwy6n*rϤ{Z-/btT*=#;<@B̻`oCiw{)|h%T )ԑ; zeOOXD;! .Kɸ6\{y6`#86:pXP = m:5'T >rH pL18$@3}טWFE=w {%4sBlx5~\ p2'~њwL@OM4%BVG&8{,+?&-Z&%zTpS紤ѳ?4]<|H#!Jly7!u3yͿ՜ #1 eW@`^DBpHѸޯ=; f{\ِ4 !3 {grka@[;e8J|Ep/,V }lC8&*C(@qy22|:|5ac2`RVҐNA?"SKΛ)eB\RD};:~]T=@(kC,81΁{b<\V;k }*E3lSWZG۩ "]@1(O{pB^[jpl}gF{p$H8_#v7R*bh ]1k9;51'W `': Vިw 7uFx"~C+5%pTKn`sLCQRuF :&]}Z#+6u1BUpZ3*3U7@0(D$(H {V[)Ykw]W«yWu8-y-PXA;:3G6RλUNW`X+zv45 $mT*3pvk-bd ۞/Vs,@'mP1ƧilwI>Ӥt~"w;LV&Zh| okw>Į;I?Fr2{?K?=FEE0hC]A-q'e~GFJtfZm\,k3&hv^8q#n`5 :_BV9$ K̤㻑e9Km1 0#ݗVsh1 {*$?P:}B%(LՃBp~鈻!z&6ӏh: yf _euI/@L% t{ >qj.Gjx{S97$LY(< yx>P -d1" K$5QZ6xl{4&ƸûKڸ! ptN }ltXQ&"1d4 7Md{l)&kgMFrT=%s㴍;/ m~!(g+N|Oalx׿~bs:Sj@uHD0(}_˽mw-5Y~شdXFUzt6SP2ܴ&FUd`EΒv65 ;V 9p u20nߕ bA?x/4*W& TQhO'9;r[W#qX0mnDkPf wAG"6BI}4ζU跢̠][4Q1f#4W\ z$DBh%{BxS~qDB.*L|TLKց~zջy(-|nLXC|(d)*e)%G{In%(^cnV[滑v]&1 BxM@?DWtBM LRGSx=_ g \YDq_ v xs A2#d%^>B֕l~Z 8F* |M.M'Tw,IH<%Y$}NCt- 7wtO=6!}G#vqN -C/CFXBҁ33aVV)0 ^ v7%}"6iB->Be:֯'BݿqvEc 濥?F!qf萲G,@T+c^B0H|'3RZo ڙ&T(tPCl^D%u{ߡgu%o@J)<,bLṀtJ|Fj>`"f:ם҆2`3S)F+'$APxv<^T!!y>@%: ('J4*?A{ vyHc G,!*s1Q~< H=? Mһz]Fn|hb4I9jhtu m[G(2{'z.&OўS5fow!fg̥egB.id[_-iǖu>zBWi]`Jyh"},jDtf3UcwU1qi_!fF=ݪ[85D* !)Dș]`]Nm]2ܹ҇J:4&7@HVZ'Ca>r}.gV%V;A:=_D"iS $ƦG 1_%u<$pz;^D1O{n"fݎ}v!zqsCu*{u?4n^V =O,V=(-Ad7z̊|~_",I_?Þܶ~ѧ"5wЂq mlH` vBo)Q"#AuaСĭ萧8wI9AͳS)qdxֵ#Lɠh1 2s5ڰQNЬܜ,t@:/P[q\p3q=$kßG2S{PiX wϘΑ|` ݹ&n vL{<{^ Yhν> S2z @q[ӟ=^>h5sπxpM>TP —S3Yh˨#.Z=p#҉bLu&2\cA|zr\4#1i5kz벫澱|kL`V S= φP#G{G 8(WH}ɵz %GN͆uϔAPO*qژDch'dohNR nԘow6:mw>wr:q끎;ݔlyYz0z1=16{)x5>١H1E~xClOZ6ѝ͍ IsSaʌ[Y]Hwdv ̣ݏd@Nj-:ݥd*=uGΧy[, `tڗRbk_)4LnsZ_[=|VG U E?5NnbNeӧ]mHk®a󕝅>p]^2@^0QAY \P%Zº)Ͷ>&@{) pج}/AKNE,gg,SHNZU1̫yAXy=M4>aÏO6,J Ҿ`xڃ@LkPqa4MNO3Bko6&Tfk kXDt”sQ*k+ K Q,cېujEDv$~K4QLG C/^C)A g,Wl/MTnf"wsQUsQ"=g% >Z0e@]KO6Uf=Q9V͂Cl阱FUl|Z8!8=OnQGF< V ~oF:C8Hi+-G t"()[~S(yO?{&Il:}^&/8gɽ A zZkspQ=(vXQ[Ƭ&.{޳EsS(`?~s7U[U~ڶ2m6B HOĿnlmsnKbIywޡ'|v˼V-2cNrͭ(@8JYs"K2FZ!o{A0e_.ꠌ㩢&-['1ΨhC Oyք%3{c X@ SRF5D,C3rw$G݅!9 p"6o5!>d4<=Oo`ެWFx+87})QH0p@ >h%M< 㷣λ.x05 m96;98 s>t `ːcUA)he"u-Kλ@BZNɃ(WCn 鉮Rw{zW){ϸ]s SP\`{RrhsYe{ȩ9,"czVgq9֒lWr*nL Y&{#K bK(a8NYH7<`Mme)'{8ǝ]:z0RPgxÌhɲⳲ`33,X IPJVeNɣ^vGTRӴl]nE{s,b6ws==5\r *u^cOcz*D޲FC ; hLz@^ Lh *eq˗4FN9Z.ݳ :: tnv\du&x= c92tvNE&8v*Gco4kƇ>.N@q{Ee61/`<0PMk;|OWwAF7$<ܹbwmUˉPn NZ&5` --͹;[GGNNtblίy7٠ѣCgwYG "R1,x3QyDsb1l`K '8pwXhc0`@uN{&˓+N VOIKxFq 𾱷˒Ǝ=F6o ch$\FLD8nMmprȺ8½GvDG'hLT6 appnyd4`rc󢹷sˢ6생HB`g;erm%ctۖ9@k/+k_"n\hۻlFܫ1!QE BX*EK5 ¸fvBSD:tc`;z1wi݂2F!W`4rvɓn U@G W9^< rc1rhɧRclH.Se t+69y03Z㝇r$ y;INN{&O3Q4jBD[h`\0c3k:#Myr<뛁n9OhHdɷ`W2e\fLӜvpO&;+Cck4 rTF˗*ȷt묤]%\F- 31Fg` R&vWv1}^pɸ5;nwܴu+ʽ^W1nFiח˘ƹ/5Wwe;w]]I`AHj`bVES+\1Z0N)5V;F *6k<6{<+96g۶srs\܈{(1h{׎.@w`LeFwɣd=뮮pCk(c,a,\ѱ;t-rraќ3>Jă:FFg+0,-2KXeSrʻyú//36 stb 1ן^ 6L]Qi.0wǝ%MѰ17v݃wyw`\NEWa\!^t^,z,`ݕ61 2 syw7<7eEж"-ݔvʩ#0tgctNM^J(܌Uo75.C|sō+p15+v{nV'-熙vbrbh\yת7ϝ>utLiw]4lkd퓃 v`p]wfDQnUv.܌W9%wAN.Fh\e\r]F i(Fcdw[;9_NH] Ƈx79ŸW74s_WwWw]&#r7Mv%Fp*G.EtdXlvv)O`ɹTd8jguG9^=2vD|'odoy52ss ʸs+(nks\tn0.|SV QБKbX4>8!pcG'&;xӗkG+ʹnU5˧m;1M.^zpwkvYݮ%ιkrص$J5wv"ы\P 79bhcoTɇ~ŭ4aKL}-װ\3FxBMgiCƌ1vƐ1fTgàjxMr/)RBzgVz_ oQ~svs9q# 2a\WWF lacYI 4t%c$iE5v ]MZr14)f.i1Q+U-8D_8w(DTժ:q]8ӕƐΖIDZR)3.*n0YƊ[.NMBʘiUwB gPMZfnx<ɜiASه/{H*Y{Xi)͛QLVJeLݨ,8l8\M:G=~9WCݨ@֪8fslM(aՕvTɓVBD,l,%sF&0H-ŀivj#6CjQ̫cd{6]11::GY&ɞ5-J0Z2A"CpƒL9#YuAC$fÉpc-9 88Z]iseƉ"s.r 0H2cH8s] XֺteFnamK߲}m#9"@cd&Q\v;㰹#1bdywkm(X ͪ8!8Rּo$u@q+J¥*baÌH흚ڱΟ!nWDeR4!pc`64\9\.vDof 㽯88\gAy :$<ΐr.SdA\<;\khɴd@Dv S; Gh+("̭+vfNC\EE6E2(9/^_*vMtq vywĦcqKIT߱ZTe_9r\qW'-zZ0s=Y̗.y&˙u\<&yOL4]skQʮX3cW=6Le8t1<"4hDtO'&4Rd/.p#SZZ`1,=154,9vA!duc1'2֓6Nl$ct&tpK*uj2q"Z2q53V1EhFqM$8ͅząd՝XaFRg16RҷC1/`. l GUL;6 "ڶNz*wMhY)L@@oM&ufrdW.ڃ(f@ct;e>{xC.qTә|cA.(#w[ϷE[3[v*}󝼰F^cwZ`5SS!.̘;-¬avpZL쓱AަvaQ+zESGݐuy2h㈽5k;M`8e#jÌ/BՊܕ235UwN9{kU*9K]4WeuZytP9Wu[|gț}/'ͱmZoIc&ҙGbon9#7AKDytrɲ@J9۶axoAb%a_3%ZAL.![&ۭ|0gBfqy;u/Zi,Z7ǍRe w]Cof t/ξLu~W݋wgdjMz@lod]HNi[e4wJUnMtѷyV"Jʛc]ײ.,rgWcɻǯEUlBvk1!u(-wXڶo-VѕnŷTnEݥviݧZN3_=Ǘ5T]Uˎ| ;他JYʫRճmm:,eP THj;辎)V[¨CTvn,YUu[ĕUnSb^z\n㨲dM%aKKvr]cUT8dFZ RVaέǣ =6L jQ݋:',fMrZRfe ,4|Oo[ymv :8UU]Qak-eK;o"f6+_$1f4~UgR/XK+n;{U"Qgh4ۮ* U jgQZbѠYǹIu\]丶y:7`ˑڊ7UUMbk}4.5Z# h3Q*8|,qb6])YcfflQaɓa4.\D%JQ#H|c@qdUC!"~^FX n.퇒eoM7r &Z#;)՞2\g J<}H͚_y@7Yᰠ8!jȰ5qU@>|1i̠Xٮ9IWk10QDFI=ΖYmhUԠ t<`J#폞dͣgGD[XH/1 8omCp>-VAX,W/0v񑫥G>]@8*>LM|KIX{%+O1!aD3+ I1t}׻(G1P|*0#$:Yil0U8Kd{k MA۽+~QBC1WX]֮[<qƆ#( U)zQbîySw,n$ѢPX 6soMmIgXNy|}2cl*Vgd ^ß6"Ր90ѼUA4vxY0ұV mωa.#YkC>;͚_,4PPԢ:wP{`;("L#zi#Q4\pX}/^t^4^KJ>N51Y@ ZZK' pu0CҠ#U$bhas i*;U/7F6eF|E$J[.ۻbu)xHg{q㹶wk g镞#.=uho{*o:鲌/9o wKݦ. uf3U\W*T.Qf9)Bo f^73A]YB>h0UVJ=v3+Q5+|(q2pB40ʎ ,vI!Q yv#W(KhprҲNJ_FyÔ[viCHO!#6Ǒg'k]LGd咡`5y•2 k:smD#Da>QW@&N]4e'HI {Y݆苫hU G qY*q6ЁkU2 bKD&R#9K #Wٛb?<B+|h4PVv# Y`w1> jjɪ/V"vQ3wwQ@~H SbYڴĢ=+[ZEmO51Wrlٸ䪒P' |H-(6g8r[ۤWG51f[GG"> p7j˽:pۺ r3vPWyuL)B4RfVZVv =:F;|~!šsZWY0θʄf\h1At{w&•l.7:;!U)a$73paB8l5[QZu]Jb ޱVK0[gnڠk]v \→e@e^4@wr<#] AjX4"*QeY̻zp"`>V]0jloVM^q duSE:vB̻[J8ݟ%.θt%j %zȯdu}N0=0OLu5x0ܧ.,u>v晌d@ f"Iv+TE]ldi$)tA$A yB+ sCSOjtoUQCj~^xR%/`R2[DLaH hY8W R0j3!gCDBU#;UyFYcpUOPE5 [S5AY xv;i;vO7 ?ɇ4Ǚ2%Dn;7M p8@H%7.iIOLB:zD*jm?'l N\G<͢C,KV!^5hhZ@^6.xi:Yqنh;)kClB1N>x!ρTU@9arh:Zx T^O4SA9i)w&K1/}G\ZcX (-=-8,eT{]^ k^!Ѧ M|E0<]0o/Xrv㼤8v|G!y >B<'<ֈ2qb2HR@˅lHPƦӆƻBiIltuFᕖuL5[~Z+3rEUno:}ټ;{2g T5T;;/yVu淛o48oR8B"tr<9f`z-iUt.EJ40n/"[RHpC!ψZZQ|^]sW{ \3(&EݴW[]زpPl5IubУ[[fn*Hc6T=Rh;40U\vnwEXMW Q]+#OCE0m7Ŧ#*yPfunPjmp5 ঍|][\QJs);0\``@UѠUQz3FntW%̹gox<  uwI+Qɨs] mN!۹oDR֙՛̭Me;@zBuEIX5k6V]Fi4 wh4&VͦNⱫ5ɨ5ZB5Q׫cG`Bт#EX,Uts;k<'lbu^2ڬj #$ )C<.Ϛ1,~Qt^nlXl,[.f.1o=af"{:<=y<}wqzAzX(% i]* tͧb-6d,FL0UZYE<;|F+ۡ ڹw ^rA(K-5uTm^$CG:G ffswޛcSvѻnIA96@>L@.G)DiNp5MriKZ!-JV 3sQgQRwO޺.s)sD$57)*Էj@D)5:xSG۹$T%(qS{|.JP\f&G2:UM&󠟕J}CfeY~sai'>Qͭ\s\gRtK'5B7G|ǫ`I]<39~m+Ҵ12{U# \?"yrD η+#NbT>3.RIw'+:Fyix2fz.,ͯi;]7;.bcGح^NZ]Wc-i"]( yƶ//i/Q?/f[{ك.yԄSDs|h\tO(ʯLk5scNr$>cwm+PGnύJBI\Tj#oLqH|.KΏ9ĶGS)xu{ރRc~+/QC":usʢ^/iuT ʎK[,VƓOvWuJGpNCRqG}cYE6k(tJIKΨIn(jxӢ +.^9kWJ{VY/<*-\"K'HP^Obg3>xCL,}$d޾4Mj'.sFss($Ny_4TmM;W] UӢC48ϒ|&I sun*'9l|˘ڳ6-[ZMM9Nپy8򓓊ʮZwNa4:܎Z{!-5¶6K:Mÿ=wޓ/wHȆ~͒Zi׹>:&Wbyׇ("rіNΊĤzbj++Hs#Qw\Ki펙+wgTE|S1NܺۚϣSqg xu_&2|z_{1jWqmZIY:sIE]S]\ouJ۶kkȽ\5TURȲ\ϑl͐,3rVӱ9tur9JRY0u`sQE~::">=WZj>z-Lӑ㇏Sroͺ //sHNd7ZBHhJ8}1n}ȟr(.K.Cϝp6Fm3g |LU %R.'\Bˢ?uM߂7uγ8/4))'u"^ &̺Wy8ܑ,Z<:!F`(H0I0).Q"^9lJ-[e[,Ok5.y=Lԝi#6y M 3q;әw XvN q՜"d;G˻32욇g3ji76A!d;g%9N &vY7L8屔s;sy&yp͕q3,:Pz)*7,uz7$=Y W2r ک]fv{Rk.VSowBstЦKf6nx0Mm32eVVTtzy/XJ72>M#6T;fu2xeE9uP0F9벉z ީԍu&[uڨ^=j 憖lWYDog #&xj^=V]72t=v˲8镐{Eef 1^!r̳٘kymFbW{tJsѪnd몱̬4_Mw)ys+9A=ɤ,en,rD̬6V>wT]Z}3n՞mI%nylF`iu^ݵ ӿYӈaB#s;+p/zy<tl\pB*(`wT|=/`gu +b˓a|Ckj$Vs&V)( `;_y}s>Q娷]UL@!=Rb(#>GAHS>ɾLb2C|ZWu 6~9u!%WM*%A!|'JTZjC:?.He@2eȯJ/A #-Qs!PU+='ɫo[Y*Ct(HJ n4hKBTVm 4 [l,y /k6$r++akOct| BH8򢢈=żk8`"oYۣ(Iy'P>,P ZĎ/k p}۲cU̺Ɇxj".@v!܉QNkM],L#K" KtG&<<Թq~qJaqc5E2 * ;ۑO $YeF[ AB4 IF<1Anڪʺ1 DH>ewwqjmr`Wt/p6 3I; SO-N#v92Rȴ!qxltC:ʹ~ce#.QPqj{,Tu%!X]VG[q1)! Mܼ雫\Cu#OLV!&@f9 ː\Bl甄~n*3 4DQknxY ߈2xoZK`%ӗlH "X-HrDthش ,a,WdYķE5t0¸O(I!"z)SawF ~'pZuQ =ĔW nVYsOC\aS*'o,QD0{<|{2UK1Agn( !W$ ,!d9 {fjt $> 0 K:mXJIV8 ̻U"m 0">")vHY3tGO=ʫKcc)ɲNAv4utdy$~Uv/ W97bC`7p7j.˔ LUHSLiϫeϊEĕZ!B jwAv״D !z̝/Iەg+_VIۤ׬:S<~Ȼcbd"ȁ&n8-N SJ˧&"yw'hQH)kUk k\$.9^65F*Ԗ)Z*xv='&vx1ij3Dީ٤wNU+NKMT%9Fs 2.uv/$ew4N.[&ɮ)?sS!9EW*:ro&WYL74C%R5$Ku:kii\NӲy:93K\j%6th]D#eןfڔy_m]*sҪWa$Tk0?|-0!VOeK*ʡ;|9nq$m;6ŗk톯%HG9h^g8rr]KF^؝ϱ9s?={}G$,/d]Uq-@xR-M3N'+*)c ^|g=ʫ]g2%K''l>"r4=46ޑY vپܠx=XrtgWג`?9O~MWɾm4Z޾+}TvVsK%fV}_jP*Ag.{tjt;;z̈́Vl*ה:rg)]>ˤS'Zy^ >}ڑ/}/ODL xB JDnUOz|5W?M¦EAH/kvHiIN MZKv#0p] Vtp kPV^Ϫ\MӣkuiWېbzwb/79{?nBebOɲ#K&HeN qb\7ϩVWp;fޕdxW1^Ș 2f m$ʝbϱg^uٗ(M%9$k>G:upV.^*4Nf`?,$f$ dQ9mioL'rMn,8hyv*[(' 2swWpۼ =?n뤋mJGyU.VEɂ]$2zgȗIEe$&VpI~7][+L^:β/OHYGo\`H.̵ˆ-h̕uZ3/řM9XQkm׈ל6@-x٭Φ[*卋+ʶNsN:KOTpQ"vN>E+l0Ͷ\rH~W#~9sWO.ȫTYHJK[RIڽ:[dsX|!)y벮vwYj; 9eӮkqT$*X453"вRU?MY0neGSO>zehӜw'Ri^Q3esJ~'F͞mNG ux2Uw;3i(I]$JY'7[tcg]4*~;3oHms\g--ks;dMҭ;r^Ȭ+ \VDuZ[r Ӛjui5^5 Hϯ='nZHEtm)"k_,銞Wt$bxZrr/: "B"AR! UY+P^g.Vfyļj={yjmG-Y$ ^r'.B 5W M-M1q⑮C EX5dѺn"g(gˤe2gnzxPJE/Y'6ڎLM=tnԺvKŽNb7DLjg!Dj(\vѵQZV\_H܋O]كFys[:b[lVXnYUNtZ6܉EGkwLo].J%񰭅Sv^;TKٱ=fRY"^^L@n1Lͤvo7zlݹp4^rIPY;1+G6nm6Kၜ-o9r*mݓW0g2,ۘ^`wDh ќ 2bӰݬ] ᦆǚKdfFsl+c%NRvp%\V,x+ÝJib'IN$Sv٬s-prA;n<}pAa%9YVIn46bJ0Lt/ۖfuiJӠPÎGyd:If)gU㧌}v]kVƾ2X{1;. |֐Mfp¦'vPJ9ڨ3FEfaTq'"*oPm^Z=&&cfgl >y9O%4MӏútX6)Y,ad3 U;18V`uKutg.󷦺Cd*MQ089%JM\z$M{P7 WrcwiNM$pİ:e8r.%BUCgDYPFi[Sͽ(Lg\ACCRXg{^,z,vWZpEUކYeEbi#ɒhXzh!9\)簽o޸f,vu͛x&sw? _.CFeu/;vilFUk76=koVWr[bB4[,rf v_̡|S%uDlMY((uuѻR\ueۗHS5혫EľՃdfUy[Ӫ9˫beV:qe yHUV , .+cDyR!`f+ 8|Gá:eH5E$+US wەgs9HJnl\쬳h63 ;_grtbץ,7* y+]V+n@b,fz;q[ȩIeح,Scءn4 b3n2ª&y3[LJSu5yJwe幯)lz ȬjV;ɼvsjCݩ=7`f -z9:-֙MŻ!bzW&(UU\gUy^0vuս+m-4($ܫu6YoM^x$gl 2!4$NXDb`fu/{^ Q<8WS+1;\XppҠti xl;Mnwjp/V)ktա=;eygYxtnJw8¬VخXkbIȮ(nUD!%$xb؈t봬lnUCsvLVۚ9ynJyґ3IkVc9Wq5$N7/qo 9*fNu,L~j&ٗPKﺋXkOjx_!YG"֭R x6; h9R&κV^x)TnچpZM^Paƽ~ݨ]gSwTy P.׻鮋BM,gR@>2Oh#|,ʩ *vijNlc!&cP|^iEV`%EhGF qgB{&a)>v:MDS2߄q] 'ÉL>CYE +X䄶t0;K2d,hIW܃V*,6Z07i&59_k 0FsG32IHu[jgoeD8¥u[[-b^f&pخ]杢Iz sN >(hx0SîeR(@xzӵ)-kꈇ#3s|xO,[AG)Jܸh՛[ͦԾ*^I&JL^ڷx.wD-ԡ Qm՞iQVבh Pt҄G*x 巗ImY zp ȼsHvxĘ'l:%"+hFl٣a98xU j1!vE]YCN *56gXjY]Jۺ W1|CV] x<-CJ"tC`mόV]T.!svg)K2NxS)->cHio']F=8mM Rp(H!bTBja+x^MED-l,яv2HFK~Q"TG`kX*TrTxŊ֨5VdobzPÓ_F7,,z}0|,LLʡP'\E" \eЮ^"Ը*IHiR2^0TZEՊ FfƮ`@9t 'ylUN# d6:H@Shvnn^`@~ Z/Mm9$툵H(~TcNybuF- Wz޼k]˲E}Z.w@d*ۦs bE  yhcf+UDi!e NI XF6K`@x]I^i针IH$^3em?/Na8@մUQ6`T.*R;L6<۳iW<ۖZSWJ')K+<%Wt5 [$) aX\UQ$3#"d#x4I4/ 0֕eshn+E,7wwnL`x(}R,4'C8x BqBI2 hdlQ jR|rH`NH#IaPBURK8ӤSixOgޚW[O!ϟA5_SY;Z}"^R[ҵ.XMsÉm|Ǟyot^'Ѽy$kp6Q;R$(}^B1*ӷAƇc FN(~ g.K+ͷ91ܢ9A2UZؼSjE]Q׭XI.^ЊtC/5D{t }`>r)'QLDoyL4DdbHdkm3_>;ǏϜm2HyzU#v֋ڑOqHߞ5{^7XSZ(mΗ6UUKUz+^+"X/\Ӭ;od/7{7<+ϣy%s(POk}>\r_.m|wC-y3)o>q%%6 F)D L VmZ-S/i{x{x$Ix|h^ A4g~ t>ֲl`go{qx=_'K;B%em^xNxxEOyʑz{$cW+ģ*UݕUsȗDK57kn0JXnN]yk{._ҹl_e Kݦ㝟 z**DT9!c$½/BsI$itUm>CZܜHJtVsDC~{ɼcuNGɼyb}";Ѝ>$u)oDS>^Y޺cNp l+a .\4gy3M0μ!lXdk̲Lsƞp*e3w9r" :x{{ʳ*xjMIJmf)g17a9 p@|^<9N"wg;aa:Badn;ͧOn9x."Cacn>rsr %vwwIէCNf$׌@YS:kpXeA2QhR:~$jRVhŚ)1d 3 3kyYG!MS) ,'lp38s{5%d 9;;ETk0`F!eG-6C cso7EFCd[7rTq4׭qwre*G?ٿ`?ܘvNG_ k:N Bȭ$wu&I%ݚs=<pʧvҁio]Xj)]Aו ]UPuD$dYR9;p"UŖm7V݊ηOGA>l*z`ُ oo.7Webf:Rrs\T,Ǻ;Y18h3Z DaƉ> `#@|nUEʥWڷu͚[zr[|bX6.엳%Ru҆g"J凄[u]}Q;!7/N;+(ԙ]Ym[ѣW睶e"ԃFl!yI8j9<=:맽v Z7`qdLʺD\ӥB!ۨeZ6ХT;eX'gM<ɥ1F׶ Vm^ݍ]UuCbU{G87Gseq|ޢCyб=^ǦRsѵ «s]+ۆCfLtR5UzzTW:vib̰\+E^il#UǮk鉾rڝ%:,ʾۦ6+[Av݊QC7rUM+qL#.U=@,\[WO .8Tpr#/(q.sJJh1ZNTSʍ n"6ުF8^3^Cڸ>|դ葚=X9jUgv NMŎ,{H%(nRoW`S\Ŵ+wMuVnOkM;Sx'UALH*:CTUػ,惩UNWPa4FFtbE1YfUcN|ф.ڎ,k1yK1ӡ{u.4{ypsۣRU@upܧdw|=hYԁQ;^gkkv UC}e DY~eYe׺=Q=L9^/v]CviUoT0%s~Hr;}6.D+qU릍u=0(0mtmeߵ^ebqgSeNofYc] lqRk^sR/GMw.zW^g4&yuھ>L^iɞ~﷯`e{dU)w'9翏~sr|`$9젢Q(Зy5om!]OVkøK",ψ2v6jQ'=#)%TB =6WH(A81Y( kc֬s5,݅Uj!dqBo=mgWƎ<ǒuQdե$jk ^̙9ˮ1ur^ޑ*w<ʪ˱k*vE,CJq1q ϙK26PAё0ֱ 졖1fa=R@#d!!=U\!.um %2MVPgh T5P;5L&֜T-e"[kKvQK#2^Z:[ޗ =v+x#rqxnO7rȣ)pF'V:p@{9IؽCOAJhܺGnPBt-"U]Vtt^^yaѵ_ -<@/wpo åy%dfJCش9XV0H%V.ƐoU̒*]YxlsuFJϛx'mrK(7EX3͵O/sIĨBzN28sߊw0>. _ @}3R";ć|oSxm̳ByMnB$$m/c$kNέ@h]b ŊaݺFHWP#i Q2u:)|kg6! OBxXiXp$k R'^thҶ˧4$7h" ⳋؗ]u$>:|5'+[R sQAjQmRR_n6yRET[y|O2C}g}g2y|ҪtJV{/5gJws9||"nW+R ^FV%fY<˰&/ uk9pWVG:NbZbebBe(3&@}Uέ2`SS!; C !GIT\uq8\ncvn}af.>q%:xS]<=gN͟hLXXm&$4zڵ"ۉ.OZxgX}}889&ף[C'\[ F>vBڱt+CE|?'_=WAIxRqMEAz Ij&a}NQ1QC4YyήbJqzhWo|EU$N>sFr ŤڼYޘ\}#>l'JyϚJUi#Q},@zWQt]gb Zp뭏.i]-{҃K:;v6=tTZO yA4Q"L*e $(4Oon&ngjj7w&}WYf/op/UUr꣒U:Xx<\um\{.Vf][|x8ܫ&C5ueq(wc҆lWkQx>AGu6kcwTD\s2=˺М.ݓ\Y"綻IIoR*߄xI3mS2qչ$Ꮶ U%Ui6^'Fs-{;:#۹)W,mR^1ɏ9oZiUE:]+Zkt+W:;׽ln\ oKʲ^{zÛBYG^|'R󫘹tN#ĬQU97KND!QusFQ5˼4DNf\m],+d2ZTP$"`i]%Sg~]Uy3\Ugr~aI]N%,#GgQrM(8vڷ7/m-bgYg>%*%H HBElp*, =[G v){yy^<8TLɉIu58|.j?=M[Ѣ3~YA{6~N* v_<{ *E\e&^uEKe6rIf煋!%7We:Bъ'J*Ww8tWVݨ/O'Mk1s .m>!̏q{9m\GRt}R䢍Kϐ]a{XMp-FO=8NUua 9^J~%WUP7RAʶ[l}y! %C:#)|UepR>Ov/g BSlFd >XjBO+.q%R'%^^K$o>ފYrr)vW'!vqcN7YcŜ &W˟e#+lSWG蒋m!K-Bx,WW9JźچS҄NN{;T참U6m.>Z9:||όkvKGôi,,.iLv N|kl˒ 7.kɹ'E^f]/>B3ͤ:WF;'MhsabG3A*>jxnJT#n(S>o َ6[7^¾w7B:Ԍ;g:+ gOE+ vTaDe:xt.nlg\S!eA2JQ"L aaMx@E㪧 r>~H֋3qxIŒImZUXyەϙ˚]N:.pjW:d4n%ʭ:)9 Sg`3;j- 8@V(-r\EܗkaH`;LO/Hn5*rEdqW܊:s_o{:Ǵd~>]CĠC^RtyE9kgjf|ⷫzS9lhʐ7)~eE0inSyj]a5];vKι$᝽"A'YXU|猜 e6&9<6彻nfnf"zMr)LMMy9w 0 6V̛45I&$*y .^ެy9UܙsNugf[<*.s ^,8蓈pK(жvGGӍ34xc 7W<xw]nLe8onw N3N\N#J^9gY-T agkn|{/ɛ#(RosƽNK3\3U8ӧs{VESEL9`aرq qyx0wX `g)q)xӍ~~/;T:\Z5.g.uV=鬚ՙԄYy~E•t;k8QY+37K]VnV,|Oj_h n@UV欵0SI;tZڲkZ/B.ϝqF|q=۩p'yzMQmVnnfnX˹V-ۋ4aW.mA9iuQ[0U-Gl"<יy8gLh{a*yr>)ad]Pou8tiB-*]Qxo7.d˺d5*઻<2%~weꕥP)v[w@]`pX4qڸaaN㋦]۵ptkvWCS}Yy[o]5bAEܷ="ؑ&pՎuEwP̝:ڼ^ 4 w^rӳ6^M૶Ъs㼯z:[ZqD͗өi6됼uJA ۇ3iMtZQr3d+Mګ`ޅۭ3kvU }Hh]9=4ÛKfŎVj6iKLaEWE*] n%r'׷eѨfl4!{`Է0/_/oհtY_gui.+WBN m᎖)}suٛ(N]z걽j>xXvFߦU^Pٷy uU4_x7V:R\YD1^ cP zǺe-M,YuV[:\)4^F&.n.k*U(dUZ4B'dB4(߭ev+± y ޝ)]-3W"n p8Y[EuGC ,k|T^ Τ b1,]s#iu׬W)˕BI!P=,8=h}pS'|\//yb1;VAW@.D=nVc's;&;nQ#;hp/H#tG-`$\An)<Ǜ'Ɠ=PQCߞic39q&Zda:iAl;9K-+׸㺫쎆 "Yn'=(466,Z=r˖vCө'+x@\0[C5-4-8Nڰ,I$ `еiE6Fz-Vk JSG̋>QyJ. \omc ӻJf/r2MaG<#dlhb+`QmxHHbV|C$E>/N3sEշR.SmS`y2 ՛tFJTby}m爲`yJ'c۶m{dUBu93)<57:SIZ}ìVշen ˉ}uc 狙0l4Qf!5j;^]We Z^,QW<ŇRy@V]֫lu Ur]O{"&S7 G*<#3%ȥP9WuϵTj$`FRoB뎬`ӝ Ùӏ^[N9fz2h{tm]C76W`7K ҭ]P^+.Ct<- TWrybue*cN:o>ψP Ao C]ƩlDxѾk)[7euty9tqQY⦌kd1/&Vr)-j]d{]{ͥ݉!+S.j!R=U& ѕ22.w+q\d.:,4.Ƅ*.~޷:@x^ UeU*URzCswRWÿvI.)5^3:cn]^eS2uMCPrGYAzFnq{ѫT_y-+%9;-|McŮ ؆6Nu{0Gˍ>T׾dXVmͪ/x@ýv/%vj"/ M7Yf+(zCx=qRՉ;lmv{UYU`9wowm7RókYԑ흧9Koze[Z<hYXfbCΐS={_NͶe1 հBa&! kY n>1R4VZX0n+\S36 |%˅K1"pj[E笗Gt1e=44c"A>Mѣ=Rӆq4!B׎iݒȭBb˩odk6"j䆞;OR!) †f.}3s(Ba"m ݑxq%n"J^ , bdU:¾T8ݸtO%u2f.Ji$=ې+פ4<ɤ xEV&% `l׭:±9ߔdB$ (ш_z]"3tO5⦕-Yl, Il gu\ZHf] 9KB7Jy"!hh *$xDcqTRopgMTQn*86"rI3n{aڃ ?j[bnBҺzi>;ic3quJ:_]mGg^_vL #t)=gz'bWnmGV]%n_{;8c)fVv ꮗYU%pF:]6_?^N[願sŕϺŋj`</ >~i5 O3R7 Ӈ?LX@Q?ۂR A[^DH9iq6BlwtwevQUZp/׏8\Y$4Epdx!4&^?/I8QHeuX"$ Rn#On&M YɆ^A#J݆~ncv$xCt p9c!P=Xo^\葫n 0%Y wq4% h"k-y!m% <)I ba Ƶ-e!%;aVeh0wd!\;mIZ > `4뀒|躌x@$QNɚɒW)  I$ҶU2KTAC>Rj\$L [V5SU)IQ䯛|gǾRB&ήmGѼ# ~$V2aX\P4!Ny%I* V*U-0[ۦo2>c "DQu2`5). D@B4JJ$pjTx ŷ3:qiюR<2n<<:۱EHC*DZbL&A4P(esw1e H]\ EGeg6A"+P(5XXU͚prI7Uˏ1(-x>\(@9YU0'YXr[oٷ ߙW6> 2.x8xiA8P5veEH4'edViߛhEit/|lƵBǞyR֚X.1]B5K1&F]Dut(Ѵ޽^}4[xJ_uڃ3E|U}m+r$yz{RkΫf8*}BDTln݇ה'R;{&5һ%;WVu4##iUlS{Tq4jKNkl2o$3)}!(IX|4Mu 9r \;u@blΠrZespz{>\ (٫-Cn0E(Mx $B@klxD0rsnfbNU *6*nV5YuF($:wCuص+5zB^dak04zfv Ȏ*ptm躢Ǻvr,s㖕RD{x^D(++RN/]ɘ&JctWRq۾fe^kK78lзU5.UabY$|6/sN69)%귶1c+,A5zDOkyrR˅)rN9T=K2SL-d>+ui-t|t*Yg6{v>{^}8햆4#Mnلˮᗶ- } lv}랊YS ;zc/sRhcxJpߋ9n4a̲@ mmi*H|ioKiN)Ldy`F졊Bغ OgJݠ`}#0vdGQ[eVTcqIN*lh=6оL&r6RTZ ڃ[}V{ 9بG՗(# "NF#]m΍.b 6TR< P @ESrj Qrw!@muvNx`FOzq=}^!X].+=z3v*]FtowFm\D1T]h+F h$w\,Ӌ(%hֲv[ڣʩkIsCLtC n4<k,PO'nQʙ!p÷ZQxKj|Zu. nr]rT[eyѳ(g9SgyurEPo'z-*w<>:BduI!Eզ]wrlaެ!&Z۸ss4Zp CN\'ݖX3;u 0ThTz8u].=g3ûX(HWcW6 +Y]p]qqܥN+k̜ uƇ,Y%փ{o0fgm::֑h!`K-P؈dkcrȭ5k$͘[ T r:r%/VX]!U\ 4^3SV:3J0d'jVUܲai.iWffKedWQQ@ZuZjwׇo)u >o0L*qFuV%Ûݒ]Rfr :nL"_՚ݣ0+Buam^irIST庪nwį]{޺9g GV:z'Ltr,Z5ӔeZuIdpU+v%^H }Ԯj!ޢ^WCaW^(jdž-OM![7hNb6qHł֫zb% ȇeI3UFJTpN8pꔯ7iܓ]s]FfѰ}XK2Nzm/]teκ+]$H+LW{^ ]=gb+w ys&Y;MsZ|V QgTt:}+ PtsZ1Ϊ|Pf8v;,vWhk01=m]QR6^o8w*MhYmwRҗ3s`~nL>UB>݀Βh:d諲ZJ- .:7S}ۏM&/ e|3ɫ١fR/fS1˃GgwuVz@ѰXƆ{M[!}7'JuĆ:47os rn~WyeuկT}# 3|X>㧫m TWՅi+ w:> {9=>yrK.!x WKv6b/ .qaYj,TyL}q.wLw<*ZYXGc7aowgmTM pTaeyu\ Z ޾/bAD6J;m^ܯ*8H; !X,vXU|JzDatơ ̺a,( r0'2̉UU~n8XUu5*:-KX\AчJ8x %eX=x\l6"ݶ1VfDBs.TL c6RYYwMu9+r| ! =; ]gZci6ƤATYƚ+01 Jr`|=5 ]a8,%ѐoЅ9#MqT<x _4ne)O=S6g^ L6sv\-y8ͭkq!AϋD4)^̬Ffr8o:*gURv&8Z3s+0fJUz9rw=b)nvάcY\82mk}(p, V {ueͷ#i ܨN~gc6i6a&RcFOqÃ;=^a{Mr|y" kX*|quv$ R4Wbdh{-Pp,v}Lx7+X7w.ygV3k/l(iZ+k72{[[Wz<*R&-p#ry׮I Y<퇍QŻ;ADuдq \0PKY]+ZlegVt.[ڳ7g QH=:yw^ t͉/̕T4fWqn8ZL̃hYbg/nAEh/298]ory4=bHj"٪>7U^Dĸرvpnsnnuem]hwbuBm>.eQdGa97aOoY~W=DOTn{X_;ܮWs+ڗgzu1oUVQ|\s,^Y']uj;&g 6 [7̺(VVwn%@&55wsVKhݬՕVeB ]S%̻j,hΓCBY^(st7/E+VxNv )#WZ}[S;4\.ƩonMkV\u;SbmZSqC䋯8jwnC3 Aww)YNL0C96]_j|v쬽}\/d:K7XWI}׻SxkV HV!vA3իn[-󦏚H [;gOwقQa[lm-J6M$1JHY}v N2]֮IBz BxD;}:#0m6e* گj}i⃧E}j:c|d[cumyWέ-oN *UUe[ӽ3]*`ъȻ)T9g*Olm,dKxI| UZR*G;*х ;ͮD5LT'ܿDXyxq `s6h(E?3=ytȡ @21qvM׆ĊGAQbi1VWW:VLO rO$;Sˡ$6lSJKKA`q;dP,D|1bj)liBOj#jKA*p뱡}u20mnZ+: OobH_2Ʈ3*C=e;p84Tӛ[/Pd#f>Å$KIFֽVH(.]<(R^0zV?x*G)O.lBujUM%Y,5 D9ei̓\5B" Y1,B)4|5V2 =k=O~=UGU7Ky|70Qr!d/XㇱWa_4}=m}'ՈI}~z4Q~C?'HH}L<?'?'r}sd +7^\o϶ Kյ-$B~鈾N|֧c$9p߮^J&6;V} bX4o+aH_l '/֘$Qlҷ[+zN.$En&"ZPƆ1'>O9߶OYK }T+.Z}=cg3/^~}}[_>~J_?^~dne4ۦU}z`uYra ?k`|Og1=z|Q+>Q}|p!aELAA>ow )?Dfȶˏͺ(軭ꌱf,!s<_͡V#X̔p?sˆu#t.H)mC˄~`DWԅoޕb+].ߓ_n5D=ϧg?40>COo~~~ŧϟÀaC!c3*z)kWk }aͷᄏוt[uāV]y8I=z(85z?5O}cʟŏ샛٤13Dۍu}_TDؽ a넗l;u 6h=_Ǎ$Gs%%SI zcߩ}?3vKz }w=<9p{q |$IU_?k0U|۹ߝ߿~ssߙ=ˠ4p/ܭ>>rl|dzϼ@O|Mۼ{_6`c6, |1~/W௟}}^(A+/1?>|W>rexϟ ג=ư~^]O=^XC8D WP?B"Om?i#L#[ܙuy{gZ)9Y͈O[XpJU{ħΗ(x"|!>1$ Iq)=W.31ac럕Sr?gw}XK?5|?9Q.8z"'O߹DI#k/mz<~4Ouϟ~eWUD$HUuFC?q}sEΒ(yfCZ'l|`֔ܧB }EK_<ϝ-w~\{z8N9~,il~,(afqܠbG/;ex?ZHoDp%ڢYI{M˟!}nzv_?7YȂ,|DMy>!˹cpmkCҕKRF.չjs"if{/=¨@ː#lOOʿ'xT?azsQ)~/~3ߟr|k?ոUr{6E^}2SosL(~@p?/rI wsr((ޠ?U?ӿ~~,48%I ! ^/((?!:}2`=,>|OS/~VwZK=./X~~?KԚ4;f^L?kڤ$] pVS`~OΞ~r{ ca>3|a?o֏ghڔ0g4?]ԟ*/'a.6؊S9H}Nc9!'+R1(}3 IE$i"G@dl Fw@}шHGϔz_/"o^E ]w*#zݏ2ic PiR>a[h/OY%K7@/bhV\B i~#@2VPDѽD0֟]qg02'J eqh _F^Xbr ?^~=~D%!"6>~?r_0|6Gۋg4d2B0K?5"_/۳PVO;qAu?O6 G~v?5P?͝G謹0İ?od8¼h *_gEտogw߆(!k`Yu?T'$?uq4V|D}@5Q"Co|3> .wd5ۋ ,zMdr_O;Se鬧/}f3FY>r *1l3I<,%ן· Y\ܙsnQO*7=Ov7^_b*% gHXx7rJwUFZH*2gmbM8hGLh`ĭiu$8EF?}(hCgCjF#R)>o0~P*x 2I~y>~`s,X>n'@8P?3չ=kݳ%}>DO.U}?h"/޺zZ_=ul3, J\~ #̌${kiSqv}A~{%+WӵVwPRoP>gk{U +՝/p˟S.uuwA5'L'Kv<.(} =>/Iǿi|?絘x6˗0O{>cYyY&/ٲBϥc.ҩ<(>%wmmG7/ŽÝWK"D~ҔH]#ۦ++b?(ݕság|?'|} r~}|La|]~7)oJSUb{H)}j򟲱,+wz>+> *V/1Ѓł3 }UTyy c"V!z6,ߞ k$oş6G bl"7׺d=Qi?ߛZKJW@U.x'<2V9 Lϟg?=Wa~WͧPe'Ӊq7@fzs=8Ϥ:+?o¡]nlS)a5qq9}R"$OB=>i!g{⠆$a)/ ?nCHB@z$Q!YM ωک'ۓD>U+ @P|},Ȯƿ{ρI={"XTT穇5nܞ#3uiU<, p>?}\2]Պ }B,a^P^A^AЇ=?c? =6.Tu? 9QgX,)3ِ4{z;ʺ#!G_}ه \Wlfץ~Nxüw<ogڞ*C=2![ [JUأ?σ*L4W}{4OPdWe?ZB4PlaE)FLA K籌 |(H ϗ?O>AC>sϯ~&X>}{>*D;ߔR>MY>!Hxϡ~ύ'` >P^wHR84F ~Mϐojw}rk+Y5A^[^bybGz:^A'c8sŐ¿ jD_ç'o 4m .C)}A/w_] 9'.~hy/!^`Jac{}}UPg_]0;ٞ.'"G֟Y`^q~O/s?+GX#__~ 2A|r'ކh߶}O/ԟnQXV+7;dgZ|ϾYlF(P%KlhlV(تdI&QP5,h4XH j,Hj2bd%2XD@Q1!61a2j1QƋFEAFƊ41M#TIZ5m4Qh1011"ZM -P 7ǯoXLͥT[ b6b4C2!_{8I$Xcw#}Fb1j(ҚI3iQRXMO\&IoLEQ6S"@ƨm0Y-D6,FѱIh̚ʼn6M2`lAlmIFţRdL[D$hZAPTʒ1-"FH5(1Af dQmEQRQ HTQ6FFPj4m%4,lQ4FD-43h2jB4H&ƓQ%A`MOz1`cH3i" VhI%QIhk̄2Y!EId/_Q&lj&)"X$ dDɑQIŤ bh 2M5V,&Lj HQ L$xhbK%WbKjLIP&X& 2QjE dIh1e ƄE1F1j_bX"&Ѧ$DFƴlbj!6,Ph XőQIKi2!J h+I$UbdPQz~#?>WߏE?[\]ys0晋\!^\3]n)q ׽vq³ { Loj@# 4e.T$y_ۿ2 eYK;3z{[[J^3/9?../(7cib̢sKfog9.1Zzh,ҍ@ FϓٖR ゆSW<{^sv-.]`xpy+{];e`ĉ]NBӬr'o=h9yL\1^op<))!$O4T+HJFm}o8\*- dB7lCƏrfۅeY6>a)qa(2KB42iad U;Yg57&2aVJ3Ȱd΃cZV ZwNd8c3~b,ma al01Ļ9?2,\M}zsGj?8M+M&$i4 d& 'Ϯ q2Li咇rggP&=q>ϰ}kj|>g,b¤_!Yb}kM|\<8I_JIa]B~ }f"U !dOm}cٯN>o wyWͩ*>fά1x~RHR$؋{cz]jED_D}.}N'ߓg w_%/qOÀ4I~?QqLB(.DbK߲YD};,*?O&HE fbj2{VH$K >1Z|>O!3=b>KCzߟ+k#[dB )~T$^&E?^)|P9ʨ_ @$~"|xB~wϻ 'R;ݟ/;#4>0 Mϸ>|:yKKy0"_@Fxj1+6ZK΅Qޝ3wNc7sPwMݵ$O ʿcp~~Ԅ:u- NS(4?ncN9ƷLk׃~y$",zQ@49n˖ZQAuwѸdy9g3֨%xTk(p<0EbrsjgNsyt1 TLJ@P8˙Mv'W">rjŃ 1 ܆dGL~/mll}yjruƱy"^Ј/n?ӥ@ʋD ھ‰X@CJ١TMy{Ɍ^GsN f{0eZ`DbrѤoI1:p³FYڍN#ɀÄ~\ϳ }}*(đy󮾩}pyWN |,4RDU^HiXeP*N4\"X^]8w{f/`6n0J>([Bׄ4(hVp4 ӀޓЎO& b+E$lf5nTdžlm4$ N_=u i0xr+fsߌ&d2>F=ExT,5liu|?. ̌߰i$גwPgiߗpdxr${yU$ (-{o}d4h1TjKDhƤ6PlC2Z(%b6#`b1TQlma+B d {z6ڋB&M2XV6466Fe&ϟvj_7Ȇ-4cb&F %Lb6F-cDʍC2Œ#&RbCTdbł4V ){|QT[E"fRDFmb,g]()b5b2*6V(4b+J6" *hPBRbX6b(؂5 Jj5ƈ߄q28ˀ8vUA9>yIb0XLI|W_Tsr^mE`iÀC(3ps'KwΐWw/R3d<<8jj^bQr5p6BѬ@:_ymP86[wIss3܃F <pX aX+'>r868meD@Mo:^{Fw+0ޱ`9 ^UTS9NJm!UN]6ml:7P_Z-*Vm`Pl+DKg9{gLFl9|dM’=bν %Ry{C <390q e9O<vOq^[0eyɽgR̵Ͱ+S.9R[9pS56\Riٜ2bֳV"n1D3Wdr 4N5sn!kȋPem tib ^HA^! DLr$|yR=q`(wnn iTVdpōdwwur)Dvو[h(eBі1+RPm*CP62YQ4l h@;B\4'w8\wp⋜J<( ܻ*QC.W9vpzw\L tj 7Uj/tǽӺܢX)p]K(Jsӻz;x1}hÔEL^TLP/(<c]!%ܧNu9ˮ;9nctsn㤜;Ls 91]]]ݹtS츖ܜ]rw9$hL*Ds]s%ݝvLd1Fww+\p rlc6eȊww\vsG';.m ?_wTKV,Kt<փPi\Ӯlww4:@#GKӇYStsuvqضykKoɕA&ۍHi+$q,Db0P]jK ͹ᇍ "8Nɝ_- bE]-o@ ~x)u Q֣z.ra'GOO❟>}=Yu~)-wGk[=jϰB>~[| u~ڛ,_u?  {{]NJ ?_һ>P>gsCPCߵ>|FJN5¾  @'B=(O;8s3ޜ1O>{M:2Y5_| ϛ#c3}YG~^ml*tlUוW^^ `y=M9SV[t}_B>~]\`\`RZ׵TYO>w~z/W<~vy'`}1ޝ7~ϐY z~I~|~7z~撱+}3ƶo \ߙ̘?'fÏZ@O400X?,Pk4AE϶@]>2?w=?۳\h1_+8m{{C7UQ3ι=pp)~Pyy|;LNcӡ>پL_N>oo5_y+'ςcio寿~{ɹ>`orщ~ﲿsx ퟙsOϨU ߟ+~__~_+_ϕ~AoO^zセSVM*ǧ?7OR+ˮEx|~z{0{(ӝ{ߟeB!4F=[Wc{vwgρ|,oeѵl]v?3n~oIz5.s7dt.7(ϳE_=jpk?]Q ڵ>}eXZW?OQd&1~|4>mP_/QyvW{p0W3Ϣ~w_Øk˺}6+pI٦J>+.O$YZ/,ٳik'ܹtϕL5FLa䳯?=?^M_">+5Tth~~~cs}avd>/}~:ͮO*[k}};k &Y~|'^%"stc&}O ]҇SO<:ډb ù3SYOĄDO?-;6^[?^bzn*qOƼb;ÏBl!ϥuS~/3}eCijyϐsNﱙώ?7ݺ ϋoU]_ૃmEJQϿ[4 ^Ue?kݾw,{7v ?rY$<+ο =ɔ_*!u,"oxB>r/Ĵ WϞ?~i?v1 _f2)]ߏ+/_ _O_ۃHg򸏗!i!~;l; f? ?ۥFͪwT,^G.t>ɻ[Oc jn_Lf8? ~(\y,؅NeKAm|}1{z*}(Qc~W,Kc囬/gЏ{Y}Oʞr`~S[~ǟ}2ճ[_zo"v='844|V|G/0ϫϣQ.E>y]W?<^1_(A(E~~~ÿ ҝJϵP ŖϪ5QWW^>}biV+=_~:F?M~ ߌ{)z?kE"2bo3b|<;!YwHW}?]\W{ng_U}?km VˢN{۷_~;GC;V67HT&=b+Sogp'?,omY5 mw圧-/g)fX:|>E>{{C3},5o}dW?=y}[e}4ZBWo }3E ; G~&??O'}Yˢk (w߃ُ,y䕿buw wagx(sn}C~딩8>WQWY'Gr.\j&EDUD;}vqy^Iݿ/Oޟ_}T~_ʬ5)~FBH9 DSuA-to̞?ϷRc?/ͲC> ϗ%+0f6-+=^l_&en㱥)}?kM?~/2ڟ~gg>5;WT{U[+=[|3[d5fgWڮO OwO'WYg߹~u:׾ӧ Sd{oB>]%nh(gǵA'i}ۿf"}#qWn~wM??/Nf^t=>U_o?ݘد17c1먾~_JVEcSQ s$=Q,=n[CN9l=ӷNB˿wOȽ&{r}~>!n8WT/}'_ȯ:.הݓw`Ԛpi>úW?O?(W?𮫯~zN'߲U+c_׷]G?~~U]|+NU>|}=_?-"'Ow"x|ʈ4BY2nu_?cn_a>6~oԨ}}_QESy߯nZyK|cQq*Ojzَ2_c~0,YpO}YϵSsG| G "{>4>y#>}/qC.LEСÙDyfow>~;?*v6;T|_]ct_!}}|(^>$O3hΆ|~;e!_7Kqmn3#E$)$sr(IQaP 仦i $ʜ/S<~g* D% dAB"|"V*[i{Namϟ=O;קR?G$ܽ pXOɛ9iT#Ü%/g攐BĆ /Ba$>JF ^mr7ĵu۽Q+"DgmNr]kʄ3ș$o?}|;ûʣ{ 9A9Y4){6+ ;rгi# [[U5rfEY($3xVwg1Ȉ43&/^\Ɇ&WD lQZvln鋚ɺ<Ӯk CkːkTDa=Y>j,=,R 7ΌxlE9TUV-wk`6e:x6l:ga"K=gD=t=31"\ qoxG( 9\c`(66UHRg1yNv0M[HZXNS*"qv7ȦR&DP!!qC0xsV\G<]oDjd.^it2ciRs/Ν[vqðk>>NYT}`FS% @^%|UΣ9ESt.<6U9 |i<$Bx3LiyQ&oO 6ܶx|uMEi㌼/Nzv 8R Þ{γc@t;CaOS].D,X ]Xc5/f5Z뜂7m?!&TxyA\ӾtOf^}f0sx&RäG1c>SDۭiApٖQ˳ uw4< :#̩L(ao.uQ0:X"-xiνH\YmΥGZ9P.;xc5 \6$ɮZN Fև^#C 79],]:=N:9Mûn"R?o?} y)o˴k[Kڌ]%\wg#m%}O%t& yk &ndj"!/0omg1wpswS/6f/~x9~ҧɍq4],ꃢ󜥾YR"vx_?_{Vڅdf5/6dvf]s>T(4#A5 d {ϗBl޽csv/g'T͎gA HVe: T^ZFisJΝe*SN:Spf}\ߞMe2K3'geZUwbyx̳#9X:睂`I6?*-cժ-LgyLyUO[rZF E4--4 دdA"l\>~*]xf {\CA-7I<@d"ʵM ^SN "89 -D*XAʔD9ޢV鯬 _*z%NoqدoJ]θc0y +J+~vj +N&e(֘L|wAD$\ 4FazW^>^'Ba{ϙ*xl4v8]kliD,b\88ltO_>XU"i2XBQ&4RlZ(ح1F)(dPP$ EF IPDDI**M$Mcf4VCbYZHS 5cd0b h jLb)6ɓA(ѣF-ř$ K4j,j Fы C F X2%cĔli(J+HF"LبecQb5i"L6(EM`Ѩc&Ŷ$XY$HDԄXdZ-F,hHej"نVM-& @DXeD$&TX AcL4DFE1FDɲmL &,@Y6S)dE4(J\#(آ  l,Dhf,Tb$,F2"6L4hEDb4)JL"$IbcbEd(o[}f"*"PT MlbƢhh+-T&-E!b!& 4&=FSbPZScMH-.vBTLTXƴhƒȅcXlFQm6,hѲkXɈԑcbF4FID$!IX$B- 13Ph6) 4EDMD1ۺTY4I4j5/(FHV6LeՋlj#R!be a d3}kd(宙D(ALZcQhX-cFV#lhѴIT3M3`L4L4QLQ$b e61y6hC)h,D#hرo눨ĉZ1A`-* eAcBTk5j4IQci6)IHMDfDm2RS$0`@I-F $C*$ѱI`#J IfQdej#IFd%ThJ+I%,$J( FiMIFD(K&~7"Kkb"<~L~,)^tk sHՒrhU]T\8NN 7irq2m;4h l2`̋]NĦqrc0Hhc+6Jc"iΛdN1ml{DlANѕN .y4l(6NdO.\t%avԊ[]֊N9vBh;'`2gW'&M0Lqbm#.ɩ r`YCțSѬFɸXјA2eF, V:6 .1ɷ,Mpij[^rI*1ƯS{)<]Y7" ޺I3ʹ&R-0Snv \ҹ֔TӞBL\EхN2wphT%S,]Ō9+ !]Qݸ+mpsyK&ݰ$09ywu|k$QܣtwW^l1_=ޒD,O;IRhb"1fZK"IIF+j ʃ^t#$Ao)M5ܬZ+0-\dXMJ3SA1L>{'y0 "E:WI yv]<9>;BO;˞t#ggBk*12rqLeLKrac q*KX4$o^IÓ<]CrRe n6!XQ)Z3lṉ(q* \h7)wX#qi̢Dp  qG ҆:&ð!Swu˜\ &;h ( ,r]2J *ISXmlܓ'$*[yp ILVq1S1[_/n2KݮCca)}ߊq_??IoOnus3!NsXvYT@LV^V!LT:H%nU#rK 4LyQm5i1`02ƘDGFΜ;1N\}=[1: QZڬbBnk,ηOp̻Ӏz`7]IlϞmW.fm6}{!wox2D~al|oӖ>_e?({brWSr[qQ&$*V*VD*Tz=#۱]0bN dG׮U_ߐ ܛ?_Χ?ch(oU++{ұUB|__ni>9)ȢPI1`TD@IR!Svcdd# 4 7P6@Q6F#mļ&͗RDU| ɥEhtK +yľJ \9%D. ?]˗oW=bo-o5LZ}>˥Q&?P-_-#|~ _?UJzU GY! CPTOT(K-/ cK;xiO=} Ŀ&lӇR>lvQKZHN&|$A$!u+: 0:.85>$/oQ_e0'= S~ݘQ>힯uPb"J,$R%@IaF 2& !B0&62s$FAPF$d6LaLkF$ch˜v層 S3I!(1664E͊ 3FJ&*$Lb(2"1Aɢ*J *CQF~'te2`BHZCDE#CR"; 13Ie6*D%\l3"lQRXi ƈj-%A٘I1 e!$Y TX҈QK$Jf(,fS&ChT!fL&@h2j10f&)5f%B0TV0aDhƍ1ejD4FI*!$FDŒA,D1X,m&,mFCXư[2hb1%*)%LJƄ!bKF32i dFƤ$neZ׾,Q*BJ$A5)?_ٟpA'~82,"- d ]}V h-b}[@ ,(f-#K5̰hfg5=zAU c1&1IZSch™~>wP-+~")AJT "" L6$&e5FYŃELQe1ad!dB%"&iSKbœILbMb4Z*BIcdѢea1lE I)2֍ 4m%%FMAK1E" F1(`(`EbƱZ4Zb~-MXlj4Tw~Ʃ**FF($%hL  4DL(FE ",S |DTt̔RX=ɚɩ,Fah4Y@4A&Li3S 3P0"LQQb4+&I5cG׭5V# ?nR "10EQ,hAaaHI0a,h(ԛ$X%Ab hBa2hfci4i1M/ۖ[&XD64dRY56%Pli i3&j"d&C%-H3d6#XJ4c$s?(gTCn_ﳼ{/y}z= τѠ~/z ~:hDV?a*>?{:?v%6_NjmZ)UDmMgo ߷?>۾| OzDvOcZ7AogeS񯸿>aPߴ/8=\#.|ϮY_Mڳ&x9z h 3D3齫JJ׿oaϧ)}s>z;[.OG$e :¶W^J9HGyC ye>iٌ̹7>ϧ2a]Ε38ip~_12ykHl\WBOnAdm/BƾUz?_[':̨HYzvta?Tuno>#ӿ (оCIﺽ az??*Yo|1^z6|~)/;_=*t)1sKxl>߾м__x wuK7ǿgyω8Aޱ[Qv/|lY-z{ ~V~w͒>21Hcr{_?l?|Nݟ]/}?eO7g|1̵_/} X9TE\׶3??|īGg1Ќ:Ƌݩ*|?{?ϛ:ϫSG>;Pt)lC?~UQ+ߟ0ͰQʭ?Fg-_|W{V|~c?_ߢ_}O˭z_Hcr~h|R- zSfd=􇿴=Al>5\r}rtTR!6CwIW_A_ ?GEݨ~QIS~5=7r&{9a| X"j nk_ӟ_Q~>p~j~5,A>NcXڑ~G_ߟa]o_s ?~lGMک׳={c~РOЉ~oԧ_]~s~Q}B>}#ߛvGV=/_L56?)xܥ-{wE寑mwS 1{X!_{ !e_7rgGXz|b_AOTx?ۖ??Gawϝ/YM>VA!_g|MQ=ߺ}Ow6og-VdwGpaGsOG>^ͱUcwڋԻg?? ,mgݡ;۸3 1~#xZ3[/^>Y>IW0r/ e//~jI'O7?߫Y~1ymu9:O;?ϬkɧOl~,_}دWGr~W^}ow`ޱ? ۧ˯?˯p*Tob_wщ޼庨I譾az}@ه?-,? S+q]1g6o/s+o/~,jpg_@_IZ:]fW>!cWT|oc_u[rvF!*_ԯ;~^|[??__?`NNo ~ N4 ͡R'9{>Z?~W{SϢ_??S͠}^{pI{Wz>,z??+oOןծw~o݋+i?_]|Y{)R@Ao+.l9t~GáT ^^=3@{?ew:ɦy_|$5!=HH^Iox@>ԧ['xB_ mE98U[f?\l9ϑHߟV2G?ۋoXb, |Ϳ7¬Y(URpӝ8;u]wQss5ucI.3M09_}obN~ 8yKU[o文OL"_֟}_{ޥ{R()rtT>8d O4`Y}Օ ʪJƚ{ʬ_@4h)DfHP՛Y#<&Be+zڕ&I';օMPbaƢ3}ʼ/AQ%pL v!yB{ o Y1!DG1n9lXϳxsQ?iur-ɧWr*]tZ(&wv,t(F빉`E$;-u2c1̵W!bR,PF0lQ Ql,Fgyp/wƻ2s.L:Gwa`` 0jQs&e,Pğ^)Í [ Y ,/k˄ח8mB㒾柂!rFĨeH+Ȱ#3Nf9njU+[6>y:?u}8.bW,)s16]D1dKO>Ku䧮7bC*e\wV淏ɑ=soKX׀)"44bn pj8f<5JCH[t@/k>}‰T1pj>a%^KN]b ZF rYəVd`j ѣJ׌j2;Y7W˜-qv3 #PbD&/==^m<(=! OUpR1꺖&lUԀ,Oڪ%,V'`Tt $x[TQ $їF\'_KFiC~Y[jyDU6VYaЇm^\*{U!kT}!ğzUi#Q6 )b}׀CxtWxJ`aP8) ]Ba!4;9ʢ}Gl%zLQZxs րi~/ؼ^iyQu+ 0 HM 0f>'ᕯ__pǨeEl#(̺[F(NULd~54rW< x2.ԁ,\J Wž jby:'~3ee5\^;_{ߓ_Z* "ɿ1\F}_BT Ē*)0A&"TQP )~F (+ff`3-$Ѣ4fb066 k3Ei D"ت&$@fT hJ64h*- `6Ƃ5ForZLdc%Ph&dR4QiP#1+X@BdC0lPQPffb1hj 1DlBd2bɲ2`5Ij,FXd@ QEI"FiQAE-F#dhQ!"#cFdجFbQ! I%b"R"P$JLRFLPZĔZ,V6dFaF4V(b!,TIQb+10LcX6FEb44I b!L6DY(lEY lPT@DȢ*"K$hI($EQ~Oۇ|bAe5 b&EAQBʒ""Bh1EM-id0T0EBbH !K61X5"ЛE3DC6%)AY61b Y,RE "(Q`đ3@lmԉY(D&FІ )4Q%2eBc`2fJ" TQRhB"6bm(10i4X#bń6T1i6 `ԚKcS1D0DV!*HH& ebڋ`ь[TibfRIi~C)li&D1 cE Db%C1XL5F}.cDb&PkIѢhTX4(EM- #(FPHTci H)@%c- " 1Y1DBIT  &"h5Q2HƤJ"aBQdY(6d S f̩KH P 4i-d(EcBCLfB@#)a$Ģ"MJDPM HVdS !IZ &HM""ef!!JDX6&DJ",heDCdZ4Y!HeHhBbLVdIARE%&lE,hB,Dj$,cd*eج F$d"1&LA3@EDRZ R4٤ U%%,2F(ђ",J#d i`A"ѱfDkM$ (6LIBS")3#0-D%LFJɒ6EJ& H5)!c%m e)c,*LHQbĔȊ!$bd4`ؑ(?;'?o_ook?_@ig` TkK-jXHdC| ??KP2h7ځ_'U6?oG96YEϬ}ɳ^Ҹ0l,Q_ v<>rُI.%zptJ}+xP*Yq8Z0۪NlLkati#*|JjrLb[ٻV'b.V@[ qb>ubh^)W?g}G~g^e BaidlYEm65%òD OIhks%PР((BG*VX: Ie re+%HP%]X۵K(7mS)su%%e8-8OMwGІ^֌IϭU|?c#~χ4W,C}mqgwiܞ(΀c_ڀ-]M KI} `~ LmE L~_")&G6Ҍא>fM^+-ni)FM/&ɗø&:%[t0֣ҀV9U֋C쑶/T,|n(( -.ps]M5zIKHF/ܴnP2a(䡪,R]un2~2uN(hͿ:'_b SRDiKh`B% Ie ZݠWA-tRJ1rNERQ#t%}rYJV%(6ʜVP%eB@WBrԩE G\, $[rPPA1`聮>_5Z,/l?t?jBD;bh^_Y`R؁I~.k~ {w@?M.ƬoS֑EVP#ߘӏWLqq@H#z:߷Prb IMsӍV),Oaڮɋ;17)/Eh ƭ98޺m  QPOᣲ%oc90؊T5`A~"!E5Oe6R!ӓη }o$q ;-fԚ_~g//W|?2BB85 YeJt -$CVs]`WKl*r mz0": %4 B,$ •J %vDeJt7g߿~ْOpƾo{n)-&vwgzNtP 'Ei}Uv#MU+xHVX$[@ouKR/-ݸ¸R)迹Iӛ3O)w{D{ߧO{oiޕ;oh]ۻ' d'K9zFw u$«ԉ,]7vxX^Kz"*^k牦8Dվm=NtKO(NvWISٺۓB ((b:Q8R I->w IJ@l}v9G S2VZN-r@NʐVd8lP[HFuIdp)),)Ѐ8R9)lS)~O}}ďy|3WY[+ Sv0_8o*qdN4h$CVn \; 1 R H_(=dO#A`rse0 1EJL: =>agR{NHkn|ݻn)XvO+*tqGcfI[YlŨ[P0[lǶV;?f )]w?IlZꌈ:00Ʉ>*.ΕJ ՙZ5jhNiuhC~`Y6i㣗(BDP:b뵠`Q9m,PLB g)B*nP KJ)B9jШ[(0L2%eKBXPh ?mw Z"p @d_ a-\8Z:$G߯Xg},G8N1߯Kj6[a.c"~3s3DYGG|8ki螏?nj!!nL_e! !2N4f~&D=rldl#CqM` '|{w;νž*T33\k.oޙ&wX a6h?k`C vh:4Xr1{~p؁~KN Gȼ?w?/ e9IG E)NAHB!)SK&lv1! 9Aڤ(JRjХTdrW( IGH PPdФndF Ykvr@PADQDAP]gP i"{v}qIkc_n!5Nzamx(߉ٮEXT?W0X,WlS?zjPIr)yR膺m6k-|CfcfR]gH~Y8~rOhB>ޯf:ٌW=wM_zhNF9ǐ|3+B b b l)Dmit Y`sݽ:%cc(JBܠ8P@+6r-$`Lt:*J(ZFZTF9lm$p%tJ-AA?~'}|8W:$wHV KM*12{ 8*W%LSyz`1ZB׆U_D]wЖ_yʿ#So|+^.w)G4:`lcdl% `/KRr1q|C/YbWߋmD(j%x]S':${Ŭt[ y]QXI嘖5$te S$ 8KaǢ.3Kcn\I&4q~H6w_T׫& D%7ʲ b%90])%9l!H Z7`EJ"A R\8 @RABJs%G%J6Z')JriрөҊZ ]+(Zh?v._ d'n?"gU>`za2l6n0V4,T')#;ezo;~7Htْ'wo߫&"Z:chj^QEv6LI9c``QD}9R-ܻm-C=C'^)/^p]}a{ק.ґQK4 Nj6& R y] ^1|@ୡm/ˠqꒄ;A5ʀL:%$+(7R01Tsw|jV ?K~a%(l() JZrp9-8t#!-o(Q!̮ )j`2Z %-RI-vWKJYzE-Rڜ5iIC[J@)֖(( }lIHmLzj/ r|ۇK?¹ϯZ~*{7m~$NUJZ6]ĦB]Rtzd=~Ө_xߘY4%&}@nm})3v\:,5be1!l=i`| N8㦥 K'H!}q=(p9tw`2KQtu,{* SKJ-=8F>bh3\4O VG$Hy#-69g/ϙe0P%S$Kh^`RJteZQ'C"PX7@'@+VzXC(+C$ Xhe +(&H @a)š$aE6Z҄R- !( b b QRUJla.z 6C'aiO?Sa >{TE|a}S.ɭ D׶[l.QQxeH0tI<3@mQ#z+fbizCNn~z=.%9[rDŽQIf iRuȮIWVWAʮY%j6ѓKKmfٔ 0^ T\|Ac)t3w|`8iΔG[WBG)dL+IeQ%X eeDNe[+MT) )[ih:rpAv4vXܮG(Z̔Zge 2ePHAQs!+)DQPPQ8u_،zyp6M>}}${a(C,EOup[u_$Ȧafی!玟# )OeOg}&c#oGQޤOLSvk8\0X'~oXJI JMʛ+Tl:# 6m!`86L h(QРJX9-pQe(Pfԛ ` ImNpRvJ -pm (! wD5bƖq"GZEC|T!?ׯ$ki%(WI2X[=ꙞR p}b^7K>_۹0ustX/|P*րMѩC 3%JM AEAQPҒ $r FPrZVZtrZ$\-]XQ(8 D ,(9DYNs.ɒ2$p2-*n?Mq%+WHfPJZr9,P?q;>}a؝s0|<`UI,Z!A!ΛgKX\H۹Wy̙Uÿ[}6n0xҥ+,WoٕhDS?+oL9#u+b*z$)i~k_z,Qgfۡh5wdts |xaH1b MCbʉGN%B6Ce m"@3!FLA;4nRQC9ِMN>xpԌAp:Q*l7͠9*rQ(WBhՖФ% YHJoY/K-eN`2#- J)[))췫9iiidi#hg@̖JRp 7dd҅mB &}~𶟥MZB @1"Aҽ/4L~lGI?K+δ&H.th9 (T`qϋxJc'1^*Էl8g~$3w^QDf>=5Cmp\>Pu1˗ 0&tFI*"ʍNP~)h68z=I/Wwi?gCm`x޻Ό!Lg}u,Vг|6ܤ PPJ^P`- )G, 8INВ)i)Qhݡ\de pi)J2XBZ'(,@ X eJJB9:ݗ>7-:G$H( (bA!(3䤈 uW0VA+G6I8^=~O~_O THCM`ꣿ-Ի!jV_ խAǨkɄ: 9湶9|_!ve. -kݮ)g$oT'`nrX Uv ͝B͜_H`GL>?_?_nal)3v-hdL8m5A.˶m%+ zYg;src`fv _w: 8 s15j{Ko@/)mG1.63x B QFAP1Fx#_Ia"s!:.CI_| s7A[tᐛiLYvw0.]H)sb8|M\hsMMGRZoR_p m07ƟMN˷c4d3g\(9t&-պ7bAH]#M֚:W|w=g޹r==‰]s-/mspFbo:NM!0_Q8/L)ɿ(\sa$pw :G0 (b0(0A^rڶ+'!{jl9YCGo\vRBGCZk]Su -ܠ"mG6ٌLM )5.3Mv(҅@ BSLx'CU(l+9%50aaQPEQ0Z0X$NĞ&>e6Cuie)_I|ksNeD?@/5,`> +WFeWHC_ӺqfI!u1xk4r0ׯR[տ4 $R"BdTrUIdIns^\ ˾2KvrM`g]Qϳ̘sPmcV= M]g t]b6 ~=&f1(P|EM-NGvJ3x_aآ(/(Ghm%7;BvxbhlhJͶrmnI.\XқPhM0Bۮ&kvZmu3X M.rKaL PRo6{= rt -%7ClJ( ;v{z@QQa_ģ_ 8rD@KH4_CίV?d5geΰAVkuBh ߡiԅLJ۽D"[ۧ}z_XK-ߨ)p~:_<Vn!(RQ0ۙv́[cr&1oluҚm1i4Ͳ'=c0eٳ6͵vvЃs/-ZT En-53m]Ʀ͗/~7ǿeRK6.9BݱT0lP0ŏ3jgUWׅLq|2jO?EObS} C7PzQf0߶h߽OZv_ۜFR &* 5gSOH奚J>}5y5Hm8uъ#ХY7ˬ_&]C1𣩚i%k=EokR~C0p(ݤy01v!7CrS@T_O 9mrMhHm,5)K  tp*J-1wm1f3abSr1tr+`uviW1 d=I6}=`lƲYocYD2R-JKw-)7in(j@ 00΢=̖5TdbCWp{jGτ;W5^+{,kꆘ.:羃ksfnIm(&n7͓g9~GF'tC}Nfq &Z j6h\I:u Q3;l%+L_(sy98o #Rz RWy~t=YNr_">(/}H'4Yxx~31c/Dg}߃ v_`hsd{ p(pr0ͅ$PQ5]Пά h{2Q\V h %{2)QK}r\.qMJ֨>|1~s$IGpE}!)cn a 79(ƶ˖+7zc_kW.4,-.I`5 PfYv@ݮW\M6ҁԯj˕][;Uƺ/njcdT2(xS+E0"%Z@vs9<+iHIG@ =zF kG 2 zfTqIpU_1 zPò)Yj" +o'݃{|{qҷ"jzh=KLNoyf(%~}/H LkeKw2Jzo-kM2,鱝l7)0Y)ڙj vj2v퇶K(Ke:3RK~ nߧEMkfXȏ~/g">QLCdHl {;/ §,ۗCuz! ws+ Y8w@7}|%) Hv?տYrvm65}ˏ.0te&+ºnuL#0?)j(Z+~8Y3,9 1ϛB[~ 8ULv.qԤno <J Ֆb%VBHTQp/'WӯB/_EJ<Ns*lUX^ȴUjcxKTK66r87Sf {몳{l}Un}M={XcKh|x{Jaנo]4]뷽4==x=ފ[{ R<!mv=).Z{۷} pcS{Y}?~6o{lL)i i|zz5}//5?G}_3''5UV6`3s?2%_,(H7㭰iL%cw,s^1GT*1wp)O=vs6e^5sPZe1ʕ>=!os} 6+3&"srb݅44JP}ޭAQS6(ޠߖ(RyW^E~> rT?SggV30a?ϰ2]W۸ՌAрO֖?z /&_\ڝ/!u~w4a/p91+]Tq"1{܆Xd9;zhyCн0 #$7k:/:O~ )RΈPs sPuLHfAA>Y [T]&e< /Ђ j(7"{齙`woZmo\iM5=ޛScKN@ltKss=ݽL.tnR+g}۽+8M@_rto{8doܯfoc৾̈́P¯ݸ cl.J sF6FѲޖjgOcKn0a!`Aa~ʺm6i]e??. ё3N&8 [ u?WZ?$l|s(|uI 4fTƔ~_n\60q}7WzXoT~Uv]0 }sBa4c)5-ϭH '6b},ly@sé,4vEH۬lM#4uZ͖uͷ80'+,3:̛-vcMWB PcL{| `sc>g}ϱ?Oʤ›Bǰ6R=6]{v޳mmLnRPRӭєow;v166%f01n$.vA˶](Q⇷$1 +)&g ]FGe`aF!AFPlt@}ql;}dڳ7z*'(qkOv˪Ƽ~{c"R{,0tb{Wy8xјgsaYC%Zlƒr[e;>G|"lLO 4(;d,_[vݩhv3#s nnyr;9Q 7_&. |. h0=R> M;s__O7CV)p1YMv=6G7[a!6_WΗyT^yXʺiM3onjkvSKPmOcr.0@ޢ}&,SNn)(6ޒw˲E6Je& iݶ0w3m oWzb(QFQAaUR+3O?; mE/ _SC[5Hu c pmAJo}HT&O >q] U/b ?9j\_D? iOO>EjN=D ק|ԮҚ6!#R %=ů(ݜK<a ,Pz-t=Sefr,Ma|Qbo}׸f2g-7ꑇ{J;y %K²k" d|z0__ 0B 7G1(O}C l{Ӹ{=ُU})v @U9M3Z{ov?ߏ/ǾݍLofsҎ7BmC]7v.CoF_wmػEԶ6!-a96m e3fsQA Q]51ݯ֫zL-%gv͌<!G搎ԛZ?Lq HG_'5]ohW~?j=1KFI|$bAm-6l$R3ďZ. R| 鋰b|1׶)h?]V5& g@μ &CW#ǙS~o&&.սF!>BYUt;7h. %=0n7AѤ<ćlDky3xa"y_}_O1+s0I}٥]{nvc} v勷Ջ;ޔ6$SS*˛l;0r%viOkMo}l?a=/~gU!:C5\fTeeqՁ6§@B Exmrpa9LZҌw%2jxPQU)9P׭+>Eȏ,$AiXGLOkR /G5gx'{> "`P›{JaF1r|( LjH7zn1aQQxڨٽ鎦) vsm}/^jx2ܨmJ1%(osrjm{[Th%rkn44ͮ s)`A[n,o-bۘ=mm%;Cmއﴤ}u;Z]Y o~γ}3O(s?N'ظK$B?w_e??Oݣu$ȝX%,Mf~E"R' [v`aQIՈI&o\ sPUsm| ).1noV.ZHS=5lW[A8k{|X`~Om3#rRݰYQpZ"jH?՘T!pT np\}Vyc#Y⼎oj ư+Ȍx,Ai=v˻醴iuY0  cd휴 $Ol9i  -~Yǿ>>|z>>4zUwZdʽ{[fVU\k*^^]Ve^b3ʕy̗23.VQCmHq=Ԕـ{}vw0ݶ{={j{9k0iMq1iwSon=bߟݮ~y.򽞅x*|yg?ϕ%_Dy?[s3[3?]$!>b/*EH6k/l;{1C#d` oKS(gKnn %»=2Qatl/8#`-ETeofQuveE՞g@;D5:OjM>nzٕcD;j %OGUrx< zjA v6lQioGݷgZcA1ƏU㩠[5x7?ϿAER (қawmz2})si.iiR[n@g6зav)%7ԺC}56 s qi`2[zRc{ J;meck Nk\&>z{ = oL)LAgt ӄ?۩l֯ʦ(}Of~C!?y{BcH/HMWz%q0;#?ƓgZ oJu 5eS})ʆd紇Ǖ.E܎Vyn"%PQ>sH ~nn+x4sP RhecdUjYY 2mx 1kw\%s萑 -)[t]lŨ#%'yeGt3[}>_/bv ~^= Eʆߺ͏jaŷmԸ}齖{Sm52LƗzS{)~[$nm4] n݌QUnP R_KzJ ,ˇi$YNS;c'd\SIv4]veJc+n AAaCQAQg ]i{+rH=[RC%M0 `FbUXd-(JWUs%33{暬9ॠ,_{*?kTBeG~nS?EzNwj X?Q$Pu6w_Фhw q.ىa | G*iՠXn;P"x)44;}(-]G̪ր懯=K_)IQAX6;aY(i~|+6ޯfӜ"0A`QM@2j[P(.Sd;i1l޲݇M(n10mn҂:k-{]MKۑhHm %9mc$Xis7S].5nKцq@Fa1E`DaF!FQAr1>nK~n+SM^g.OI0][c Oed떪̈kMM%@Rw3P9xa?T&>̬G|o<5l:XbFT"eJOJ=S?9huͯ}#ǰnRzWHXrwM`JPn4pi%o d*SVqQBwڣGEo CqPw6niǺL12V r!Chzq/2r| Ӑl- Ozء ~  (m^+`jW u&5mvUi dfZݔ.ɹM9%!Xƺ]}~Cm$)@4.Z56lnCmpmwIn1f?z{fҲam:0(A( Ša(#0;c1yn4(y? Gh }8}'JʱM91~Q+4^U;FN1/3r!</HϷ\a 5jD=qSDw"_nkwn r錪4`f[{O.]]9 >_E׬U-ii۪*g~g'͘L/xajT]X klev lwl箉?Z8 /Ű+Tmzgu49Z1z vnC%r;L{j}}} 00 a0 (j=4ŒGi1.5L7KBm+kuĚ$`y͓(K(vpۭ6Ʀ%x7nz[+(`' i Cmht퓷npt6%2RݹˌG\#(l( jhPd2bm?o|}|ƫ67zx(lߔuF!cl`U{ܤ ~?0?eyxJ})gw)T;A.{1?=Xl?MlHCnI_ E읉? t- ,1NQ?C?~_SgηVզmXmf /!L) n6 v=b[tˇ8ac ىpDuEţ㽄 M w<mBTthz-Bm{l B';5$=(N{s;pyΉ'ccTӞDωɣTt%xnRߧo?_q[ԍ `t5P{/Y X!|n& ŻmΞm7? Sm6E1 ]Pojhj>׻wv-5[S;i6DɺlZ^]i6ۣRû=.֒v-c-62ƴ)fbGC˷0n.61hmNZdmRPVKPEbfeIwцnΪ\B|4&G:EЯԿkY(` G9|WXB2YUr-(})}:?-EJK Mtg;_Е@?lǡSO Q-}~|£.*  RS>[`g̓F.oiHF2)e82'-1<69w_&ZS]#YH17yOD֏fܮh?w"cWa˕~ p2b]c# rey!&mwAAJס%}O>Kpݷwx\W1 #iQF2iJ=*X-p/6}ǤLHg?Ͽ`e&ڔ! +n J@S$Q6mqO/ga:":U9+D܌h]Dy>Ov۶fIn4(Cd6Ř-)^ ,ط] #t2[])t)m]up h2@ܫZq)WΔijzcdSn'Cl]zҲ +i$6횘6c L"\KV1~rۂK(+kn)Z#,-~ cSQlmY$,6y#W1QW?U#݌tN3!uY ?dGߙ:Zۡ37)?t}f_j7{v`ZJEŮ]q^t-TŒkہN:jwv(2bS֯ЎG1./:eQz!@g^\"]eiN,7N5;X|#__2> |\mU$U$X5Ҳβ|&~70^/ם&Oe)6m%ۣ.:]-tBYUٰcu67MژZI rmۥet*T H,r58F*ܦ]D 't\Ӂ3Ёt ֆ0L[LBm1Œ(WGwD؎pAT?9vsquk؉m^3M_ʨ+o~Ǡ L}֋!{Ce[8dy~ISCѮg$Vd>-Kyw l3hOqOM]A>GHg|3_`hߺߠ/-`h4U.$1ag_ /$S˶cr+HyLOC־[g89 sF_^:C^}w>}#ͶCkM)a-RLLr0m,))ںS+2Avuh [)dݵp)e즁XvZlܻ06464fmchjW]ƒ[/f2 ut`;KnaPaFaaF|d3?Ǻk4&I?_qkao| i(גˈumٸ[MIpo kskogMZ9KS079JߐܕƯF&dE/dA>Ǜg4y[.TOaz7NrrFXM-'G׻- ƔoRthZɖ /3b1}<{s ɓ"F66l5֗]96C\ݡ:vhZ z~;|_O>1"P6zVaq@9cb́8e8}t% ;Ml1 evG V\fYdCg{)7A۲VfIK Jlێ Jᇈei[oq},a֘*rʂRFPs ADAyNB'er:JmjJ ̋L-o?y6[X GOcza5t?ߥ"Oj/\vl^ Iʹ': w9JnK>/y>Xk6W8 vk ݧ(@Mq4ڽ޶,K `#t;R!VC }b[!L:S!4J``oȾxS<0/˖v\!u:ͦ["eJ$"jqccp Cx=RyE/|:&Ĵ-+mtRPd- :Jr 6V֤Kg%VPn R lv8K`s,rC;*VBp-!EQE1 o)܇41oBЗG,1n2˼?f_Q]ʵ Q]~Bn|l(-DYC_xtUg8A yKM_W}5$_mB{%$6 \|<W\횉pۤxMQUZ P;:g0}KFSl6'ϋﵪk${{|شjT*g }h?+یIy7jn`C??}9@ط=fåKe];6c(ڭ lb:6ˁvCPo=-R J9n\S( y=lwl FvJiޚkeиZQSLAmva6vl#mxClܱM?{~F:yY; 5>~7&ҍzÐ?^,+_tiN8^cp/p(a៵ߴYFd̒}CfQ~Y!k'"AШ+}4:L^/=_pڮ}-LĔО D?Bmo:a>6y$ۜ U'Ih+;\DĪzeMStc!ҾD܃ʜT0(Б ,XΜX;"Ju.z;*G]|*NQdFӽ j" !jl.ԖL91kMcT͵r3D̔֐8(mmmƭ`rkx ݀ոH&XH9M46NѲhZX::K^JnzK Kvm)vi&P!G56{@a{ŗwdyX||'% H?;Xu~~iO2}Qe077=y#[=Qom$J^btdO#֕aG~;"grNt*+=;)Ƒi4utʮViDr ~bc<n<T1V/pl1 1}a*7?{(+B[YU1#xzZG >T`)mffJaHV5 o3ԝq}{}}>M.g6P$ޖRiqiZݵ$b]KL"!aݓz lgM j9s'e5.۴JZKH!1Δ ;hmbQ3W@󍷾Md[lLAEPBaPK6_"|*dSU8Q,^a0g1!|'c( $_c9q?VFP^JOj(tFEL8SΩN3F$v>75^}v9kcN7(I̓@hȽ4WU3d&9^-΢K/Q##K#ce߶zU==2k .F57C`|mU ۋj'!eLi nۛlJl&@C7M Te-'02Cct u8%*rXN`\lID)nf`Bٍ&]mԠe& +݉p)[JX0R%@rцaaEADf^?RYf˸kC;rR[ '__N&;9s !o/K{hۜbmq#Ix0T ݗ$SW#;~R>ѽzobL//kǚъ*(rO|f۾h c_k$F{ +d,1hLL9^%1낖CD15SiJ\M3l4O0H8R7鞅,!Z2K?x7 Lu&?ǿ3'}#?x:Y%o.]rݪ3vKqCh"m\k܂m%l]LjmvKjjkLn4EdͶƖܤ6h%kqLdi] s }1罹p4 ml%e^sr]tH.(~DzzC= /<Ѽ{&.G% n#L [R g8,l߆қҼ&X”OрU#%zX=&=̯0vɟ۱ola;OljðT"gPkO7Ze+S%r}v1>\p^"U]6,iT]ᾫM[KdAbyuY"r; :&NpՓfCTI(0ʹ|'$sn Ňx̿ Ee}%ٹM.eSM.- &Zijji&ٽMTvV]ZFJhl)55uK&i [61Jn1cJ5J6e1l 6͛qlxǨ65p ez{v)z 2Q`A!_3\V3N]nJE|K>_u!78cuXD[yAZ?~}}:&~ kwC r{N@ ٛ<MSK1['k[ڹ^G^]X}o~O˥*`ږP¹(N$ aNWhhF EaN!IFe ABѻKlD l-X r`Xv*JUhW(suQPV[\kr+t{sx7H$rE8P@xtibus-table-1.5.0.20130419/data/Makefile.am0000644002345600234560000000201112024325440014340 00000000000000# vim:set noet ts=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # $Id: $ # pytable_DATA = pinyin_table.txt.bz2 pytabledir = $(pkgdatadir)/data EXTRA_DIST = \ pinyin_table.txt.bz2 \ $(NULL) MAINTAINERCLEANFILES = \ Makefile.in \ $(NULL) ibus-table-1.5.0.20130419/Makefile.in0000644002345600234560000006725112134204700013456 00000000000000# Makefile.in generated by automake 1.12.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2012 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__make_dryrun = \ { \ am__dry=no; \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ *) \ for am__flg in $$MAKEFLAGS; do \ case $$am__flg in \ *=*|--*) ;; \ *n*) am__dry=yes; break;; \ esac; \ done;; \ esac; \ test $$am__dry = yes; \ } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/ibus-table.pc.in \ $(srcdir)/ibus-table.spec.in $(top_srcdir)/configure ABOUT-NLS \ AUTHORS COPYING ChangeLog INSTALL NEWS config.guess \ config.rpath config.sub install-sh missing py-compile ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = ibus-table.spec ibus-table.pc CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(pkgconfigdir)" DATA = $(pkgconfig_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ cscope distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ IBUS_CFLAGS = @IBUS_CFLAGS@ IBUS_LIBS = @IBUS_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ # vim:set noet ts=4 # # ibus-table - The Table engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # DISTCHECK_CONFIGURE_FLAGS = \ --enable-additional \ $(NULL) SUBDIRS = \ engine \ icons \ m4 \ tables \ data \ po \ $(NULL) ACLOCAL_AMFLAGS = -I m4 pkgconfig_DATA = \ ibus-table.pc \ $(NULL) pkgconfigdir = $(libdir)/pkgconfig AUX_DIST = \ config.guess \ config.sub \ install-sh \ missing \ py-compile \ $(NULL) MAINTAINERCLEANFILES = \ Makefile.in \ aclocal.m4 \ configure \ $(AUX_DIST) \ $(NULL) EXTRA_DIST = \ config.rpath \ autogen.sh \ @PACKAGE_NAME@.spec \ $(NULL) noinst_DIST = \ $(NULL) all: all-recursive .SUFFIXES: am--refresh: Makefile @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): ibus-table.spec: $(top_builddir)/config.status $(srcdir)/ibus-table.spec.in cd $(top_builddir) && $(SHELL) ./config.status $@ ibus-table.pc: $(top_builddir)/config.status $(srcdir)/ibus-table.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ install-pkgconfigDATA: $(pkgconfig_DATA) @$(NORMAL_INSTALL) @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ done uninstall-pkgconfigDATA: @$(NORMAL_UNINSTALL) @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done cscopelist-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist-recursive cscopelist cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod u+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(pkgconfigdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-local mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-pkgconfigDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-pkgconfigDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \ cscopelist-recursive ctags-recursive install-am install-strip \ tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-cscope \ clean-generic clean-local cscope cscopelist \ cscopelist-recursive ctags ctags-recursive dist dist-all \ dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ dist-xz \ dist-zip distcheck distclean distclean-generic distclean-tags \ distcleancheck distdir distuninstallcheck dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-pkgconfigDATA install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-pkgconfigDATA #DISTCLEANFILES = \ # po/stamp-it \ # $(NULL) rpm: dist @PACKAGE_NAME@.spec rpmbuild -bb \ --define "_sourcedir `pwd`" \ --define "_builddir `pwd`" \ --define "_specdir `pwd`" \ --define "_rpmdir `pwd`" \ --define "_srcrpmdir `pwd`" \ @PACKAGE_NAME@.spec srpm: dist @PACKAGE_NAME@.spec rpmbuild -bs \ --define "_sourcedir `pwd`" \ --define "_builddir `pwd`" \ --define "_srcrpmdir `pwd`" \ --define "_rpmdir `pwd`" \ --define "_specdir `pwd`" \ @PACKAGE_NAME@.spec clean-rpm: $(RM) -r "`uname -i`" clean-local: clean-rpm # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ibus-table-1.5.0.20130419/engine/0000755002345600234560000000000012134204702012725 500000000000000ibus-table-1.5.0.20130419/engine/ibus-engine-table.in0000644002345600234560000000256612044160437016506 00000000000000#!/bin/sh # vim:set et sts=4 sw=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # prefix=@prefix@ datarootdir=@datarootdir@ datadir=@datadir@ export IBUS_TABLE_LOCATION=@datarootdir@/ibus-table for arg in $@; do case $arg in --xml | -x) exec @PYTHON@ @datarootdir@/ibus-table/engine/main.py --xml;; --help | -h) exec @PYTHON@ @datarootdir@/ibus-table/engine/main.py $@;; *) # first running speedmeter as a daemon #@PYTHON@ @datarootdir@/ibus-table/engine/speedmeter.py -d > /dev/null # then start our IME exec @PYTHON@ @datarootdir@/ibus-table/engine/main.py $@ exit 0 esac done ibus-table-1.5.0.20130419/engine/tabcreatedb.py0000644002345600234560000002726012133755002015471 00000000000000#!/usr/bin/python # -*- coding: utf-8 -*- # vim:et sts=4 sw=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # $Id: $ # import os import sys sys.path.append( os.path.dirname(os.path.abspath(__file__)) ) import tabsqlitedb import bz2 import re from optparse import OptionParser _invalid_keyname_chars = " \t\r\n\"$&<>,+=#!()'|{}[]?~`;%\\" def gconf_valid_keyname(kn): """ Keynames must be ascii, and must not contain any invalid characters >>> gconf_valid_keyname('nyannyan') True >>> gconf_valid_keyname('nyan nyan') False >>> gconf_valid_keyname('nyannyan[') False >>> gconf_valid_keyname('nyan\tnyan') False """ return not any(c in _invalid_keyname_chars or ord(c) > 127 for c in kn) class InvalidTableName(Exception): """ Raised when an invalid table name is given """ def __init__(self, name): self.table_name = name def __str__(self): return 'Value of NAME attribute (%s) cannot contain any of %r and must be all ascii' % (self.table_name, _invalid_keyname_chars) # we use OptionParser to parse the cmd arguments :) opt_parser = OptionParser() opt_parser.add_option( '-n', '--name', action = 'store', dest='name',default = None, help = 'set the database name we will use, default is %default') opt_parser.add_option( '-s', '--source', action = 'store', dest='source', default = 'xingma.txt.bz2', help = 'specifies the file which contains the source file of the IME. The default is %default') opt_parser.add_option( '-e', '--extra', action = 'store', dest='extra', default = '', help = 'specifies the file for the extra words for the IME. The default is %default') opt_parser.add_option( '-p', '--pinyin', action = 'store', dest='pinyin', default = '/usr/share/ibus-table/data/pinyin_table.txt.bz2', help = 'specifies the source file for the pinyin. The default is %default') opt_parser.add_option( '-o', '--no-create-index', action = 'store_false', dest='index', default = True, help = 'do not create an index for a database (Only for distrubution purposes, a normal user should not use this flag!)') opt_parser.add_option( '-i', '--create-index-only', action = 'store_true', dest='only_index', default = False, help = 'only create an index for an existing database') opt_parser.add_option( '-d', '--debug', action = 'store_true', dest='debug', default = False, help = 'print extra debug messages') opts,args = opt_parser.parse_args() if not opts.name and opts.only_index: print 'Please give me the database you want to create index on' sys.exit(2) if not opts.name: opts.name = os.path.basename(opts.source).split('.')[0] + '.db' def main (): def debug_print ( message ): if opts.debug: print message if not opts.only_index: try: os.unlink (opts.name) except: pass debug_print ("Processing Database") db = tabsqlitedb.tabsqlitedb ( filename = opts.name) #db.db.execute( 'PRAGMA synchronous = FULL; ' ) def parse_source (f): _attri = [] _table = [] _gouci = [] patt_com = re.compile(r'^###.*') patt_blank = re.compile(r'^[ \t]*$') patt_conf = re.compile(r'[^\t]*=[^\t]*') patt_table = re.compile(r'([^\t]+)\t([^\t]+)\t([^t]+)(\t.*)?$') patt_gouci = re.compile(r' *[^\s]+ *\t *[^\s]+ *$') patt_s = re.compile(r' *([^\s]+) *\t *([\x00-\xff]{3}) *\t *[^\s]+ *$') for l in f: if ( not patt_com.match(l) ) and ( not patt_blank.match(l) ): for _patt, _list in ( (patt_table,_table),(patt_gouci,_gouci),(patt_conf,_attri) ): if _patt.match(l): _list.append(l) break if not _gouci: #user didn't provide goucima, so we use the longest single character encode as the goucima. gouci_dict = {} for line in _table: res = patt_s.match(line) if res: if gouci_dict.has_key(res.group(2)): if len(res.group(1)) > len(gouci_dict[res.group(2)]): gouci_dict[res.group(2)] = res.group(1) else: gouci_dict[res.group(2)] = res.group(1) for key in gouci_dict: _gouci.append('%s\t%s' %(key,gouci_dict[key] ) ) _gouci.sort() return (_attri, _table, _gouci) def parse_pinyin (f): _pinyins = [] patt_com = re.compile(r'^#.*') patt_blank = re.compile(r'^[ \t]*$') patt_py = re.compile(r'(.*)\t(.*)\t(.*)') patt_yin = re.compile(r'[a-z]+[1-5]') for l in f: if ( not patt_com.match(l) ) and ( not patt_blank.match(l) ): res = patt_py.match(l) if res: yins = patt_yin.findall(res.group(2)) for yin in yins: _pinyins.append("%s\t%s\t%s" \ % (res.group(1), yin, res.group(3))) return _pinyins[:] def parse_extra (f): _extra = [] patt_com = re.compile(r'^###.*') patt_blank = re.compile(r'^[ \t]*$') patt_extra = re.compile(r'(.*)\t(.*)') patt_s = re.compile(r'(.*)\t([\x00-\xff]{3})\t.*') for l in f: if ( not patt_com.match(l) ) and ( not patt_blank.match(l) ): if patt_extra.match(l): _extra.append(l) return _extra def pinyin_parser (f): for py in f: _zi, _pinyin, _freq = unicode (py,'utf-8').strip ().split() yield (_pinyin, _zi, _freq) def phrase_parser (f): list=[] for l in f: xingma, phrase, freq = unicode (l, "utf-8").strip ().split ('\t')[:3] if phrase == 'NOSYMBOL': phrase = u'' list.append ( (xingma, phrase, int(freq), 0) ) return list def goucima_parser (f): for l in f: zi,gcm = unicode (l, "utf-8").strip ().split () yield (zi, gcm) def attribute_parser (f): for l in f: try: attr,val = unicode (l,"utf-8").strip().split ('=') except: attr,val = unicode (l,"utf-8").strip().split ('==') attr = attr.strip().lower() val = val.strip() if attr == 'name' and not gconf_valid_keyname(val): raise InvalidTableName(val) yield (attr,val) def extra_parser (f): list = [] for l in f: phrase, freq = unicode (l, "utf-8").strip ().split () try: _tabkey = db.parse_phrase_to_tabkeys(phrase) list.append( (_tabkey,phrase,freq,0) ) except: print '\"%s\" would not been added' % phrase.encode('utf-8') return list if opts.only_index: debug_print ('Only create Indexes') debug_print ( "Optimizing database " ) db.optimize_database () debug_print ('Create Indexes ') db.create_indexes ('main') debug_print ('Done! :D') return 0 # now we parse the ime source file debug_print ("\tLoad sources \"%s\"" % opts.source) patt_s = re.compile( r'.*\.bz2' ) _bz2s = patt_s.match(opts.source) if _bz2s: source = bz2.BZ2File ( opts.source, "r" ) else: source = file ( opts.source, 'r' ) # first get config line and table line and goucima line respectively debug_print ('\tParsing table source file ') attri,table,gouci = parse_source ( source ) debug_print ('\t get attribute of IME :)') attributes = attribute_parser ( attri ) debug_print ('\t add attributes into DB ') db.update_ime ( attributes ) db.create_tables ('main') # second, we use generators for database generating: debug_print ('\t get phrases of IME :)') phrases = phrase_parser ( table) # now we add things into db debug_print ('\t add phrases into DB ') db.add_phrases ( phrases ) if db.get_ime_property ('user_can_define_phrase').lower() == u'true': debug_print ('\t get goucima of IME :)') goucima = goucima_parser (gouci) debug_print ('\t add goucima into DB ') db.add_goucima ( goucima ) if db.get_ime_property ('pinyin_mode').lower() == u'true': debug_print ('\tLoad pinyin source \"%s\"' % opts.pinyin) _bz2p = patt_s.match(opts.pinyin) if _bz2p: pinyin_s = bz2.BZ2File ( opts.pinyin, "r" ) else: pinyin_s = file ( opts.pinyin, 'r' ) debug_print ('\tParsing pinyin source file ') pyline = parse_pinyin (pinyin_s) debug_print ('\tPreapring pinyin entries') pinyin = pinyin_parser (pyline) debug_print ('\t add pinyin into DB ') db.add_pinyin ( pinyin ) debug_print ("Optimizing database ") db.optimize_database () if db.get_ime_property ('user_can_define_phrase').lower() == u'true' and opts.extra: debug_print( '\tPreparing for adding extra words' ) db.create_indexes ('main') debug_print ('\tLoad extra words source \"%s\"' % opts.extra) _bz2p = patt_s.match(opts.extra) if _bz2p: extra_s = bz2.BZ2File ( opts.extra, "r" ) else: extra_s = file ( opts.extra, 'r' ) debug_print ('\tParsing extra words source file ') extraline = parse_extra (extra_s) debug_print ('\tPreparing extra words lines') db.cache_goucima() debug_print ('\t Goucima has been cache to memory') extrawds = extra_parser (extraline) debug_print( '\t we have %d extra phrases from source' % len(extrawds)) # first get the entry of original phrases from # phrases-[(xingma, phrase, int(freq), 0)] orig_phrases = {} map (lambda x: orig_phrases.update({"%s\t%s"%(x[0],x[1]):x}), phrases ) debug_print( '\t the len of orig_phrases is: %d' % len(orig_phrases) ) extra_phrases = {} map (lambda x: extra_phrases.update({"%s\t%s" %(x[0],x[1]):x}), extrawds ) debug_print ( '\t the len of extra_phrases is: %d' % len(extra_phrases) ) # pop duplicated keys map (lambda x: extra_phrases.pop(x) if orig_phrases.has_key(x) else 0, extra_phrases.keys() ) debug_print( '\t %d extra phrases will be added' % len(extra_phrases)) new_phrases = extra_phrases.values() debug_print ('\tAdding extra words into DB ') db.add_phrases (new_phrases) debug_print ("Optimizing database ") db.optimize_database () if opts.index: debug_print ('Create Indexes ') db.create_indexes ('main') else: debug_print ("We don't create index on database, you should only active this function only for distribution purpose") db.drop_indexes ('main') debug_print ('Done! :D') if __name__ == "__main__": main () ibus-table-1.5.0.20130419/engine/table.xml.in.in0000644002345600234560000000112612024325440015471 00000000000000 org.freedesktop.IBus.Table Table Component ${libexecdir}/ibus-engine-table --ibus @VERSION@ Yuwei Yu <acevery@gmail.com> LGPL http://code.google.com/p/ibus ibus-table ${pkgdatadir}/tables/ ibus-table-1.5.0.20130419/engine/factory.py0000644002345600234560000000776412107371617014716 00000000000000# -*- coding: utf-8 -*- # vim:et sw=4 sts=4 sw=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # $Id: $ # from gi.repository import IBus import table import tabsqlitedb import os from re import compile as re_compile path_patt = re_compile(r'[^a-zA-Z0-9_/]') from gettext import dgettext _ = lambda a : dgettext ("ibus-table", a) N_ = lambda a : a engine_base_path = "/com/redhat/IBus/engines/table/%s/engine/" class EngineFactory (IBus.Factory): """Table IM Engine Factory""" def __init__ (self, bus, db="", icon=""): # here the db should be the abs path to sql db # this is the backend sql db we need for our IME # we need get lots of IME property from this db :) #self.db = tabsqlitedb.tabsqlitedb( name = database ) if db: self.dbusname = os.path.basename(db).replace('.db','') udb = os.path.basename(db).replace('.db','-user.db') self.db = tabsqlitedb.tabsqlitedb( name = db,user_db = udb ) self.db.db.commit() self.dbdict = {self.dbusname:self.db} else: self.db = None self.dbdict = {} # init factory self.bus = bus super(EngineFactory,self).__init__ (connection=bus.get_connection(), object_path=IBus.PATH_FACTORY) self.engine_id=0 def do_create_engine(self, engine_name): # because we need db to be past to Engine # the type (engine_name) == dbus.String name = engine_name.encode ('utf8') self.engine_path = engine_base_path % path_patt.sub ('_', name) try: if not self.db: # first check self.dbdict if not name in self.dbdict: try: db_dir = os.path.join (os.getenv('IBUS_TABLE_LOCATION'),'tables') except: db_dir = "/usr/share/ibus-table/tables" db = os.path.join (db_dir,name+'.db') udb = name+'-user.db' if not os.path.exists(db): byo_db_dir = os.path.join(os.getenv('HOME'), '.ibus/byo-tables') db = os.path.join(byo_db_dir, name + '.db') _sq_db = tabsqlitedb.tabsqlitedb( name = db,user_db = udb ) _sq_db.db.commit() self.dbdict[name] = _sq_db else: name = self.dbusname engine = table.tabengine(self.bus, self.engine_path \ + str(self.engine_id), self.dbdict[name]) self.engine_id += 1 #return engine.get_dbus_object() return engine except: print "fail to create engine %s" % engine_name import traceback traceback.print_exc () raise Exception("Can not create engine %s" % engine_name) def do_destroy (self): '''Destructor, which finish some task for IME''' # ## we need to sync the temp userdb in memory to the user_db on disk for _db in self.dbdict: self.dbdict[_db].sync_usrdb () ##print "Have synced user db\n" super(EngineFactory,self).destroy() ibus-table-1.5.0.20130419/engine/tabdict.py0000644002345600234560000001234012107371617014643 00000000000000# -*- coding: utf-8 -*- # vim:et sts=4 sw=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # $Id: $ # import sys reload (sys) sys.setdefaultencoding('utf-8') def gen_uni(the_string): """ call unicode to convert utf-8 to unicode in py, just for convenience. """ return unicode(the_string, 'utf-8') tab_dict = { 'a':1, 'b':2, 'c':3, 'd':4, 'e':5, 'f':6, 'g':7, 'h':8, 'i':9, 'j':10, 'k':11, 'l':12, 'm':13, 'n':14, 'o':15, 'p':16, 'q':17, 'r':18, 's':19, 't':20, 'u':21, 'v':22, 'w':23, 'x':24, 'y':25, 'z':26, "'":27, ';':28, '`':29, '~':30, '!':31, '@':32, '#':33, '$':34, '%':35, '^':36, '&':37, '*':38, '(':39, ')':40, '-':41, '_':42, '=':43, '+':44, '[':45, ']':46, '{':47, '}':48, '|':49, '/':50, ':':51, '"':52, '<':53, '>':54, ',':55, '.':56, '?':57, '\\':58, 'A':59, 'B':60, 'C':61, 'D':62, 'E':63, 'F':64, 'G':65, 'H':66, 'I':67, 'J':68, 'K':69, 'L':70, 'M':71, 'N':72, 'O':73, 'P':74, 'Q':75, 'R':76, 'S':77, 'T':78, 'U':79, 'V':80, 'W':81, 'X':82, 'Y':83, 'Z':84, '0':85, '1':86, '2':87, '3':88, '4':89, '5':90, '6':91, '7':92, '8':93, '9':94, # for translit gen_uni('ä'):95, gen_uni('ö'):96, gen_uni('ü'):97, gen_uni('Ä'):98, gen_uni('Ö'):99, gen_uni('Ü'):100 } tab_key_list = tab_dict.keys() id_tab_dict = {} for key,id in tab_dict.items(): id_tab_dict[id] = key class tab_key(object): '''The class store''' def __init__(self, xm_key): self._key = xm_key try: self._key_id = tab_dict[xm_key] except KeyError, e: # give a false value self._key_id = -1 error_m = u'%s is not in tab_dict' % xm_key print error_m.encode('utf8') import traceback traceback.print_exc () def get_key_id(self): return self._key_id def get_key(self): return self._key def __str__(self): return self._key def __int__(self): return self._key_id def parse ( inputstr ): ids_input = [] try: ids_input = map (tab_key,inputstr) except: pass return ids_input[:] def deparse (id): '''deparse the id code of tables, id could be int or int in string form''' if id: id = int(id) if id in id_tab_dict: return id_tab_dict[id] else: return '' chinese_nc_chars="“”‘’《》〈〉〔〕「」『』【】〖〗()[]{}"\ ".。,、;:?!…—·ˉˇ¨々~‖∶"'`|"\ "⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛"\ "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯЁ"\ "ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ"\ "⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛"\ "㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕"\ "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ"\ "⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇"\ "€$¢£¥"\ "¤→↑←↓↖↗↘↙"\ "ァアィイゥウェエォオカガキギクグケゲコゴサザシジ"\ "スズセゼソゾタダチヂッツヅテデトドナニヌネノハバパ"\ "ヒビピフブプヘベペホボポマミムメモャヤュユョヨラ"\ "リルレロヮワヰヱヲンヴヵヶーヽヾ"\ "ぁあぃいぅうぇえぉおかがきぎぱくぐけげこごさざしじ"\ "すずせぜそぞただちぢっつづてでとどなにぬねのはば"\ "ひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらり"\ "るれろゎわゐゑをん゛゜ゝゞ"\ "勹灬冫艹屮辶刂匚阝廾丨虍彐卩钅冂冖宀疒肀丿攵凵犭"\ "亻彡饣礻扌氵纟亠囗忄讠衤廴尢夂丶"\ "āáǎàōóǒòêēéěèīíǐìǖǘǚǜüūúǔù"\ "+-<=>±×÷∈∏∑∕√∝∞∟∠∣∥∧∨∩∪∫∮"\ "∴∵∶∷∽≈≌≒≠≡≤≥≦≧≮≯⊕⊙⊥⊿℃°‰"\ "♂♀§№☆★○●◎◇◆□■△▲※〓#&@\^_ ̄"\ "абвгдежзийклмнопрстуфхцчшщъыьэюяё"\ "ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹβγδεζηαικλμνξοπρστυφθψω"\ "①②③④⑤⑥⑦⑧⑨⑩①②③④⑤⑥⑦⑧⑨⑩"\ "㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩"\ "ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄧㄨㄩ"\ "ㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦ" chinese_nocheck_chars = chinese_nc_chars.decode('utf8') ibus-table-1.5.0.20130419/engine/ibus-table-createdb.in0000644002345600234560000000212612044160437017002 00000000000000#!/bin/sh # vim:set et sts=4 sw=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # prefix=@prefix@ exec_prefix=@exec_prefix@ bindir=@bindir@ datarootdir=@datarootdir@ datadir=@datadir@ export IBUS_TABLE_DATA_DIR=@datarootdir@ export IBUS_TABLE_BIN_PATH=@bindir@ exec @PYTHON@ @datarootdir@/ibus-table/engine/tabcreatedb.py $@ ibus-table-1.5.0.20130419/engine/Makefile.in0000644002345600234560000005671612134204700014727 00000000000000# Makefile.in generated by automake 1.12.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2012 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # vim:set noet ts=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # VPATH = @srcdir@ am__make_dryrun = \ { \ am__dry=no; \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ *) \ for am__flg in $$MAKEFLAGS; do \ case $$am__flg in \ *=*|--*) ;; \ *n*) am__dry=yes; break;; \ esac; \ done;; \ esac; \ test $$am__dry = yes; \ } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = engine DIST_COMMON = $(engine_table_PYTHON) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/ibus-engine-table.in \ $(srcdir)/ibus-table-createdb.in $(srcdir)/table.xml.in.in \ $(top_srcdir)/py-compile ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = ibus-engine-table ibus-table-createdb \ table.xml.in CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libexecdir)" \ "$(DESTDIR)$(engine_tabledir)" "$(DESTDIR)$(man1dir)" \ "$(DESTDIR)$(enginedir)" "$(DESTDIR)$(engine_tabledir)" SCRIPTS = $(bin_SCRIPTS) $(libexec_SCRIPTS) SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__py_compile = PYTHON=$(PYTHON) $(SHELL) $(py_compile) py_compile = $(top_srcdir)/py-compile man1dir = $(mandir)/man1 NROFF = nroff MANS = $(man_MANS) DATA = $(engine_DATA) $(engine_table_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ IBUS_CFLAGS = @IBUS_CFLAGS@ IBUS_LIBS = @IBUS_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ DOC2MAN = docbook2man SGML = ibus-table-createdb.sgml BUILT_MANS = ibus-table-createdb.1 man_MANS = $(BUILT_MANS) engine_table_PYTHON = \ chinese_variants.py \ factory.py \ main.py \ table.py \ tabcreatedb.py \ tabdict.py \ tabsqlitedb.py \ $(NULL) engine_table_DATA = \ $(NULL) engine_tabledir = $(datadir)/ibus-table/engine bin_SCRIPTS = ibus-table-createdb libexec_SCRIPTS = ibus-engine-table engine_DATA = table.xml enginedir = $(datadir)/ibus/component EXTRA_DIST = \ ibus-table-createdb.in \ ibus-engine-table.in \ table.xml.in \ $(SGML) \ $(BUILT_MANS) \ $(NULL) CLEANFILES = \ *.pyc \ *.pyo \ ibus-engine-table \ ibus-table-createdb \ table.xml \ $(NULL) MAINTAINERCLEANFILES = \ Makefile.in \ $(NULL) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu engine/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu engine/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): ibus-engine-table: $(top_builddir)/config.status $(srcdir)/ibus-engine-table.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ ibus-table-createdb: $(top_builddir)/config.status $(srcdir)/ibus-table-createdb.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ table.xml.in: $(top_builddir)/config.status $(srcdir)/table.xml.in.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n' \ -e 'h;s|.*|.|' \ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) { files[d] = files[d] " " $$1; \ if (++n[d] == $(am__install_max)) { \ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ else { print "f", d "/" $$4, $$1 } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binSCRIPTS: @$(NORMAL_UNINSTALL) @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir) install-libexecSCRIPTS: $(libexec_SCRIPTS) @$(NORMAL_INSTALL) @list='$(libexec_SCRIPTS)'; test -n "$(libexecdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n' \ -e 'h;s|.*|.|' \ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) { files[d] = files[d] " " $$1; \ if (++n[d] == $(am__install_max)) { \ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ else { print "f", d "/" $$4, $$1 } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(libexecdir)$$dir'"; \ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(libexecdir)$$dir" || exit $$?; \ } \ ; done uninstall-libexecSCRIPTS: @$(NORMAL_UNINSTALL) @list='$(libexec_SCRIPTS)'; test -n "$(libexecdir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ dir='$(DESTDIR)$(libexecdir)'; $(am__uninstall_files_from_dir) install-engine_tablePYTHON: $(engine_table_PYTHON) @$(NORMAL_INSTALL) @list='$(engine_table_PYTHON)'; dlist=; list2=; test -n "$(engine_tabledir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(engine_tabledir)'"; \ $(MKDIR_P) "$(DESTDIR)$(engine_tabledir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \ if test -f $$b$$p; then \ $(am__strip_dir) \ dlist="$$dlist $$f"; \ list2="$$list2 $$b$$p"; \ else :; fi; \ done; \ for file in $$list2; do echo $$file; done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(engine_tabledir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(engine_tabledir)" || exit $$?; \ done || exit $$?; \ if test -n "$$dlist"; then \ $(am__py_compile) --destdir "$(DESTDIR)" \ --basedir "$(engine_tabledir)" $$dlist; \ else :; fi uninstall-engine_tablePYTHON: @$(NORMAL_UNINSTALL) @list='$(engine_table_PYTHON)'; test -n "$(engine_tabledir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ dir='$(DESTDIR)$(engine_tabledir)'; \ filesc=`echo "$$files" | sed 's|$$|c|'`; \ fileso=`echo "$$files" | sed 's|$$|o|'`; \ st=0; \ for files in "$$files" "$$filesc" "$$fileso"; do \ $(am__uninstall_files_from_dir) || st=$$?; \ done; \ exit $$st install-man1: $(man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(man_MANS)'; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) install-engineDATA: $(engine_DATA) @$(NORMAL_INSTALL) @list='$(engine_DATA)'; test -n "$(enginedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(enginedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(enginedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(enginedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(enginedir)" || exit $$?; \ done uninstall-engineDATA: @$(NORMAL_UNINSTALL) @list='$(engine_DATA)'; test -n "$(enginedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(enginedir)'; $(am__uninstall_files_from_dir) install-engine_tableDATA: $(engine_table_DATA) @$(NORMAL_INSTALL) @list='$(engine_table_DATA)'; test -n "$(engine_tabledir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(engine_tabledir)'"; \ $(MKDIR_P) "$(DESTDIR)$(engine_tabledir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(engine_tabledir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(engine_tabledir)" || exit $$?; \ done uninstall-engine_tableDATA: @$(NORMAL_UNINSTALL) @list='$(engine_table_DATA)'; test -n "$(engine_tabledir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(engine_tabledir)'; $(am__uninstall_files_from_dir) tags: TAGS TAGS: ctags: CTAGS CTAGS: cscope cscopelist: distdir: $(DISTFILES) @list='$(MANS)'; if test -n "$$list"; then \ list=`for p in $$list; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ if test -n "$$list" && \ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ echo " typically 'make maintainer-clean' will remove them" >&2; \ exit 1; \ else :; fi; \ else :; fi @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(SCRIPTS) $(MANS) $(DATA) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(engine_tabledir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(enginedir)" "$(DESTDIR)$(engine_tabledir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-engineDATA install-engine_tableDATA \ install-engine_tablePYTHON install-man install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binSCRIPTS install-libexecSCRIPTS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-man1 install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binSCRIPTS uninstall-engineDATA \ uninstall-engine_tableDATA uninstall-engine_tablePYTHON \ uninstall-libexecSCRIPTS uninstall-man uninstall-man: uninstall-man1 .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-binSCRIPTS install-data \ install-data-am install-dvi install-dvi-am install-engineDATA \ install-engine_tableDATA install-engine_tablePYTHON \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-libexecSCRIPTS \ install-man install-man1 install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ uninstall-am uninstall-binSCRIPTS uninstall-engineDATA \ uninstall-engine_tableDATA uninstall-engine_tablePYTHON \ uninstall-libexecSCRIPTS uninstall-man uninstall-man1 ${man_MANS}: ${SGML} $(AM_V_GEN) $(RM) $@; \ $(DOC2MAN) ${SGML}; \ $(RM) manpage.* table.xml: table.xml.in ( \ libexecdir=${libexecdir}; \ pkgdatadir=${pkgdatadir}; \ s=`cat $<`; \ eval "echo \"$${s}\""; \ ) > $@ test: $(ENV) \ IBUS_TABLE_LOCATION=$(abs_top_srcdir) \ DBUS_DEBUG=true \ LANG=en_US \ PYTHONPATH=$(abs_top_srcdir) \ $(PYTHON) $(srcdir)/main.py # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ibus-table-1.5.0.20130419/engine/main.py0000644002345600234560000002176112107371617014164 00000000000000# vim:et sts=4 sw=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # import os import sys import optparse from gi.repository import IBus from gi.repository import GLib import re patt = re.compile (r'<\?.*\?>\n') from signal import signal, SIGTERM, SIGINT import factory import tabsqlitedb try: db_dir = os.path.join (os.getenv('IBUS_TABLE_LOCATION'),'tables') byo_db_dir = os.path.join (os.getenv('HOME'), '.ibus/byo-tables') icon_dir = os.path.join (os.getenv('IBUS_TABLE_LOCATION'),'icons') except: db_dir = "/usr/share/ibus-table/tables" byo_db_dir = "~/.ibus/byo-tables" icon_dir = "/usr/share/ibus-table/icons" opt = optparse.OptionParser() opt.set_usage ('%prog --table a_table.db') opt.add_option('--table', '-t', action = 'store',type = 'string',dest = 'db',default = '', help = 'Set the IME table file, default: %default') opt.add_option('--daemon','-d', action = 'store_true',dest = 'daemon',default=False, help = 'Run as daemon, default: %default') opt.add_option('--ibus', '-i', action = 'store_true',dest = 'ibus',default = False, help = 'Set the IME icon file, default: %default') opt.add_option('--xml', '-x', action = 'store_true',dest = 'xml',default = False, help = 'output the engines xml part, default: %default') opt.add_option('--no-debug', '-n', action = 'store_false',dest = 'debug',default = True, help = 'redirect stdout and stderr to ~/.ibus/tables/debug.log, default: %default') (options, args) = opt.parse_args() #if not options.db: # opt.error('no db found!') if (not options.xml) and options.debug: if not os.access ( os.path.expanduser('~/.ibus/tables'), os.F_OK): os.system ('mkdir -p ~/.ibus/tables') logfile = os.path.expanduser('~/.ibus/tables/debug.log') sys.stdout = open (logfile,'a',0) sys.stderr = open (logfile,'a',0) from time import strftime print '--- ', strftime('%Y-%m-%d: %H:%M:%S'), ' ---' class IMApp: def __init__(self, dbfile, exec_by_ibus): self.__mainloop = GLib.MainLoop() self.__bus = IBus.Bus() self.__bus.connect("disconnected", self.__bus_destroy_cb) self.__factory = factory.EngineFactory(self.__bus, dbfile) self.destroied = False if exec_by_ibus: self.__bus.request_name("org.freedesktop.IBus.Table", 0) else: self.__component = IBus.Component(name="org.freedesktop.IBus.Table", description="Table Component", version="0.1.0", license="GPL", author="Yuwei Yu ", homepage="http://code.google.com/p/ibus/", textdomain="ibus-table") # now we get IME info from self.__factory.db name = self.__factory.db.get_ime_property ("name") longname = name description = self.__factory.db.get_ime_property ("description") language = self.__factory.db.get_ime_property ("languages") license = self.__factory.db.get_ime_property ("credit") author = self.__factory.db.get_ime_property ("author") icon = self.__factory.db.get_ime_property ("icon") if icon: icon = os.path.join (icon_dir, icon) if not os.access( icon, os.F_OK): icon = '' layout = self.__factory.db.get_ime_property ("layout") engine = IBus.EngineDesc(name=name, longname=longname, description=description, language=language, license=license, author=author, icon=icon, layout=layout) self.__component.add_engine(engine) self.__bus.register_component(self.__component) def run(self): self.__mainloop.run() self.__bus_destroy_cb() def quit(self): self.__bus_destroy_cb() def __bus_destroy_cb(self, bus=None): if self.destroied: return print "finalizing:)" self.__factory.do_destroy() self.destroied = True self.__mainloop.quit() def cleanup (ima_ins): ima_ins.quit() sys.exit() def indent(elem, level=0): '''Use to format xml Element pretty :)''' i = "\n" + level*" " if len(elem): if not elem.text or not elem.text.strip(): elem.text = i + " " for e in elem: indent(e, level+1) if not e.tail or not e.tail.strip(): e.tail = i + " " if not e.tail or not e.tail.strip(): e.tail = i else: if level and (not elem.tail or not elem.tail.strip()): elem.tail = i def main(): if options.xml: from locale import getdefaultlocale from xml.etree.ElementTree import Element, SubElement, tostring # we will output the engines xml and return. # 1. we find all dbs in db_dir and extract the infos into # Elements dbs = os.listdir(db_dir) dbs = filter (lambda x: x.endswith('.db'), dbs) byo_dbs = [] if os.path.isdir(byo_db_dir): byo_dbs = os.listdir(byo_db_dir) byo_dbs = filter (lambda x: x.endswith('.db'), byo_dbs) _all_dbs = [] for _db in dbs: _all_dbs.append(os.path.join (db_dir, _db)) for _db in byo_dbs: _all_dbs.append(os.path.join (byo_db_dir, _db)) egs = Element('engines') for _db in _all_dbs: _sq_db = tabsqlitedb.tabsqlitedb (_db) _engine = SubElement (egs,'engine') _name = SubElement (_engine, 'name') _name.text = os.path.basename(_db).replace ('.db','') _longname = SubElement (_engine, 'longname') _longname.text = '' try: _locale = getdefaultlocale()[0].lower() _longname.text = _sq_db.get_ime_property ( \ '.'.join(['name',_locale]) ) except: pass if not _longname.text: _longname.text = _name.text _language = SubElement (_engine, 'language') _langs = _sq_db.get_ime_property ('languages') if _langs: _langs = _langs.split (',') if len (_langs) == 1: _language.text = _langs[0].strip() else: # we ignore the place _language.text = _langs[0].strip().split('_')[0] _license = SubElement (_engine, 'license') _license.text = _sq_db.get_ime_property ('license') _author = SubElement (_engine, 'author') _author.text = _sq_db.get_ime_property ('author') _icon = SubElement (_engine, 'icon') _icon_basename = _sq_db.get_ime_property ('icon') if _icon_basename: _icon.text = os.path.join (icon_dir, _icon_basename) _layout = SubElement (_engine, 'layout') _layout.text = _sq_db.get_ime_property ('layout') _desc = SubElement (_engine, 'description') _desc.text = _sq_db.get_ime_property ('description') # now format the xmlout pretty indent (egs) egsout = tostring (egs, encoding='utf8') egsout = patt.sub ('',egsout) print egsout return 0 if options.daemon : if os.fork(): sys.exit() if options.db: if os.access( options.db, os.F_OK): db = options.db else: db = '%s%s%s' % (db_dir,os.path.sep, os.path.basename(options.db) ) else: db="" ima=IMApp(db, options.ibus) signal (SIGTERM, lambda signum, stack_frame: cleanup(ima)) signal (SIGINT, lambda signum, stack_frame: cleanup(ima)) try: ima.run() except KeyboardInterrupt: ima.quit() if __name__ == "__main__": main() ibus-table-1.5.0.20130419/engine/tabsqlitedb.py0000644002345600234560000013557312107371617015545 00000000000000# -*- coding: utf-8 -*- # vim:et sts=4 sw=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # $Id: $ # import os import os.path as path from sys import stderr import sqlite3 import tabdict import uuid import time import re import chinese_variants patt_r = re.compile(r'c([ea])(\d):(.*)') patt_p = re.compile(r'p(-{0,1}\d)(-{0,1}\d)') # first make some number index we will used :) #(MLEN, CLEN, M0, M1, M2, M3, M4, PHRASE, FREQ, USER_FREQ) = range (0,10) class tabsqlitedb: '''Phrase database for tables''' def __init__(self, name = 'table.db', user_db = None, filename = None ): # use filename when you are creating db from source # use name when you are using db # first we use the Parse in tabdict, which transform the char(a,b,c,...) to int(1,2,3,...) to fasten the sql enquiry self.parse = tabdict.parse self.deparse = tabdict.deparse self._add_phrase_sqlstr = '' self.old_phrases=[] self.ime_property_cache = {} if filename: # now we are creating db self.db = sqlite3.connect( filename ) else: try: os.system('cat %s > /dev/null' % name) except: pass # open system phrase db self.db = sqlite3.connect( name ) try: self.db.execute( 'PRAGMA page_size = 8192; ' ) self.db.execute( 'PRAGMA cache_size = 20000; ' ) # increase the cache size to speedup sqlite enquiry self.db.execute( 'PRAGMA temp_store = MEMORY; ' ) self.db.execute( 'PRAGMA synchronous = OFF; ' ) except: print 'encountering error when init db' pass # create IME property table self.db.executescript('CREATE TABLE IF NOT EXISTS main.ime (attr TEXT, val TEXT);') # make sure we have values in ime table. if not self.db.execute('SELECT val FROM main.ime \ WHERE attr="name";').fetchall(): ime_keys={'name':'', 'name.zh_cn':'', 'name.zh_hk':'', 'name.zh_tw':'', 'author':'somebody', 'uuid':'%s' % uuid.uuid4(), 'serial_number':'%s' % time.strftime('%Y%m%d'), 'icon':'ibus-table.svg', 'license':'LGPL', 'languages':'', 'language_filter':'', 'valid_input_chars':'abcdefghijklmnopqrstuvwxyz', 'max_key_length':'4', # 'commit_keys':'space', # 'forward_keys':'Return', 'select_keys':'1,2,3,4,5,6,7,8,9,0', 'page_up_keys':'Page_Up,minus', 'page_down_keys':'Page_Down,equal', 'status_prompt':'', 'def_full_width_punct':'TRUE', 'def_full_width_letter':'FALSE', 'user_can_define_phrase':'FALSE', 'pinyin_mode':'FALSE', 'dynamic_adjust':'FALSE', 'auto_select':'false', 'auto_commit':'false', #'no_check_chars':u'', 'description':'A IME under IBus Table', 'layout':'us', 'rules':'', #'rules':'ce2:p11+p12+p21+p22;ce3:p11+p21+p22+p31;ca4:p11+p21+p31+p41'} 'least_commit_length':'0', 'start_chars':'', 'orientation':'1' # we use this entry for those IME, which don't # have rules to build up phrase, but still need # auto commit to preedit } # inital the attribute in ime table, which should be updated from mabiao for _name in ime_keys: sqlstr = 'INSERT INTO main.ime (attr,val) VALUES (?,?);' self.db.execute( sqlstr, (_name,ime_keys[_name]) ) # share variables in this class: self._mlen = int ( self.get_ime_property ("max_key_length") ) # for chinese self._is_chinese = self.is_chinese() # for fast add word self._set_add_phrase_sqlstr() #(ID, MLEN, CLEN, M0, M1, M2, M3, M4, CATEGORY, PHRASE, FREQ, USER_FREQ) = range (0,12) self._pt_index = ['id', 'mlen', 'clen'] for i in range(self._mlen): self._pt_index.append ('m%d' %i) if self._is_chinese: self._pt_index += ['category'] self._pt_index += ['phrase','freq','user_freq'] self.user_can_define_phrase = self.get_ime_property('user_can_define_phrase') if self.user_can_define_phrase: if self.user_can_define_phrase.lower() == u'true' : self.user_can_define_phrase = True else: self.user_can_define_phrase = False else: print 'Could not find "user_can_define_phrase" entry from database, is it a outdated database?' self.user_can_define_phrase = False self.dynamic_adjust = self.get_ime_property('dynamic_adjust') if self.dynamic_adjust: if self.dynamic_adjust.lower() == u'true' : self.dynamic_adjust = True else: self.dynamic_adjust = False else: print 'Could not find "dynamic_adjust" entry from database, is it a outdated database?' self.dynamic_adjust = False self.rules = self.get_rules () self.pkeylens = [] self.pkeylens = self.phrase_keys_len () self.startchars = self.get_start_chars () #self._no_check_chars = self.get_no_check_chars() # for fast gouci self._goucima={} if filename: # since we just creating db, we do not need userdb and mudb return # user database: if user_db != None: home_path = os.getenv ("HOME") tables_path = path.join (home_path, ".ibus", "tables") user_db = path.join (tables_path, user_db) if not path.isdir (tables_path): os.makedirs (tables_path) try: desc = self.get_database_desc (user_db) if desc == None : self.init_user_db (user_db) elif desc["version"] != "0.5": new_name = "%s.%d" %(user_db, os.getpid()) print >> stderr, "Can not support the user db. We will rename it to %s" % new_name self.old_phrases = self.extra_user_phrases( user_db ) os.rename (user_db, new_name) self.init_user_db (user_db) elif self.get_table_phrase_len(user_db) != len(self._pt_index): print >> stderr, "user db format outdated." # store old user phrases self.old_phrases = self.extra_user_phrases( user_db ) new_name = "%s.%d" %(user_db, os.getpid()) os.rename (user_db, new_name) self.init_user_db (user_db) except: import traceback traceback.print_exc() else: user_db = ":memory:" # open user phrase database try: self.db.execute ('ATTACH DATABASE "%s" AS user_db;' % user_db) except: print >> stderr, "The user database was damaged. We will recreate it!" os.rename (user_db, "%s.%d" % (user_db, os.getpid ())) self.init_user_db (user_db) self.db.execute ('ATTACH DATABASE "%s" AS user_db;' % user_db) self.create_tables ("user_db") if self.old_phrases: # (mlen, phrase, freq, user_freq) # the phrases will be deparse again, and then be added # the characters will be discard :( #chars = filter (lambda x: x[0] == 1, self.old_phrases) # print chars phrases = filter (lambda x: x[0] > 1, self.old_phrases) phrases = map(lambda x: [self.parse_phrase_to_tabkeys(x[1])]\ + list(x[1:]) , phrases) map (self.u_add_phrase,phrases) self.db.commit () # try create all tables in user database self.create_indexes ("user_db",commit=False) self.generate_userdb_desc () # attach mudb for working process mudb = ":memory:" self.db.execute ('ATTACH DATABASE "%s" AS mudb;' % mudb ) self.create_tables ("mudb") def update_phrase (self, entry, database='user_db'): '''update phrase freqs''' #print entry _con = [ entry[-1] ] + list(entry[1:3+entry[1]]) + [entry[-3]] #print _con _condition = u''.join( map(lambda x: 'AND m%d = ? ' % x, range(entry[1]) ) ) #print _condition sqlstr = 'UPDATE %s.phrases SET user_freq = ? WHERE mlen = ? AND clen = ? %s AND phrase = ?;' % (database, _condition) #print sqlstr self.db.execute ( sqlstr , _con ) # because we may update different db, we'd better commit every time. self.db.commit() def sync_usrdb (self): # we need to update the user_db #print 'sync userdb' mudata = self.db.execute ('SELECT * FROM mudb.phrases;').fetchall() #print mudata data_u = filter ( lambda x: x[-2] in [1,-3], mudata) data_a = filter ( lambda x: x[-2]==2, mudata) data_n = filter ( lambda x: x[-2]==-2, mudata) #print data_a data_a = map (lambda x: (u''.join ( map(self.deparse, x[3:3+x[1]])),x[-3],0,x[-1] ), data_a) data_n = map (lambda x: (u''.join ( map(self.deparse, x[3:3+x[1]])),x[-3],-1,x[-1] ), data_n) #print data_u map (self.update_phrase, data_u) #print self.db.execute('select * from user_db.phrases;').fetchall() map (self.u_add_phrase,data_a) map (self.u_add_phrase,data_n) self.db.commit () def is_chinese (self): __lang = self.get_ime_property ('languages') if __lang: __langs = __lang.split(',') for _l in __langs: if _l.lower().find('zh') != -1: return True return False def get_chinese_mode (self): try: __dict = {'cm0':0,'cm1':1,'cm2':2,'cm3':3,'cm4':4} __filt = self.get_ime_property ('language_filter') return __dict[__filt] except: return -1 def get_page_size (self): return len(self.get_select_keys().split(',')) def get_select_keys (self): ret = None try: ret = self.get_ime_property("select_keys") finally: if ret is None: ret = "1,2,3,4,5,6,7,8,9,0" return ret def get_orientation (self): try: return int( self.get_ime_property ('orientation') ) except: return 1 def create_tables (self, database): '''Create tables that contain all phrase''' try: self.db.execute( 'PRAGMA cache_size = 20000; ' ) # increase the cache size to speedup sqlite enquiry except: pass if database == 'main': # create ikeys table sqlstr = 'CREATE TABLE IF NOT EXISTS %s.ikeys (ikey TEXT PRIMARY KEY, id INTEGER);' % database self.db.execute ( sqlstr ) # create goucima table, this table is used in construct new phrases sqlstr = 'CREATE TABLE IF NOT EXISTS %s.goucima (zi TEXT PRIMARY KEY' % database for i in range(self._mlen): sqlstr += ', g%d INTEGER' % i #sqlstr += ''.join(map (lambda x: ', g%d INTEGER' % x, range(self._mlen)) ) sqlstr += ');' self.db.execute ( sqlstr ) # create pinyin table, this table is used in search single character for user handly sqlstr = 'CREATE TABLE IF NOT EXISTS %s.pinyin ( plen INTEGER, ' % database #for i in range(6): # sqlstr += 'p%d INTEGER, ' % i sqlstr += ''.join( map (lambda x: 'p%d INTEGER, ' % x, range(7) ) ) sqlstr += 'zi TEXT, freq INTEGER);' self.db.execute ( sqlstr ) # create phrase table (mabiao) sqlstr = 'CREATE TABLE IF NOT EXISTS %s.phrases (id INTEGER PRIMARY KEY AUTOINCREMENT,\ mlen INTEGER, clen INTEGER, ' % database #for i in range(self._mlen): # sqlstr += 'm%d INTEGER, ' % i sqlstr += ''.join ( map (lambda x: 'm%d INTEGER, ' % x, range(self._mlen)) ) if self._is_chinese: sqlstr += 'category INTEGER, ' sqlstr += 'phrase TEXT, freq INTEGER, user_freq INTEGER);' self.db.execute ( sqlstr ) self.db.commit() def update_ime (self, attrs): '''Update attributes in ime table, attrs is a iterable object Like [(attr,val), (attr,val), ...] ''' sqlstr = 'UPDATE main.ime SET val = ? WHERE attr = ?;' for attr,val in attrs: _sqlstr = 'SELECT * from main.ime WHERE attr = ?' res = self.db.execute( _sqlstr, (attr,) ).fetchall() if res: self.db.execute(sqlstr,(val,attr)) else: #print '"',attr,'"'," didn't in ime property now!" pass # then flush previous cache self.ime_property_cache = {} # we need to update some self variables now. self._mlen = int (self.get_ime_property ('max_key_length' )) self._is_chinese = self.is_chinese() self._set_add_phrase_sqlstr() self._pt_index = ['id', 'mlen', 'clen'] for i in range(self._mlen): self._pt_index.append ('m%d' %i) if self._is_chinese: self._pt_index += ['category'] self._pt_index += ['phrase','freq','user_freq'] self.user_can_define_phrase = self.get_ime_property('user_can_define_phrase') if self.user_can_define_phrase: if self.user_can_define_phrase.lower() == u'true' : self.user_can_define_phrase = True else: self.user_can_define_phrase = False else: print 'Could not find "user_can_define_phrase" entry from database, is it a outdated database?' self.user_can_define_phrase = False self.rules = self.get_rules () self.db.commit() def get_rules (self): '''Get phrase construct rules''' rules={} if self.user_can_define_phrase: try: _rules = self.get_ime_property ('rules') if _rules: _rules = _rules.strip().split(';') for rule in _rules: res = patt_r.match (rule) if res: cms = [] if res.group(1) == 'a': rules['above'] = int(res.group(2)) _cms = res.group(3).split('+') if len(_cms) > self._mlen: print 'rule: "%s" over max key length' % rule break for _cm in _cms: cm_res = patt_p.match(_cm) cms.append(( int(cm_res.group(1)),int(cm_res.group(2)) )) rules[int(res.group(2))]=cms else: print 'not a legal rule: "%s"' % rule except Exception: import traceback traceback.print_exc () return rules else: return "" def phrase_keys_len (self): '''Return the phrase possible key length''' if self.rules: max_len = self.rules["above"] try: return map ( lambda x: len(self.rules[x]), range(2, max_len+1) )[:] except: return [] else: # we try to findout whether we have least commit len # in ime table try: least_commit_len = int(self.get_ime_property('least_commit_length')) except: least_commit_len = 0 if least_commit_len > 0: return range (least_commit_len, self._mlen + 1) else: return [] def get_start_chars (self): '''return possible start chars of IME''' try: return self.get_ime_property('start_chars') except: return '' def get_no_check_chars (self): '''Get the characters which engine should not change freq''' _chars= self.get_ime_property('no_check_chars') try: _chars = _chars.decode('utf-8') except: pass return _chars def add_phrases (self, phrases, database = 'main'): '''Add phrases to database, phrases is a iterable object Like: [(tabkeys, phrase, freq ,user_freq), (tabkeys, phrase, freq, user_freq), ...] ''' map (self.add_phrase, phrases, [database]*len(phrases),[False]*len(phrases) ) self.db.commit() def add_new_phrases (self, nphrases, database='main'): '''Add new phrases into db, new phrases is a object of [(phrase,freq), (phrase,freq),...]''' n_phrases=[] for _ph, _freq in nphrases: try: _tabkey = self.parse_phrase_to_tabkeys(_ph) if not self.check_phrase_internal (_ph, _tabkey, database): # we don't have this phrase n_phrases.append ( (_tabkey, _ph, _freq, 0) ) except: print '\"%s\" would not been added' % _ph if n_phrases: self.add_phrases ( n_phrases, database ) def u_add_phrase (self,nphrase): '''Add a phrase to userdb''' self.add_phrase (nphrase,database='user_db',commit=False) def _set_add_phrase_sqlstr(self): '''Create the sqlstr for add phrase according to self._mlen.''' sqlstr = 'INSERT INTO %s.phrases ( mlen, clen, ' sql_suffix = 'VALUES ( ?, ?, ' mmlen = range(self._mlen) sqlstr += ''.join ( map(lambda x: 'm%d, ' %x , mmlen) ) sql_suffix += ''.join ( map (lambda x: '?, ' , mmlen) ) if self._is_chinese: sqlstr += 'category, ' sql_suffix += '?, ' sqlstr += 'phrase, freq, user_freq) ' sql_suffix += '?, ?, ? );' sqlstr += sql_suffix self._add_phrase_sqlstr = sqlstr def add_phrase (self, aphrase, database = 'main',commit=True): '''Add phrase to database, phrase is a object of (tabkeys, phrase, freq ,user_freq) ''' sqlstr = self._add_phrase_sqlstr try: tabkeys,phrase,freq,user_freq = aphrase except: tabkeys,phrase,freq = aphrase user_freq = 0 # now we will set the category bits if this is chinese if self._is_chinese: category = chinese_variants.detect_chinese_category(phrase) try: tbks = self.parse(tabkeys) if len(tbks) != len(tabkeys): print 'In %s %s: we parse tabkeys fail' % (phrase, tabkeys ) return record = [None] * (5 + self._mlen) record [0] = len (tabkeys) record [1] = len (phrase) record [2: 2+len(tabkeys)] = map (lambda x: tbks[x].get_key_id(), range(0,len(tabkeys))) if self._is_chinese: record +=[None] record[-4] = category record[-3:] = phrase, freq, user_freq self.db.execute (sqlstr % database, record) if commit: self.db.commit() except Exception: import traceback traceback.print_exc() def add_goucima (self, gcms): '''Add goucima into database, gcms is iterable object Like gcms = [(zi,goucima),(zi,goucima), ...] ''' count = 1 for zi,gcm in gcms: _con = '' _val = '' _len = min ( len(gcm),self._mlen) for i in range( _len ): _con += ', g%d' % i _val += ', ?' sqlstr = '''INSERT INTO main.goucima ( zi %s ) VALUES ( ? %s );''' % (_con, _val) try: gc = self.parse(gcm) if len(gc) != len(gcm): error_m = u'%s %s: Can not parse goucima' % (zi, gcm ) raise Exception ( error_m.encode ('utf8') ) record = [zi] for i in range(_len): record.append( gc[i].get_key_id()) self.db.execute (sqlstr , record) except Exception: import traceback traceback.print_exc() count += 1 self.db.commit() def add_pinyin (self, pinyins, database = 'main'): '''Add pinyin to database, pinyins is a iterable object Like: [(zi,pinyin, freq), (zi, pinyin, freq), ...] ''' sqlstr = 'INSERT INTO %s.pinyin ( plen, ' sql_suffix = 'VALUES ( ?, ' for i in range(7): sqlstr += 'p%d, ' % i sql_suffix += '?, ' sqlstr += 'zi, freq ) ' sql_suffix += '?, ? );' sqlstr += sql_suffix count = 1 for pinyin,zi,freq in pinyins: try: pinyin_n = pinyin.replace('1','!').replace('2','@').replace('3','#').replace('4','$').replace('5','%') py = self.parse(pinyin_n) if len(py) != len(pinyin_n): error_m = u'%s %s: Can not parse pinyin' % (zi, pinyin ) raise Exception ( error_m.encode ('utf8') ) record = [None]*10 record [0] = len (pinyin_n) for i in range(0,len(pinyin_n)): record [ 1+i ] = py[i].get_key_id() record [-2] = zi record [-1] = freq self.db.execute (sqlstr % database, record) except Exception: print count, ': ', zi.encode('utf8'), ' ', pinyin import traceback traceback.print_exc() count += 1 self.db.commit() def optimize_database (self, database='main'): sqlstr = ''' CREATE TABLE tmp AS SELECT * FROM %(database)s.phrases; DELETE FROM %(database)s.phrases; INSERT INTO %(database)s.phrases SELECT * FROM tmp ORDER BY %(tabkeystr)s mlen ASC, user_freq DESC, freq DESC, id ASC; DROP TABLE tmp; CREATE TABLE tmp AS SELECT * FROM %(database)s.goucima; DELETE FROM %(database)s.goucima; INSERT INTO %(database)s.goucima SELECT * FROM tmp ORDER BY zi,g0,g1; DROP TABLE tmp; CREATE TABLE tmp AS SELECT * FROM %(database)s.pinyin; DELETE FROM %(database)s.pinyin; INSERT INTO %(database)s.pinyin SELECT * FROM tmp ORDER BY p0,p1,p2,p3,p4,p5,plen ASC; DROP TABLE tmp; ''' tabkeystr = '' for i in range(self._mlen): tabkeystr +='m%d, ' % i self.db.executescript (sqlstr % {'database':database,'tabkeystr':tabkeystr }) self.db.executescript ("VACUUM;") self.db.commit() def drop_indexes(self, database): '''Drop the index in database to reduce it's size''' sqlstr = ''' DROP INDEX IF EXISTS %(database)s.goucima_index_z; DROP INDEX IF EXISTS %(database)s.pinyin_index_i; DROP INDEX IF EXISTS %(database)s.phrases_index_p; DROP INDEX IF EXISTS %(database)s.phrases_index_i; VACUUM; ''' % { 'database':database } self.db.executescript (sqlstr) self.db.commit() def create_indexes(self, database, commit=True): sqlstr = ''' CREATE INDEX IF NOT EXISTS %(database)s.goucima_index_z ON goucima (zi); CREATE INDEX IF NOT EXISTS %(database)s.pinyin_index_i ON pinyin (p0,p1,p2,p3,p4,p5,plen ASC, freq DESC); ''' % { 'database':database } sqlstr_t = ''' CREATE INDEX IF NOT EXISTS %(database)s.phrases_index_p ON phrases (%(tabkeystr)s mlen ASC, freq DESC, id ASC); CREATE INDEX IF NOT EXISTS %(database)s.phrases_index_i ON phrases (phrase, mlen ASC); ''' tabkeystr = '' for i in range(self._mlen): tabkeystr +='m%d,' % i if database == 'main': sqlstr = sqlstr_t % {'database':database,'tabkeystr':tabkeystr } + sqlstr else: sqlstr = sqlstr_t % {'database':database,'tabkeystr':tabkeystr } self.db.executescript (sqlstr) if commit: self.db.commit() def compare (self,x,y): return cmp (x[1], y[1]) or -(cmp (x[-1], y[-1])) \ or -(cmp (x[-2], y[-2])) or (cmp (x[0], y[0])) def select_words( self, tabkeys, onechar=False, bitmask=0 ): ''' Get phrases from database by tab_key objects ( which should be equal or less than the max key length) This method is called in table.py by passing UserInput held data Return result[:] ''' # firstly, we make sure the len we used is equal or less than the max key length _len = min( len(tabkeys),self._mlen ) _condition = '' _condition += ''.join ( map (lambda x: 'AND m%d = ? ' %x, range(_len) ) ) if onechar: # for some users really like to select only single characters _condition += 'AND clen=1 ' if bitmask: # now just the bits for chinese all_ints = xrange(1,5) need_ints = filter (lambda x: x & bitmask, all_ints) bit_condition = 'OR'.join( map(lambda x: ' category = %d ' %x,\ need_ints) ) _condition += 'AND (%s) ' % bit_condition # you can increase the x in _len + x to include more result, but in the most case, we only need one more key result, so we don't need the extra overhead :) # we start search for 1 key more, if nothing, then 2 key more and so on # this is the max len we need to add into the select cause. w_len = self._mlen - _len +1 # we start from 2, because it is < in the sqlite select, which need 1 more. x_len = 2 while x_len <= w_len + 1: sqlstr = '''SELECT * FROM (SELECT * FROM main.phrases WHERE mlen < %(mk)d %(condition)s UNION ALL SELECT * FROM user_db.phrases WHERE mlen < %(mk)d %(condition)s UNION ALL SELECT * FROM mudb.phrases WHERE mlen < %(mk)d %(condition)s ) ORDER BY mlen ASC, user_freq DESC, freq DESC, id ASC;''' % { 'mk':_len+x_len, 'condition':_condition} # we have redefine the __int__(self) in class tabdict.tab_key to return the key id, so we can use map to got key id :) _tabkeys = map(int,tabkeys[:_len]) _tabkeys += _tabkeys + _tabkeys result = self.db.execute(sqlstr, _tabkeys).fetchall() #self.db.commit() # if we find word, we stop this while, if len(result) >0: break x_len += 1 # Remove duplicated entries other than different id,freq,user_freq box_uniq = set() def add2box(x): box_uniq.add(x[1:-2]) return x result = [add2box(x) for x in result if x[1:-2] not in box_uniq] return result[:] def select_zi( self, tabkeys ): ''' Get zi from database by tab_key objects ( which should be equal or less than 6) This method is called in table.py by passing UserInput held data Return result[:] ''' # firstly, we make sure the len we used is equal or less than # the max pinyin length 7 (include tune[1-5]) _len = min( len(tabkeys), 7 ) _condition = '' #for i in range(_len): # _condition += 'AND p%d = ? ' % i _condition += ''.join ( map (lambda x: 'AND p%d = ? ' %x, range(_len)) ) # you can increase the x in _len + x to include more result, but in the most case, we only need one more key result, so we don't need the extra overhead :) # here we need make sure that the 3 <= plen <=7, # so , if if _len < 3, than we start from 3; # if _len >= 3, we start from _len + 1; # if _len = 7, we start from _len if _len < 7: if _len < 3: x_len = 3 else: x_len = _len + 1 else: x_len = _len while x_len <= 8: sqlstr = '''SELECT * FROM main.pinyin WHERE plen < %(mk)d %(condition)s ORDER BY plen ASC, freq DESC;''' % { 'mk':x_len, 'condition':_condition} # we have redefine the __int__(self) in class tabdict.tab_key to return the key id, so we can use map to got key id :) _tabkeys = map(int,tabkeys[:_len]) result = self.db.execute(sqlstr, _tabkeys).fetchall() if len(result) > 0: break x_len += 1 #self.db.commit() return result[:] def get_ime_property( self, attr ): '''get IME property from database, attr is the string of property, which should be str.lower() :) ''' if not attr in self.ime_property_cache: sqlstr = 'SELECT val FROM main.ime WHERE attr = ?' _result = self.db.execute( sqlstr, (attr,)).fetchall() if _result: self.ime_property_cache[attr] = _result[0][0] else: self.ime_property_cache[attr] = None return self.ime_property_cache[attr] def get_phrase_table_index (self): '''get a list of phrase table columns name''' return self._pt_index[:] def generate_userdb_desc (self): try: sqlstring = 'CREATE TABLE IF NOT EXISTS user_db.desc (name PRIMARY KEY, value);' self.db.executescript (sqlstring) sqlstring = 'INSERT OR IGNORE INTO user_db.desc VALUES (?, ?);' self.db.execute (sqlstring, ('version', '0.5')) sqlstring = 'INSERT OR IGNORE INTO user_db.desc VALUES (?, DATETIME("now", "localtime"));' self.db.execute (sqlstring, ("create-time", )) self.db.commit () except: import traceback traceback.print_exc () def init_user_db (self,db_file): if not path.exists (db_file): db = sqlite3.connect (db_file) db.execute('PRAGMA page_size = 4096;') db.execute( 'PRAGMA cache_size = 20000;' ) db.execute( 'PRAGMA temp_store = MEMORY; ' ) db.execute( 'PRAGMA synchronous = OFF; ' ) db.commit() def get_database_desc (self, db_file): if not path.exists (db_file): return None try: db = sqlite3.connect (db_file) db.execute('PRAGMA page_size = 4096;') db.execute( 'PRAGMA cache_size = 20000;' ) db.execute( 'PRAGMA temp_store = MEMORY; ' ) db.execute( 'PRAGMA synchronous = OFF; ' ) desc = {} for row in db.execute ("SELECT * FROM desc;").fetchall(): desc [row[0]] = row[1] self.db.commit() return desc except: return None def get_table_phrase_len(self, db_file): table_patt = re.compile(r'.*\((.*)\)') if not path.exists (db_file): return 0 try: db = sqlite3.connect (db_file) tp_res = db.execute("select sql from sqlite_master\ where name='phrases';").fetchall() self.db.commit() res = table_patt.match(tp_res[0][0]) if res: tp = res.group(1).split(',') return len(tp) else: return 0 except: return 0 def cache_goucima (self): self._goucima = {} goucima = self.db.execute('SELECT * FROM main.goucima;').fetchall() map(lambda x: self._goucima.update({x[0]:x[1:]}), goucima) def get_gcm_id (self, zi): '''Get goucima of given character''' if self._goucima: # we already cache the goucima if not isinstance(zi,unicode): zi = zi.decode('utf-8') try: gcds = self._goucima[zi] return gcds except: pass sqlstr = 'SELECT %s FROM main.goucima WHERE zi =?;' % ','.join( map (lambda x: 'g%d' % x, range(self._mlen) ) ) return self.db.execute(sqlstr,(zi,)).fetchall()[0] def parse_phrase (self, phrase): '''Parse phrase to get its Table code''' # first we make sure that we are parsing unicode string try: phrase = unicode(phrase) except: phrase = phrase.decode('utf8') p_len = len(phrase) tabkeylist = [] if p_len < 2: # phrase should not be shorter than 2 return [] #print p_len try: if p_len >= self.rules['above']: rule = self.rules[ self.rules['above'] ] elif p_len in self.rules: rule = self.rules[p_len] else: raise Exception ('unsupport len of phrase') if len(rule) > self._mlen: raise Exception ('fault rule: %s' % rule) #for (zi,ma) in rule: # if zi > 0: # zi -= 1 # gcm = self.get_gcm_id (phrase[zi]) # tabkeylist.append(gcm[ma-1]) tabkeylist = map (lambda x: self.get_gcm_id ( phrase[x[0]-1 if x[0] > 0 else x[0]] )\ [ x[1]-1 if x[1] > 0 else x[1] ], rule ) return [len( tabkeylist)] + [p_len] + tabkeylist[:] + [phrase] except: print "pharse pharse \"%s\" fail." % phrase.encode("utf-8") #import traceback #traceback.print_exc () def parse_phrase_to_tabkeys (self,phrase): '''Get the Table encoding of the phrase in string form''' try: tabres = self.parse_phrase (phrase) [2:-1] except: tabres = None if tabres: tabkeys= u''.join ( map(self.deparse, tabres) ) else: tabkeys= u'' return tabkeys def check_phrase (self,phrase,tabkey=None,database='main'): # if IME didn't support user define phrase, # we divide user input phrase into characters, # and then check its frequence if type(phrase) != type(u''): phrase = phrase.decode('utf8') if self.user_can_define_phrase: self.check_phrase_internal (phrase, tabkey, database) else: map(self.check_phrase_internal, phrase) def check_phrase_internal (self,phrase,tabkey=None,database='main'): '''Check word freq and user_freq ''' if type(phrase) != type(u''): phrase = phrase.decode('utf8') if self._is_chinese: if phrase in tabdict.chinese_nocheck_chars: return if len(phrase) >=2: try: wordattr = self.parse_phrase ( phrase ) _len = len (wordattr) -3 except: # if we don't have goucima: return if (not tabkey) or len(tabkey) > self._mlen : sqlstr = '''SELECT * FROM (SELECT * FROM main.phrases WHERE phrase = ? UNION ALL SELECT * FROM user_db.phrases WHERE phrase = ? UNION ALL SELECT * FROM mudb.phrases WHERE phrase = ?) ORDER BY user_freq DESC, freq DESC, id ASC; ''' result = self.db.execute(sqlstr, (phrase,phrase,phrase)).fetchall() else: # we are using this to check whether the tab-key and phrase is in db #print "tabkey: ", tabkey tabks = self.parse (tabkey) #print "tabks: ", tabks tabkids = tuple( map(int,tabks) ) condition = ' and '.join( map(lambda x: 'm%d = ?' % x, range( len(tabks) )) ) sqlstr = '''SELECT * FROM ( SELECT * FROM main.phrases WHERE phrase = ? and %(cond)s UNION ALL SELECT * FROM user_db.phrases WHERE phrase = ? and %(cond)s UNION ALL SELECT * FROM mudb.phrases WHERE phrase = ? and %(cond)s ) ORDER BY user_freq DESC, freq DESC, id ASC; ''' % {'cond':condition} #print sqlstr result = self.db.execute(sqlstr, ((phrase,)+tabkids)*3 ).fetchall() if not bool(result): sqlstr = '''SELECT * FROM (SELECT * FROM main.phrases WHERE phrase = ? UNION ALL SELECT * FROM user_db.phrases WHERE phrase = ? UNION ALL SELECT * FROM mudb.phrases WHERE phrase = ?) ORDER BY user_freq DESC, freq DESC, id ASC; ''' result = self.db.execute(sqlstr, (phrase,phrase,phrase)).fetchall() sysdb = {} usrdb = {} mudb = {} #print "result is: ", result searchres = map ( lambda res: [ int(res[-2]), int(res[-1]), [(res[1:-2],[res[:-1],res[-1]])] ], result) # for sysdb reslist=filter( lambda x: not x[1], searchres ) map (lambda x: sysdb.update(x[2]), reslist) #print "sysdb is ", sysdb # for usrdb reslist=filter( lambda x: ( x[0] in [0,-1] ) and x[1], searchres ) map (lambda x: usrdb.update(x[2]), reslist) #print "usrdb is ", usrdb # for mudb reslist=filter( lambda x: (x[0] not in [0,-1]) and x[1], searchres ) map (lambda x: mudb.update(x[2]), reslist) #print "mudb is ", mudb tabkey = '' if len(phrase) >=2: tabkey = u''.join ( map(self.deparse,wordattr[2:2+_len]) ) #for k in wordattr[2:2+_len]: # tabkey += self.deparse (k) if self._is_chinese: sqlstr = 'UPDATE mudb.phrases SET user_freq = ? WHERE mlen = ? AND clen = ? %s AND category = ? AND phrase = ?;' else: sqlstr = 'UPDATE mudb.phrases SET user_freq = ? WHERE mlen = ? AND clen = ? %s AND phrase = ?;' try: if len(phrase) == 1: # this is a character if not self.dynamic_adjust: # we should change the frequency of words return # we remove the keys contained in mudb from usrdb keyout = filter (lambda k: mudb.has_key(k), usrdb.keys() ) map (usrdb.pop, keyout) # we remove the keys contained in mudb and usrdb from sysdb keyout = filter (lambda k: mudb.has_key(k) or usrdb.has_key(k) , sysdb.keys() ) map (sysdb.pop, keyout) # first mudb map (lambda res: self.db.execute ( sqlstr % ''.join( map(lambda x: 'AND m%d = ? ' % x, range(res[0])) ) , [ mudb[res][1] + 1 ] + list( res[:2+res[0]]) + list (res[2+self._mlen:]) ) , mudb.keys()) self.db.commit() # -----original for loop of above map: #for res in mudb.keys (): # _con = [ mudb[res][1] + 1 ] + list( res[:2+res[0]]) + list (res[2+self._mlen:]) # _condition = ''.join( map(lambda x: 'AND m%d = ? ' % x, range(res[0])) ) # self.db.execute ( sqlstr % _condition, _con ) # then usrdb map ( lambda res: self.add_phrase ( (''.join ( map(self.deparse,res[2:2+int(res[0])] ) ),phrase,1,usrdb[res][1]+1 ), database = 'mudb') , usrdb.keys() ) # -----original for loop of above map: #for res in usrdb.keys (): # #if mudb.has_key (res): # # continue # tabkey = ''.join ( map(self.deparse,res[2:2+int(res[0])] ) ) # # here we use freq 1 to denote the phrase needed update in user_db # self.add_phrase ((tabkey,phrase,1,usrdb[res][1]+1 ), database = 'mudb') # last sysdb map ( lambda res: self.add_phrase ( ( ''.join ( map(self.deparse,res[2:2+int(res[0])]) ),phrase,2,1 ), database = 'mudb'), sysdb.keys() ) # -----original for loop of above map: #for res in sysdb.keys (): # tabkey = ''.join ( map(self.deparse,res[2:2+int(res[0])]) ) # # here we use freq 2 to denote the word needed addition to user_db # self.add_phrase ((tabkey,phrase,2,1), database = 'mudb') else: # this is a phrase if len (result) == 0 and self.user_can_define_phrase: # this is a new phrase, we add it into user_db self.add_phrase ( (tabkey,phrase,-2,1), database = 'mudb') elif len (result) > 0: if not self.dynamic_adjust: # we should change the frequency of words return # we remove the keys contained in mudb from usrdb keyout = filter (lambda k: mudb.has_key(k), usrdb.keys() ) map (usrdb.pop, keyout) # we remove the keys contained in mudb and usrdb from sysdb keyout = filter (lambda k: mudb.has_key(k) or usrdb.has_key(k) , sysdb.keys() ) map (sysdb.pop, keyout) # first we process mudb # the original for loop can be found above in 'len==1' map (lambda res: self.db.execute ( sqlstr % ''.join( map(lambda x: 'AND m%d = ? ' % x, range(res[0])) ) , [ mudb[res][1] + 1 ] + list( res[:2+res[0]]) + list (res[2+self._mlen:]) ) , mudb.keys()) self.db.commit() # then usrdb map ( lambda res: self.add_phrase ( (''.join ( map(self.deparse,res[2:2+int(res[0])] ) ),phrase,(-3 if usrdb[res][0][-1] == -1 else 1),usrdb[res][1]+1 ), database = 'mudb') , usrdb.keys() ) # last sysdb map ( lambda res: self.add_phrase ( ( ''.join ( map(self.deparse,res[2:2+int(res[0])]) ),phrase,2,1 ), database = 'mudb'), sysdb.keys() ) else: # we come to here when the ime dosen't support user phrase define pass #self.db.commit() except: import traceback traceback.print_exc () def find_zi_code (self,zi): '''Check word freq and user_freq ''' zi = zi.decode('utf8') sqlstr = '''SELECT * FROM main.phrases WHERE phrase = ? ORDER BY mlen ASC; ''' result = self.db.execute(sqlstr, (zi,)).fetchall() #self.db.commit() codes = [] try: if result: for _res in result: tabkey = u'' for i in range ( int ( _res[1] ) ): tabkey += self.deparse ( _res[3+i] ) codes.append(tabkey) except: import traceback traceback.print_exc () return codes[:] def remove_phrase (self,phrase,database='user_db'): '''Remove phrase from database, default is from user_db phrase should be the a row of select * result from database Like (id, mlen,clen,m0,m1,m2,m3,phrase,freq,user_freq) ''' _ph = list(phrase[:-2]) _condition = '' for i in range(_ph[1]): _condition += 'AND m%d = ? ' % i nn =_ph.count(None) if nn: for i in range(nn): _ph.remove(None) if self._is_chinese: msqlstr= 'SELECT * FROM %(database)s.phrases WHERE mlen = ? and clen = ? %(condition)s AND category = ? AND phrase = ? ;' % { 'database':database, 'condition':_condition } else: msqlstr= 'SELECT * FROM %(database)s.phrases WHERE mlen = ? and clen = ? %(condition)s AND phrase = ? ;' % { 'database':database, 'condition':_condition } if self.db.execute(msqlstr, _ph[1:]).fetchall(): if self._is_chinese: sqlstr = 'DELETE FROM %(database)s.phrases WHERE mlen = ? AND clen =? %(condition)s AND category = ? AND phrase = ? ;' % { 'database':database, 'condition':_condition } else: sqlstr = 'DELETE FROM %(database)s.phrases WHERE mlen = ? AND clen =? %(condition)s AND phrase = ? ;' % { 'database':database, 'condition':_condition } self.db.execute(sqlstr,_ph[1:]) self.db.commit() if self._is_chinese: msqlstr= 'SELECT * FROM mudb.phrases WHERE mlen = ? and clen = ? %(condition)s AND category = ? AND phrase = ? ;' % { 'condition':_condition } else: msqlstr= 'SELECT * FROM mudb.phrases WHERE mlen = ? and clen = ? %(condition)s AND phrase = ? ;' % { 'condition':_condition } if self.db.execute(msqlstr, _ph[1:]).fetchall(): if self._is_chinese: sqlstr = 'DELETE FROM mudb.phrases WHERE mlen = ? AND clen =? %(condition)s AND category = ? AND phrase = ? ;' % { 'condition':_condition } else: sqlstr = 'DELETE FROM mudb.phrases WHERE mlen = ? AND clen =? %(condition)s AND phrase = ? ;' % { 'condition':_condition } self.db.execute(sqlstr,_ph[1:]) self.db.commit() def extra_user_phrases(self, udb, only_defined=False): '''extract user phrases from database''' try: db = sqlite3.connect(udb) except: return None if only_defined: _phrases = db.execute(\ "SELECT clen, phrase, freq, sum(user_freq)\ FROM phrases \ WHERE freq=-1 AND mlen != 0 \ GROUP BY clen,phrase;").fetchall() else: _phrases = db.execute(\ "SELECT clen, phrase, freq, sum(user_freq)\ FROM phrases\ WHERE mlen !=0 \ GROUP BY clen,phrase;").fetchall() db.commit() return _phrases[:] ibus-table-1.5.0.20130419/engine/ibus-table-createdb.10000644002345600234560000000360412134204565016537 00000000000000.\" auto-generated by docbook2man-spec from docbook-utils package .TH "IBUS-TABLE-CREATEDB" "1" "Apr 18, 2013" "" "" .SH NAME ibus-table-createdb \- create ibus-table database from table source .SH SYNOPSIS .sp \fBibus-table-createdb\fR [ \fB [ -n \fIname\fB ] [ --name \fIname\fB ] \fR ] [ \fB [ -s \fIsource\fB ] [ --source \fIsource\fB ] \fR ] [ \fB [ -e \fIextra\fB ] [ --extra \fIextra\fB ] \fR ] [ \fB [ -p \fIpinyin\fB ] [ --pinyin \fIpinyin\fB ] \fR ] [ \fB-o\fR ] [ \fB--no-create-index\fR ] [ \fB-i\fR ] [ \fB--create-index-only\fR ] [ \fB-d\fR ] [ \fB--debug\fR ] .SH "DESCRIPTION" .PP \fBibus-table-createdb\fR creates a database for ibus-table from a source table. .SH "OPTIONS" .PP This program follows the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options is included below. .TP \fB-n\fR \fIdatabase-file\fR specifies the file which will contain the binary database for the IME. The default is ''. .TP \fB-s\fR \fIsource-file\fR specifies the file which contains the source of the IME. The default is ''. .TP \fB-e\fR \fIextra-words-file\fR specifies the file for the extra words for the IME. The default is ''. .TP \fB-p\fR \fIpinyin-file\fR specifies the source file for the pinyin. The default is /usr/share/ibus-table/data/pinyin_table.txt.bz2. .TP \fB-o\fR Do not create an index for for a database (Only for distribution purposes, a normal user should not use this flag!) .TP \fB-i\fR Only create an index for an existing database. .TP \fB-d\fR Print extra debug messages. .SH "EXAMPLES" .TP \fBibus-table-createdb -n ipa-x-sampa.db -s ipa-x-sampa.txt\fR Create the binary database ``ipa-x-sampa.db'' from the source file ``ipa-x-sampa.txt''\&. .TP \fBibus-table-createdb -i -n ipa-x-sampa.db\fR Create an index for the database ``ipa-x-sampa.db''\&. .SH "AUTHOR" .PP This manual page was written by Mike FABIAN \&. ibus-table-1.5.0.20130419/engine/chinese_variants.py0000644002345600234560000027055612107371617016575 00000000000000#!/usr/bin/python # vim:fileencoding=utf-8:sw=4:et # auto-generated by “generate-chinese-variants.py”, do not edit here! # # Copyright (c) 2013 Mike FABIAN # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 3.0 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . import sys reload (sys) sys.setdefaultencoding('utf-8') variants_table = { # Meaning of the bits in the values: # 1 = 1 << 0 simplified Chinese # 2 = 1 << 1 traditional Chinese # 3 = (1 | 1 << 1) used both in simplified *and* traditional Chinese # 4 = 1 << 2 mixture of simplified and traditional Chinese u'蘄': 2, u'谈': 1, u'預': 2, u'𫘤': 1, u'媧': 2, u'礦': 2, u'鶩': 2, u'悫': 1, u'缪': 1, u'临': 1, u'犷': 1, u'鄶': 2, u'线': 1, u'談': 2, u'雏': 1, u'鳓': 1, u'織': 2, u'遠': 2, u'卢': 1, u'緩': 2, u'鱨': 2, u'𨧱': 2, u'歲': 2, u'闹': 1, u'鯽': 2, u'覆': 2, u'瀋': 2, u'辊': 1, u'劌': 2, u'閎': 2, u'鮒': 2, u'应': 1, u'䬝': 2, u'檜': 2, u'𨸟': 1, u'騧': 2, u'𪘯': 2, u'漵': 2, u'钸': 1, u'赉': 1, u'鍍': 2, u'𩥑': 2, u'屓': 2, u'齕': 2, u'跞': 1, u'瑣': 2, u'鏢': 2, u'𩧦': 1, u'𩿪': 2, u'虯': 2, u'䥱': 2, u'併': 2, u'须': 1, u'贈': 2, u'后': 3, u'䦛': 2, u'𩚥': 2, u'鲩': 1, u'憫': 2, u'离': 1, u'𩘺': 2, u'鰾': 2, u'𪉂': 1, u'诇': 1, u'浈': 1, u'釋': 2, u'鷓': 2, u'䁖': 1, u'蕘': 2, u'櫝': 2, u'譜': 2, u'号': 1, u'铹': 1, u'节': 1, u'袆': 1, u'躊': 2, u'厌': 1, u'钎': 1, u'紓': 2, u'骒': 1, u'褛': 1, u'輟': 2, u'锣': 1, u'瞤': 2, u'鬧': 2, u'𨱉': 1, u'克': 1, u'鉍': 2, u'坏': 1, u'㧐': 1, u'鹕': 1, u'賞': 2, u'𫁡': 1, u'几': 1, u'筧': 2, u'㱩': 1, u'腫': 2, u'黪': 1, u'饻': 1, u'齿': 1, u'斅': 2, u'𩨐': 1, u'䲟': 1, u'鎡': 2, u'嚣': 1, u'閥': 2, u'𣐤': 1, u'溳': 2, u'褲': 2, u'錶': 2, u'嘸': 2, u'锺': 1, u'摄': 1, u'凍': 2, u'铏': 1, u'籔': 2, u'㛣': 1, u'学': 1, u'鹨': 1, u'诱': 1, u'践': 1, u'嫻': 2, u'𤊀': 1, u'标': 1, u'琏': 1, u'馒': 1, u'暘': 2, u'訛': 2, u'谟': 1, u'纨': 1, u'誰': 2, u'貴': 2, u'隸': 2, u'颼': 2, u'毆': 2, u'轉': 2, u'剋': 2, u'㳔': 1, u'连': 1, u'癣': 1, u'艫': 2, u'惬': 1, u'遷': 2, u'驻': 1, u'鱿': 1, u'輈': 2, u'窑': 1, u'𦈖': 1, u'钥': 1, u'麩': 2, u'䴴': 2, u'鐺': 2, u'綿': 2, u'鸾': 1, u'觇': 1, u'𣙎': 2, u'鍠': 2, u'镤': 1, u'婦': 2, u'绩': 1, u'諱': 2, u'賵': 2, u'寻': 1, u'飽': 2, u'繾': 2, u'會': 2, u'誆': 2, u'册': 1, u'階': 2, u'缓': 1, u'颒': 1, u'嶔': 2, u'講': 2, u'负': 1, u'樱': 1, u'记': 1, u'䥇': 2, u'問': 2, u'当': 1, u'叠': 1, u'荫': 1, u'轳': 1, u'噹': 2, u'𩘀': 2, u'榉': 1, u'阌': 1, u'弒': 2, u'騔': 2, u'攖': 2, u'挚': 1, u'閡': 2, u'撫': 2, u'锶': 1, u'帼': 1, u'餾': 2, u'𩤊': 2, u'铋': 1, u'鋏': 2, u'飓': 1, u'鑠': 2, u'鉤': 2, u'孪': 1, u'慮': 2, u'诵': 1, u'當': 2, u'釹': 2, u'獺': 2, u'嫿': 2, u'怃': 1, u'變': 2, u'嚌': 2, u'谛': 1, u'訟': 2, u'唡': 1, u'連': 2, u'鸧': 1, u'蚬': 1, u'貰': 2, u'𣘷': 1, u'缽': 2, u'麼': 2, u'蕁': 2, u'襉': 2, u'鵑': 2, u'習': 2, u'機': 2, u'觞': 1, u'灣': 2, u'鷦': 2, u'鯪': 2, u'曬': 2, u'兹': 1, u'综': 1, u'驿': 1, u'搖': 2, u'𦈚': 1, u'躝': 2, u'钡': 1, u'銥': 2, u'耮': 2, u'鐶': 2, u'儸': 2, u'綻': 2, u'鈺': 2, u'𣺽': 1, u'𩠴': 2, u'过': 1, u'闋': 2, u'結': 2, u'腘': 1, u'镠': 1, u'鍤': 2, u'㿧': 2, u'屦': 1, u'饨': 1, u'𩧱': 1, u'執': 2, u'瑶': 1, u'牺': 1, u'黽': 2, u'寿': 1, u'蚂': 1, u'誊': 1, u'蜗': 1, u'贛': 2, u'丝': 1, u'澜': 1, u'疠': 1, u'𡄣': 2, u'別': 2, u'亲': 1, u'讴': 1, u'㜷': 2, u'總': 2, u'墾': 2, u'佇': 2, u'协': 1, u'绒': 1, u'驕': 2, u'歟': 2, u'離': 2, u'药': 1, u'极': 3, u'計': 2, u'禕': 2, u'欞': 2, u'產': 2, u'缦': 1, u'暫': 2, u'礪': 2, u'悯': 1, u'丰': 1, u'檳': 2, u'贲': 1, u'纻': 1, u'鄺': 2, u'㶽': 1, u'𨸊': 1, u'資': 2, u'橈': 2, u'雋': 2, u'郏': 1, u'啢': 2, u'彦': 1, u'篩': 2, u'奪': 2, u'据': 1, u'鏹': 2, u'鷽': 2, u'签': 1, u'氇': 1, u'辆': 1, u'瘋': 2, u'瀏': 2, u'庐': 1, u'鶒': 2, u'蠟': 2, u'鈣': 2, u'鰧': 2, u'鲼': 1, u'宾': 1, u'濆': 2, u'證': 2, u'镍': 1, u'齑': 1, u'緒': 2, u'臚': 2, u'诞': 1, u'虫': 1, u'𩧪': 1, u'擬': 2, u'聯': 2, u'詳': 2, u'鑷': 2, u'顿': 1, u'悅': 2, u'𨄄': 1, u'檉': 2, u'锌': 1, u'餔': 2, u'貝': 2, u'䦟': 2, u'樞': 2, u'厣': 1, u'嶧': 2, u'枫': 1, u'𩾆': 1, u'谲': 1, u'阶': 1, u'禿': 2, u'騾': 2, u'杀': 1, u'慄': 2, u'韋': 2, u'响': 1, u'赜': 1, u'盡': 2, u'𡝠': 1, u'魨': 2, u'𩙩': 1, u'鲒': 1, u'輛': 2, u'箨': 1, u'嚶': 2, u'簽': 2, u'鶼': 2, u'鹑': 1, u'敗': 2, u'潛': 2, u'諞': 2, u'𩣑': 2, u'铢': 1, u'凤': 1, u'飪': 2, u'乱': 1, u'濰': 2, u'長': 2, u'𫛶': 1, u'𩽻': 1, u'饿': 1, u'澅': 2, u'𨸄': 1, u'𨐈': 1, u'騌': 2, u'㺏': 2, u'㒓': 2, u'阔': 1, u'䪗': 2, u'趙': 2, u'漚': 2, u'閩': 2, u'贮': 1, u'撳': 2, u'茲': 2, u'餶': 2, u'尸': 1, u'锾': 1, u'賃': 2, u'苇': 1, u'摈': 1, u'穌': 2, u'凑': 1, u'铓': 1, u'𨊸': 2, u'鹤': 1, u'语': 1, u'鷹': 2, u'鏽': 2, u'䢀': 1, u'𨮂': 2, u'戇': 2, u'託': 2, u'䴙': 1, u'䌝': 2, u'鰣': 2, u'弥': 1, u'纤': 1, u'鈧': 2, u'䶮': 1, u'紹': 2, u'鲸': 1, u'銼': 2, u'喾': 1, u'毂': 1, u'轅': 2, u'塋': 2, u'呓': 1, u'壠': 2, u'鯢': 2, u'韪': 1, u'櫬': 2, u'𢷮': 2, u'驷': 1, u'溅': 1, u'輄': 2, u'窍': 1, u'導': 2, u'划': 1, u'栖': 1, u'貙': 2, u'颡': 1, u'麥': 2, u'瀦': 2, u'钩': 1, u'瘪': 1, u'谮': 1, u'鸺': 1, u'跃': 1, u'仅': 1, u'僑': 2, u'闓': 2, u'赘': 1, u'荜': 1, u'绥': 1, u'镨': 1, u'諭': 2, u'击': 1, u'䦀': 1, u'缏': 1, u'鲎': 1, u'謗': 2, u'脛': 2, u'鴣': 2, u'帥': 2, u'讬': 1, u'簹': 2, u'葉': 2, u'奋': 1, u'驍': 2, u'陕': 1, u'郦': 1, u'㑩': 1, u'软': 1, u'魷': 2, u'緸': 2, u'殁': 1, u'谄': 1, u'禍': 2, u'頌': 2, u'玑': 1, u'鈐': 2, u'鐔': 2, u'欖': 2, u'辙': 1, u'鶥': 2, u'傧': 1, u'𫘨': 1, u'輮': 2, u'𩠊': 1, u'髋': 1, u'姍': 2, u'鳏': 1, u'发': 1, u'鱤': 2, u'陨': 1, u'勻': 2, u'絺': 2, u'薊': 2, u'龎': 2, u'瘓': 2, u'嬡': 2, u'鸣': 1, u'粤': 1, u'椭': 1, u'𨊰': 2, u'麸': 1, u'嶺': 2, u'赅': 1, u'蝉': 1, u'噓': 2, u'燒': 2, u'镕': 1, u'诖': 1, u'摟': 2, u'駢': 2, u'峤': 1, u'灧': 2, u'鏦': 2, u'詫': 2, u'闪': 1, u'擴': 2, u'顷': 1, u'绸': 1, u'鉻': 2, u'兽': 1, u'鑿': 2, u'檁': 2, u'謀': 2, u'贄': 2, u'暉': 2, u'碍': 1, u'餌': 2, u'錐': 2, u'锔': 1, u'骡': 1, u'鲥': 1, u'𥆧': 1, u'殫': 2, u'䌰': 2, u'騶': 2, u'鰺': 2, u'儼': 2, u'𪉆': 1, u'韓': 2, u'哕': 1, u'𩨏': 1, u'塢': 2, u'靨': 2, u'𨅫': 1, u'䞈': 2, u'笋': 1, u'厐': 1, u'鄧': 2, u'嘩': 2, u'覬': 2, u'戱': 2, u'搵': 2, u'薴': 2, u'縹': 2, u'詁': 2, u'棂': 1, u'𨱅': 1, u'孋': 2, u'擊': 2, u'額': 2, u'绎': 1, u'鉑': 2, u'鑕': 2, u'論': 2, u'賚': 2, u'飢': 2, u'鋦': 2, u'譫': 2, u'铪': 1, u'𩽿': 1, u'饷': 1, u'幹': 2, u'偽': 2, u'燼': 2, u'长': 1, u'谀': 1, u'鸌': 2, u'鐐': 2, u'園': 2, u'鈔': 2, u'鶡': 2, u'缢': 1, u'猪': 1, u'檯': 2, u'纷': 1, u'䯅': 1, u'鳋': 1, u'髏': 2, u'郓': 1, u'虜': 2, u'緡': 2, u'鱠': 2, u'驤': 2, u'辂': 1, u'莊': 2, u'稏': 2, u'馎': 1, u'鞒': 1, u'梘': 2, u'颸': 2, u'赁': 1, u'镑': 1, u'诚': 1, u'𨇞': 2, u'癧': 2, u'僨': 2, u'𩏪': 2, u'滬': 2, u'擰': 2, u'聳': 2, u'鉿': 2, u'謄': 2, u'脈': 2, u'纍': 2, u'锐': 1, u'鲡': 1, u'骥': 1, u'𫄨': 1, u'殯': 2, u'夸': 1, u'觃': 1, u'𪉊': 1, u'罌': 2, u'哑': 1, u'釓': 2, u'動': 2, u'鵠': 2, u'𩙧': 1, u'烩': 1, u'灾': 1, u'躂': 2, u'紋': 2, u'後': 2, u'颎': 1, u'輗': 2, u'綠': 2, u'霧': 2, u'莴': 1, u'傾': 2, u'𨱁': 1, u'鹍': 1, u'𩧰': 1, u'鉕': 2, u'敛': 1, u'损': 1, u'铦': 1, u'鋪': 2, u'譯': 2, u'腳': 2, u'齷': 2, u'塹': 2, u'𨸀': 1, u'榅': 1, u'興': 2, u'鰌': 2, u'阐': 1, u'挞': 1, u'眦': 1, u'鎩': 2, u'溫': 2, u'餺': 2, u'錾': 1, u'俁': 2, u'籌': 2, u'飏': 1, u'㭎': 1, u'毙': 1, u'詘': 2, u'鹠': 1, u'𫓧': 1, u'闽': 1, u'𠞆': 2, u'縋': 2, u'谗': 1, u'纠': 1, u'鐧': 2, u'責': 2, u'肴': 1, u'钼': 1, u'𢋈': 1, u'塏': 2, u'痒': 1, u'廠': 2, u'韦': 1, u'艳': 1, u'鱷': 2, u'皑': 1, u'吒': 2, u'鄔': 2, u'𦈞': 1, u'颥': 1, u'銩': 2, u'𫌨': 1, u'䴬': 2, u'掳': 1, u'鸶': 1, u'嬸': 2, u'鈾': 2, u'诃': 1, u'囑': 2, u'睐': 1, u'僕': 2, u'識': 2, u'绡': 1, u'齠': 2, u'屢': 2, u'饤': 1, u'𫗧': 1, u'噦': 2, u'俫': 1, u'賭': 2, u'蛱': 1, u'铽': 1, u'凿': 1, u'𤾀': 1, u'𡑭': 2, u'缋': 1, u'骎': 1, u'钒': 1, u'贗': 2, u'殘': 2, u'𩬣': 1, u'锧': 1, u'鮸': 2, u'閼': 2, u'䭃': 2, u'衅': 1, u'曆': 2, u'惊': 1, u'瓒': 1, u'違': 2, u'慟': 2, u'鳢': 1, u'轫': 1, u'襯': 2, u'鵷': 2, u'酿': 1, u'阄': 1, u'鰈': 2, u'𨈌': 2, u'𪚏': 1, u'蠐': 2, u'焖': 1, u'废': 1, u'挢': 1, u'刬': 1, u'键': 1, u'脶': 1, u'贾': 1, u'铃': 1, u'蛏': 1, u'賓': 2, u'兖': 1, u'痙': 2, u'坚': 1, u'𣭤': 1, u'駱': 2, u'慶': 2, u'藹': 2, u'诽': 1, u'鎂': 2, u'馆': 1, u'龊': 1, u'讒': 2, u'窜': 1, u'鸟': 1, u'䜥': 1, u'沨': 1, u'銬': 2, u'單': 2, u'礱': 2, u'颰': 2, u'缵': 1, u'欽': 2, u'誼': 2, u'秆': 1, u'繟': 2, u'𠏢': 2, u'触': 1, u'独': 1, u'𩙯': 1, u'𫗮': 1, u'维': 1, u'艷': 2, u'蹿': 1, u'輔': 2, u'钙': 1, u'骝': 1, u'簞': 2, u'販': 2, u'鐮': 2, u'掷': 1, u'蘺': 2, u'𨰾': 1, u'闃': 2, u'囅': 2, u'鯇': 2, u'蟏': 1, u'潔': 2, u'镘': 1, u'噚': 2, u'𡭜': 1, u'属': 1, u'惡': 2, u'曥': 2, u'凫': 1, u'埯': 1, u'恶': 1, u'垄': 1, u'领': 1, u'誒': 2, u'餛': 2, u'蔣': 2, u'涨': 1, u'爭': 2, u'鎬': 2, u'縵': 2, u'讼': 1, u'际': 1, u'鱉': 2, u'绊': 1, u'蹕': 2, u'鳞': 1, u'𨋢': 2, u'称': 1, u'旸': 1, u'轿': 1, u'玁': 2, u'鈀': 2, u'儂': 2, u'鐄': 2, u'訐': 2, u'谔': 1, u'缞': 1, u'辩': 1, u'璯': 2, u'纳': 1, u'𩤲': 2, u'尴': 1, u'檻': 2, u'蔺': 1, u'輾': 2, u'叁': 1, u'苋': 1, u'𡠹': 2, u'卖': 1, u'陘': 2, u'彞': 2, u'葤': 2, u'哯': 2, u'鯱': 2, u'廳': 2, u'戋': 1, u'鶊': 2, u'碜': 1, u'鰟': 2, u'抠': 1, u'邬': 1, u'紵': 2, u'鲴': 1, u'镅': 1, u'緊': 2, u'𨅍': 2, u'赕': 1, u'籟': 2, u'臢': 2, u'桧': 1, u'详': 1, u'烬': 1, u'鹳': 1, u'糴': 2, u'職': 2, u'書': 2, u'䥽': 1, u'锄': 1, u'娆': 1, u'𪎋': 1, u'謐': 2, u'贔': 2, u'额': 1, u'縞': 2, u'疯': 1, u'嬰': 2, u'頲': 2, u'勁': 2, u'韃': 2, u'罈': 2, u'歐': 2, u'浔': 1, u'饜': 2, u'荠': 1, u'滩': 1, u'轨': 1, u'癮': 2, u'製': 2, u'湾': 1, u'骆': 1, u'鲊': 1, u'攏': 2, u'漓': 1, u'瞘': 2, u'堝': 2, u'鴟': 2, u'醬': 2, u'稱': 2, u'鮰': 2, u'鶴': 2, u'覼': 2, u'鉁': 2, u'烂': 1, u'鹉': 1, u'聍': 1, u'詑': 2, u'体': 1, u'𨱕': 1, u'埘': 1, u'筛': 1, u'铚': 1, u'點': 2, u'諦': 2, u'俨': 1, u'質': 2, u'镯': 1, u'練': 2, u'𩐀': 1, u'鈄': 2, u'須': 2, u'谐': 1, u'岛': 1, u'产': 1, u'璫': 2, u'娴': 1, u'蓋': 2, u'苏': 1, u'燙': 2, u'鹜': 1, u'艤': 2, u'表': 1, u'䭪': 1, u'壳': 1, u'瀃': 2, u'鮊': 2, u'戏': 1, u'辒': 1, u'阗': 1, u'纜': 2, u'騟': 2, u'䌥': 2, u'护': 1, u'紱': 2, u'鲰': 1, u'镁': 1, u'饉': 2, u'赑': 1, u'濒': 1, u'闖': 2, u'籛': 2, u'诪': 1, u'顳': 2, u'詿': 2, u'销': 1, u'錄': 2, u'将': 1, u'贐': 2, u'謔': 2, u'侧': 1, u'横': 1, u'环': 1, u'鸲': 1, u'釃': 2, u'獄': 2, u'浐': 1, u'呖': 1, u'绝': 1, u'齜': 2, u'拥': 1, u'荤': 1, u'嗫': 1, u'㭴': 1, u'摶': 2, u'缇': 1, u'鲆': 1, u'妈': 1, u'骊': 1, u'䞌': 1, u'躒': 2, u'鴛': 2, u'𨄣': 2, u'𩶰': 2, u'鉅': 2, u'竊': 2, u'𨱑': 1, u'評': 2, u'铖': 1, u'絛': 2, u'飞': 1, u'慣': 2, u'賦': 2, u'镫': 1, u'緰': 2, u'饳': 1, u'婵': 1, u'懸': 2, u'濼': 2, u'阀': 1, u'熅': 2, u'𩨈': 1, u'踐': 2, u'攢': 2, u'让': 1, u'听': 1, u'錮': 2, u'鴲': 2, u'場': 2, u'撷': 1, u'梿': 1, u'謾': 2, u'鋃': 2, u'灄': 2, u'鳇': 1, u'党': 1, u'緝': 2, u'闭': 1, u'獮': 2, u'絲': 2, u'𩧵': 1, u'嚀': 2, u'閂': 2, u'龆': 1, u'馊': 1, u'樓': 2, u'鸛': 2, u'粜': 1, u'舣': 1, u'谧': 1, u'钬': 1, u'厮': 1, u'缱': 1, u'𩢴': 2, u'芸': 1, u'貼': 2, u'䮾': 2, u'㛀': 1, u'魉': 1, u'𪻐': 1, u'襕': 1, u'𫍙': 1, u'𩙫': 1, u'啭': 1, u'绰': 1, u'驳': 1, u'葷': 2, u'蹻': 2, u'泼': 1, u'堊': 2, u'鲝': 1, u'𨐇': 1, u'𤶧': 1, u'渦': 2, u'鈮': 2, u'鰲': 2, u'头': 1, u'斷': 2, u'䌸': 1, u'榿': 2, u'囁': 2, u'着': 1, u'鏃': 2, u'僅': 2, u'敌': 1, u'臏': 2, u'𪉎': 1, u'仑': 1, u'诓': 1, u'𩠏': 1, u'鍘': 2, u'糝': 2, u'鵜': 2, u'㧟': 1, u'书': 1, u'铭': 1, u'凯': 1, u'苹': 1, u'恺': 1, u'賽': 2, u'猃': 1, u'紇': 2, u'颊': 1, u'欓': 2, u'锗': 1, u'则': 1, u'尝': 1, u'綜': 2, u'䀥': 1, u'憤': 2, u'货': 1, u'殨': 2, u'閬': 2, u'縱': 2, u'馴': 2, u'莸': 1, u'𩨍': 1, u'细': 1, u'蹑': 1, u'衕': 2, u'雖': 2, u'变': 1, u'捣': 1, u'塵': 2, u'蕷': 2, u'轻': 1, u'䱽': 2, u'𩠀': 1, u'羅': 2, u'訌': 2, u'憑': 2, u'缚': 1, u'鎝': 2, u'覡': 2, u'䲣': 1, u'欢': 1, u'愦': 1, u'薩': 2, u'纯': 1, u'础': 1, u'鳃': 1, u'鋇': 2, u'軏': 2, u'晔': 1, u'奖': 1, u'緙': 2, u'鱘': 2, u'㛟': 1, u'啞': 2, u'蹤': 2, u'獲': 2, u'韵': 1, u'跹': 1, u'庄': 1, u'㔉': 1, u'栋': 1, u'队': 1, u'㖞': 1, u'谣': 1, u'伥': 1, u'嶮': 2, u'厲': 2, u'𧜵': 2, u'隴': 2, u'䦶': 1, u'貸': 2, u'挽': 1, u'饁': 2, u'屃': 1, u'則': 2, u'镉': 1, u'蝕': 2, u'癟': 2, u'闞': 2, u'询': 1, u'执': 1, u'顫': 2, u'鹯': 1, u'泸': 1, u'虿': 1, u'倆': 2, u'璉': 2, u'锈': 1, u'脐': 1, u'砖': 1, u'鲙': 1, u'军': 1, u'𩾄': 1, u'樢': 2, u'躥': 2, u'鰮': 2, u'鈲': 2, u'蠶': 2, u'䌼': 1, u'鏇': 2, u'觋': 1, u'藓': 1, u'𪉒': 1, u'狝': 1, u'棡': 2, u'襠': 2, u'滥': 1, u'轤': 2, u'籮': 2, u'嗳': 1, u'骂': 1, u'径': 1, u'𫐉': 1, u'隊': 2, u'责': 1, u'严': 1, u'澤': 2, u'茧': 1, u'劲': 1, u'趸': 1, u'莼': 1, u'𥵃': 2, u'鹅': 1, u'處': 2, u'飖': 1, u'铞': 1, u'諢': 2, u'饫': 1, u'婭': 2, u'镳': 1, u'護': 2, u'腻': 1, u'𩨀': 1, u'阈': 1, u'斕': 2, u'龙': 1, u'級': 2, u'计': 1, u'椢': 1, u'挦': 1, u'攪': 2, u'鄲': 2, u'吴': 1, u'贺': 1, u'𩾋': 1, u'撿': 2, u'穀': 2, u'黃': 2, u'巅': 1, u'請': 2, u'翙': 1, u'鹘': 1, u'嵚': 1, u'遜': 2, u'坞': 1, u'毡': 1, u'詠': 2, u'淥': 2, u'駭': 2, u'闵': 1, u'迹': 1, u'䋻': 2, u'松': 1, u'馂': 1, u'瀇': 2, u'辎': 1, u'頗': 2, u'纘': 2, u'炜': 1, u'㞞': 2, u'沤': 1, u'耧': 1, u'䜩': 1, u'㨫': 1, u'冲': 1, u'电': 1, u'钴': 1, u'幃': 2, u'䙓': 1, u'懒': 1, u'蕕': 2, u'硗': 1, u'鯖': 2, u'鷚': 2, u'韞': 2, u'驫': 2, u'藪': 2, u'鱯': 2, u'狰': 1, u'陳': 2, u'滸': 2, u'褌': 2, u'与': 1, u'邝': 1, u'瘞': 2, u'誡': 2, u'侣': 1, u'𠲥': 1, u'箫': 1, u'綯': 2, u'鸮': 1, u'進': 2, u'訶': 2, u'組': 2, u'采': 1, u'囉': 2, u'诋': 1, u'䓕': 1, u'给': 1, u'寫': 2, u'飭': 2, u'巯': 1, u'鋱': 2, u'𣍰': 1, u'铵': 1, u'軹': 2, u'決': 2, u'䗿': 2, u'缃': 1, u'颂': 1, u'嶄': 2, u'钊': 1, u'躎': 2, u'餗': 2, u'錛': 2, u'锟': 1, u'涤': 1, u'枨': 1, u'馬': 2, u'爱': 1, u'鎰': 2, u'驁': 2, u'鱅': 2, u'陉': 1, u'瓊': 2, u'滎': 2, u'髖': 2, u'鳚': 1, u'凜': 2, u'雞': 2, u'裢': 1, u'鵯': 2, u'珰': 1, u'懼': 2, u'綁': 2, u'𩰀': 2, u'异': 1, u'𩨄': 1, u'熉': 2, u'踌': 1, u'紖': 2, u'咛': 1, u'鞝': 2, u'漢': 2, u'讥': 1, u'膩': 2, u'窯': 2, u'𥐰': 1, u'贶': 1, u'撻': 2, u'凉': 1, u'諏': 2, u'願': 2, u'闱': 1, u'鏵': 2, u'价': 1, u'䋿': 2, u'龂': 1, u'閆': 2, u'鎊': 2, u'覎': 2, u'蠣': 2, u'𪾢': 1, u'缭': 1, u'钰': 1, u'垲': 1, u'鵁': 2, u'轍': 2, u'𧹗': 1, u'鷖': 2, u'壘': 2, u'档': 1, u'𩡺': 2, u'绬': 1, u'驯': 1, u'炉': 1, u'撑': 1, u'茔': 1, u'簖': 1, u'颙': 1, u'㤘': 1, u'財': 2, u'渢': 2, u'誥': 2, u'頮': 2, u'谶': 1, u'診': 2, u'絀': 2, u'駃': 2, u'僉': 2, u'诏': 1, u'饘': 2, u'靜': 2, u'赠': 1, u'櫥': 2, u'惩': 1, u'确': 1, u'铱': 1, u'癲': 2, u'钆': 1, u'冈': 1, u'欏': 2, u'鼗': 1, u'锛': 1, u'瞜': 2, u'錟': 2, u'涠': 1, u'殤': 2, u'縭': 2, u'墮': 2, u'嚲': 2, u'𤪺': 2, u'昽': 1, u'绂': 1, u'驅': 2, u'𦣎': 2, u'罗': 1, u'鳖': 1, u'蓦': 1, u'翬': 2, u'魯': 2, u'創': 2, u'轷': 1, u'羁': 1, u'崂': 1, u'禅': 1, u'圆': 1, u'鈈': 2, u'谌': 1, u'𩢸': 2, u'岗': 1, u'编': 1, u'覥': 2, u'纫': 1, u'鬮': 2, u'嘰': 2, u'锲': 1, u'铇': 1, u'軋': 2, u'𥽖': 2, u'𫛛': 1, u'䅪': 1, u'壯': 2, u'釵': 2, u'诹': 1, u'𩧭': 1, u'栏': 1, u'讎': 2, u'𦈓': 1, u'𪄕': 2, u'嬙': 2, u'阛': 1, u'唝': 1, u'伡': 1, u'訣': 2, u'萧': 1, u'鲬': 1, u'宮': 2, u'喲': 2, u'侶': 2, u'蒼': 2, u'饅': 2, u'赍': 1, u'駚': 2, u'哜': 1, u'鏞': 2, u'鹫': 1, u'顯': 2, u'㗲': 2, u'烴': 2, u'櫸': 2, u'擼': 2, u'纁': 2, u'餄': 2, u'嘆': 2, u'錈': 2, u'脔': 1, u'嶗': 2, u'骙': 1, u'砚': 1, u'钝': 1, u'躡': 2, u'氢': 1, u'崬': 2, u'騮': 2, u'鐲': 2, u'廁': 2, u'觏': 1, u'魘': 2, u'镜': 1, u'满': 1, u'襤': 2, u'择': 1, u'荨': 1, u'䁪': 2, u'瑲': 2, u'郵': 2, u'蓽': 2, u'笃': 1, u'鲂': 1, u'邊': 2, u'椏': 2, u'䞐': 1, u'鴗': 2, u'澠': 2, u'鶬': 2, u'樹': 2, u'许': 1, u'鹁': 1, u'鉉': 2, u'𨱍': 1, u'虑': 1, u'飚': 1, u'俠': 2, u'賢': 2, u'胪': 1, u'緬': 2, u'饯': 1, u'偵': 2, u'燴': 2, u'挂': 1, u'誇': 2, u'漊': 2, u'厍': 1, u'随': 1, u'鲓': 1, u'徕': 1, u'璣': 2, u'𣶩': 1, u'鰨': 2, u'弪': 1, u'戬': 1, u'閹': 2, u'镎': 1, u'軟': 2, u'铣': 1, u'巩': 1, u'惫': 1, u'驼': 1, u'绿': 1, u'沈': 1, u'個': 2, u'餑': 2, u'攙': 2, u'無': 2, u'鎢': 2, u'眥': 2, u'𩾈': 1, u'谳': 1, u'殲': 2, u'鈷': 2, u'頻': 2, u'鸿': 1, u'綾': 2, u'胀': 1, u'賈': 2, u'鋌': 2, u'嗎': 2, u'飐': 1, u'靥': 1, u'盤': 2, u'𩵩': 2, u'诲': 1, u'渊': 1, u'劍': 2, u'鞏': 2, u'鶓': 2, u'掗': 2, u'箧': 1, u'鴨': 2, u'钹': 1, u'笼': 1, u'𠉂': 1, u'磑': 2, u'奐': 2, u'绕': 1, u'迟': 1, u'鯧': 2, u'繪': 2, u'荬': 1, u'轴': 1, u'构': 1, u'鈍': 2, u'頑': 2, u'鸕': 2, u'貞': 2, u'颦': 1, u'脫': 2, u'贳': 1, u'皺': 2, u'蟄': 2, u'𩨌': 1, u'鏌': 2, u'睏': 2, u'駐': 2, u'嫒': 1, u'𩙥': 1, u'編': 2, u'蓮': 2, u'导': 1, u'鳾': 2, u'蚃': 1, u'钏': 1, u'礒': 2, u'䌖': 2, u'沟': 1, u'伞': 1, u'鈠': 2, u'鸨': 1, u'讱': 1, u'𦰴': 1, u'傷': 2, u'岿': 1, u'么': 1, u'赊': 1, u'篑': 1, u'饒': 2, u'𥱔': 1, u'諛': 2, u'賟': 2, u'難': 2, u'煢': 2, u'擯': 2, u'詰': 2, u'陸': 2, u'𩢾': 2, u'顼': 1, u'撄': 1, u'載': 2, u'溈': 2, u'鴕': 2, u'莖': 2, u'辞': 1, u'猡': 1, u'𫘣': 1, u'𧔥': 2, u'咤': 1, u'鮦': 2, u'缩': 1, u'鶪': 2, u'榲': 2, u'圹': 1, u'繓': 2, u'鳔': 1, u'襝': 2, u'镥': 1, u'绨': 1, u'闺': 1, u'壼': 2, u'怂': 1, u'争': 1, u'閏': 2, u'涟': 1, u'錠': 2, u'锤': 1, u'礼': 1, u'䍀': 1, u'聂': 1, u'詆': 2, u'𫏋': 1, u'𨱊': 1, u'兌': 2, u'顒': 2, u'𧳕': 1, u'臗': 2, u'诛': 1, u'湞': 2, u'駧': 2, u'廩': 2, u'籪': 2, u'𨅬': 1, u'議': 2, u'饼': 1, u'幾': 2, u'𨐅': 1, u'𨸉': 1, u'熌': 2, u'𧶔': 2, u'昙': 1, u'骦': 1, u'鲪': 1, u'輳': 2, u'梲': 2, u'状': 1, u'鴿': 2, u'纾': 1, u'权': 1, u'迈': 1, u'里': 1, u'鷔': 2, u'衝': 2, u'鑥': 2, u'奧': 2, u'鹩': 1, u'蛮': 1, u'橱': 1, u'鋶': 2, u'铺': 1, u'黾': 1, u'肃': 1, u'钋': 1, u'權': 2, u'颓': 1, u'缒': 1, u'檟': 2, u'鐠': 2, u'级': 1, u'嬪': 2, u'趱': 1, u'讵': 1, u'赆': 1, u'譊': 2, u'齒': 2, u'給': 2, u'虬': 1, u'選': 2, u'系': 1, u'鹼': 2, u'万': 1, u'𦢈': 2, u'𦈘': 1, u'𫍰': 1, u'鮪': 2, u'憮': 2, u'鰻': 2, u'玺': 1, u'𥼽': 2, u'𣺼': 1, u'蓀': 2, u'裈': 1, u'瑋': 2, u'鳐': 1, u'體': 2, u'镡': 1, u'鍥': 2, u'饩': 1, u'䫴': 2, u'闶': 1, u'鏺': 2, u'膃': 2, u'辇': 1, u'開': 2, u'馓': 1, u'涛': 1, u'輜': 2, u'锠': 1, u'館': 2, u'䦳': 2, u'邹': 1, u'麽': 2, u'擁': 2, u'担': 1, u'𨱆': 1, u'𣗋': 1, u'過': 2, u'嵐': 2, u'鹒': 1, u'诟': 1, u'員': 2, u'釣': 2, u'癢': 2, u'壩': 2, u'槳': 2, u'譴': 2, u'緻': 2, u'𩽼': 1, u'掄': 2, u'榈': 1, u'阍': 1, u'綐': 2, u'袞': 2, u'鲦': 1, u'悮': 1, u'褳': 2, u'鴻': 2, u'𪉅': 1, u'潇': 1, u'览': 1, u'韌': 2, u'鯔': 2, u'濜': 2, u'𫛢': 1, u'軲': 2, u'银': 1, u'繽': 2, u'飾': 2, u'𪘀': 2, u'邏': 2, u'猎': 1, u'徑': 2, u'骓': 1, u'谜': 1, u'梟': 2, u'䬞': 2, u'唢': 1, u'轆': 2, u'鵒': 2, u'軛': 2, u'慚': 2, u'埡': 2, u'鋣': 2, u'畢': 2, u'鳧': 2, u'審': 2, u'惯': 1, u'蹰': 1, u'櫳': 2, u'鉸': 2, u'绻': 1, u'鱼': 1, u'脅': 2, u'锍': 1, u'餕': 2, u'膚': 2, u'讞': 2, u'瞶': 2, u'鸻': 1, u'汇': 1, u'铌': 1, u'灏': 1, u'巒': 2, u'飔': 1, u'荙': 1, u'赝': 1, u'𨷲': 2, u'極': 2, u'勸': 2, u'釺': 2, u'搂': 1, u'栊': 1, u'庑': 1, u'鮓': 2, u'𩞯': 2, u'斗': 1, u'澛': 1, u'𧶧': 2, u'带': 1, u'攬': 2, u'䮳': 2, u'喷': 1, u'鲽': 1, u'紼': 2, u'𠯠': 1, u'绑': 1, u'鱒': 2, u'晖': 1, u'䋙': 2, u'进': 1, u'僥': 2, u'轰': 1, u'襴': 2, u'㳽': 1, u'國': 2, u'鐍': 2, u'𦈙': 1, u'語': 2, u'瘡': 2, u'钢': 1, u'麦': 1, u'謳': 2, u'锷': 1, u'刹': 1, u'為': 2, u'尽': 1, u'餿': 2, u'浇': 1, u'仆': 1, u'诈': 1, u'闌': 2, u'駔': 2, u'艙': 2, u'𢫞': 1, u'遥': 1, u'䦁': 1, u'颋': 1, u'钓': 1, u'谘': 1, u'会': 1, u'𩠠': 1, u'鸤': 1, u'犧': 2, u'鐨': 2, u'训': 1, u'𨶲': 2, u'鶹': 2, u'㻏': 1, u'𨸌': 1, u'諗': 2, u'鳣': 1, u'嗩': 2, u'詬': 2, u'滯': 2, u'聰': 2, u'鱸': 2, u'輅': 2, u'撈': 2, u'鬍': 2, u'帏': 1, u'吓': 1, u'𪨗': 1, u'視': 2, u'辚': 1, u'挝': 1, u'缥': 1, u'踯': 1, u'騷': 2, u'逻': 1, u'髌': 1, u'繏': 2, u'郐': 1, u'𣝕': 2, u'赙': 1, u'荝': 1, u'磠': 2, u'绤': 1, u'剧': 1, u'镩': 1, u'駶': 2, u'絹': 2, u'闾': 1, u'䢁': 1, u'樂': 2, u'怆': 1, u'馋': 1, u'傑': 2, u'間': 2, u'嚕': 2, u'业': 1, u'綣': 2, u'锨': 1, u'朴': 1, u'鲹': 1, u'冻': 1, u'棁': 1, u'滅': 2, u'孌': 2, u'诗': 1, u'穢': 2, u'䉲': 2, u'幺': 2, u'矿': 1, u'蠁': 2, u'𨸅': 1, u'𪂆': 2, u'𨐉': 1, u'騍': 2, u'阕': 1, u'躚': 2, u'𦈝': 1, u'蒞': 2, u'骢': 1, u'險': 2, u'輯': 2, u'纺': 1, u'刽': 1, u'觀': 2, u'浃': 1, u'釐': 2, u'鹥': 1, u'痨': 1, u'牽': 2, u'链': 1, u'骋': 1, u'鲏': 1, u'缎': 1, u'𦂅': 2, u'抛': 1, u'撟': 2, u'騠': 2, u'纣': 1, u'夢': 2, u'鰤': 2, u'匦': 1, u'莱': 1, u'戰': 2, u'毁': 1, u'荆': 1, u'种': 1, u'齎': 2, u'珑': 1, u'剐': 1, u'𨤻': 2, u'蓟': 1, u'祢': 1, u'郧': 1, u'櫫': 2, u'衬': 1, u'艰': 1, u'遼': 2, u'謁': 2, u'贅': 2, u'暈': 2, u'餍': 1, u'嘓': 2, u'锕': 1, u'讖': 2, u'螞': 2, u'𣸣': 1, u'鎦': 2, u'嚨': 2, u'谯': 1, u'澮': 2, u'憲': 2, u'頷': 2, u'弹': 1, u'綺': 2, u'鐿': 2, u'賄': 2, u'铔': 1, u'幣': 2, u'業': 2, u'𨫒': 2, u'敵': 2, u'鯶': 2, u'鷺': 2, u'较': 1, u'戆': 1, u'鮋': 2, u'縎': 2, u'劑': 2, u'𩾂': 1, u'掛': 2, u'䘞': 1, u'䮫': 2, u'袭': 1, u'䭀': 2, u'曉': 2, u'鹎': 1, u'瓕': 2, u'峥': 1, u'釧': 2, u'牦': 1, u'瑪': 2, u'𢣭': 2, u'襬': 2, u'蕴': 1, u'婶': 1, u'訁': 2, u'谅': 1, u'嬋': 2, u'鈑': 2, u'圓': 2, u'渙': 2, u'宠': 1, u'颢': 1, u'銦': 2, u'謫': 2, u'钪': 1, u'𧵳': 2, u'贯': 1, u'餷': 2, u'窶': 2, u'锿': 1, u'诀': 1, u'跄': 1, u'蟈': 2, u'鏐': 2, u'闔': 2, u'濘': 2, u'內': 2, u'险': 1, u'繹': 2, u'災': 2, u'雾': 1, u'攆': 2, u'鲋': 1, u'骏': 1, u'礎': 2, u'𫐐': 1, u'邓': 1, u'厕': 1, u'䴖': 1, u'𪞝': 1, u'抟': 1, u'鰠': 2, u'騤': 2, u'辭': 2, u'測': 2, u'馹': 2, u'鞽': 2, u'势': 1, u'轂': 2, u'蕆': 2, u'應': 2, u'荊': 2, u'呐': 1, u'軗': 2, u'飣': 2, u'罢': 1, u'獪': 2, u'绷': 1, u'顸': 1, u'謅': 2, u'脉': 1, u'尋': 2, u'𪎊': 1, u'鼍': 1, u'續': 2, u'㦎': 2, u'锑': 1, u'錕': 2, u'紡': 2, u'储': 1, u'谫': 1, u'鎪': 2, u'榮': 2, u'鸷': 1, u'夹': 1, u'鈿': 2, u'熾': 2, u'賀': 2, u'係': 2, u'諄': 2, u'籋': 2, u'黌': 2, u'铐': 1, u'鵡': 2, u'魥': 2, u'𫗦': 1, u'烨': 1, u'们': 1, u'蟲': 2, u'𩧿': 1, u'壸': 1, u'釾': 2, u'䲁': 2, u'澗': 2, u'褘': 2, u'𩬤': 1, u'刪': 2, u'漬': 2, u'隽': 1, u'县': 1, u'況': 2, u'绍': 1, u'彌': 2, u'顎': 2, u'協': 2, u'峡': 1, u'繢': 2, u'㭤': 1, u'韧': 1, u'转': 1, u'蕰': 1, u'𩲒': 1, u'饸': 1, u'偾': 1, u'谁': 1, u'𫚒': 1, u'鈕': 2, u'䦘': 2, u'誚': 2, u'簡': 2, u'嶠': 2, u'钦': 1, u'贫': 1, u'銪': 2, u'锻': 1, u'窺': 2, u'嘽': 2, u'评': 1, u'闐': 2, u'柜': 1, u'締': 2, u'驥': 2, u'篤': 2, u'適': 2, u'蛲': 1, u'𣽷': 1, u'鳶': 2, u'䦅': 1, u'蒇': 1, u'颏': 1, u'銓': 2, u'記': 2, u'鸠': 1, u'崢': 2, u'頤': 2, u'優': 2, u'氬': 2, u'閽': 2, u'琼': 1, u'濁': 2, u'赂': 1, u'腊': 1, u'緍': 2, u'魎': 2, u'镒': 1, u'捞': 1, u'絢': 2, u'铧': 1, u'豬': 2, u'𨁴': 1, u'驸': 1, u'鑼': 2, u'辖': 1, u'䪘': 2, u'攝': 2, u'缡': 1, u'𩞦': 2, u'动': 1, u'殮': 2, u'鰷': 2, u'軀': 2, u'摇': 1, u'苈': 1, u'鳌': 1, u'譙': 2, u'齡': 2, u'绠': 1, u'饥': 1, u'鍩': 2, u'诮': 1, u'東': 2, u'筹': 1, u'𩧺': 1, u'𩏾': 1, u'氂': 2, u'龋': 1, u'馏': 1, u'税': 1, u'𩠇': 1, u'錨': 2, u'愴': 2, u'钽': 1, u'𨱂': 1, u'虆': 2, u'㧏': 1, u'监': 1, u'鑒': 2, u'臟': 2, u'廡': 2, u'勩': 2, u'𣍨': 1, u'濫': 2, u'赬': 2, u'緷': 2, u'并': 1, u'剾': 2, u'𨸁': 1, u'澀': 2, u'蠅': 2, u'榄': 1, u'舉': 2, u'鰍': 2, u'綌': 2, u'阑': 1, u'逕': 2, u'標': 2, u'徠': 2, u'鲢': 1, u'厨': 1, u'檮': 2, u'撲': 2, u'鴷': 2, u'纶': 1, u'確': 2, u'规': 1, u'𪉉': 1, u'𩟐': 2, u'哒': 1, u'釔': 2, u'𢣚': 2, u'鹡': 1, u'㳢': 1, u'顥': 2, u'啧': 1, u'諮': 2, u'黶': 2, u'𩣺': 2, u'瑽': 2, u'冁': 1, u'垅': 1, u'骇': 1, u'礆': 2, u'缊': 1, u'貓': 2, u'欒': 2, u'𥐯': 1, u'鐘': 2, u'碛': 1, u'纟': 1, u'撣': 2, u'谨': 1, u'伪': 1, u'馱': 2, u'䊷': 2, u'讽': 1, u'亿': 1, u'燁': 2, u'齊': 2, u'蕎': 2, u'濕': 2, u'乔': 1, u'𡋗': 1, u'飛': 2, u'寝': 1, u'㩜': 2, u'絞': 2, u'蓣': 1, u'换': 1, u'諧': 2, u'烫': 1, u'鉬': 2, u'啮': 1, u'顰': 2, u'鹴': 1, u'詼': 2, u'滿': 2, u'炀': 1, u'娇': 1, u'鴉': 2, u'輕': 2, u'莢': 2, u'朥': 2, u'覦': 2, u'匭': 2, u'疮': 1, u'鰳': 2, u'張': 2, u'憶': 2, u'蠻': 2, u'参': 1, u'鳈': 1, u'恋': 1, u'𥿊': 2, u'苌': 1, u'軔': 2, u'剗': 2, u'镙': 1, u'幟': 2, u'腡': 2, u'𨵩': 2, u'注': 1, u'獭': 1, u'问': 1, u'声': 1, u'罵': 2, u'𢹿': 2, u'閃': 2, u'㜄': 2, u'縊': 2, u'锘': 1, u'羟': 1, u'质': 1, u'个': 1, u'猬': 1, u'𠆿': 1, u'颱': 2, u'麵': 2, u'缴': 1, u'烁': 1, u'顆': 2, u'鹊': 1, u'詒': 2, u'鏗': 2, u'哙': 1, u'駛': 2, u'诧': 1, u'桦': 1, u'鍬': 2, u'矯': 2, u'饰': 1, u'阅': 1, u'鰉': 2, u'綈': 2, u'舍': 1, u'蠑': 2, u'䴓': 1, u'𥮜': 1, u'鲞': 1, u'𤞤': 1, u'氩': 1, u'躪': 2, u'刭': 1, u'報': 2, u'悶': 2, u'褻': 2, u'輿': 2, u'釀': 2, u'鷈': 2, u'態': 2, u'𪉍': 1, u'觐': 1, u'浓': 1, u'铮': 1, u'胶': 1, u'蛺': 2, u'賾': 2, u'𥖅': 2, u'𫐄': 1, u'颇': 1, u'躓': 2, u'阘': 1, u'唚': 2, u'頜': 2, u'萤': 1, u'覽': 2, u'剀': 1, u'酂': 1, u'懍': 2, u'埙': 1, u'鳟': 1, u'俩': 1, u'瓯': 1, u'驰': 1, u'绳': 1, u'櫻': 2, u'錁': 2, u'锅': 1, u'鼉': 2, u'纈': 2, u'脍': 1, u'专': 1, u'鎖': 2, u'墜': 2, u'挡': 1, u'膢': 2, u'讦': 1, u'鐯': 2, u'鸳': 1, u'註': 2, u'𨰿': 1, u'澾': 2, u'𡋀': 1, u'铄': 1, u'静': 1, u'盘': 1, u'荡': 1, u'轩': 1, u'滨': 1, u'㑯': 2, u'𩧲': 1, u'峴': 2, u'藺': 2, u'𫌀': 1, u'瀂': 2, u'馇': 1, u'稆': 1, u'输': 1, u'熗': 2, u'𫚙': 1, u'㢝': 2, u'餜': 2, u'枣': 1, u'𣠲': 2, u'鲵': 1, u'區': 2, u'绉': 1, u'彈': 2, u'釗': 2, u'鯛': 2, u'繞': 2, u'蟣': 2, u'懷': 2, u'蝸': 2, u'乾': 2, u'鈁': 2, u'玀': 2, u'备': 1, u'羈': 2, u'䌋': 2, u'訑': 2, u'谕': 1, u'銖': 2, u'钚': 1, u'𦈡': 1, u'誦': 2, u'温': 1, u'侨': 1, u'錫': 2, u'貪': 2, u'锯': 1, u'娱': 1, u'撺': 1, u'贿': 1, u'僂': 2, u'诐': 1, u'兗': 2, u'灭': 1, u'飲': 2, u'軾': 2, u'厅': 1, u'紆': 2, u'蒋': 1, u'䞍': 1, u'蠨': 2, u'𩶱': 2, u'墳': 2, u'辽': 1, u'靂': 2, u'剄': 2, u'䙌': 1, u'腎': 2, u'毕': 1, u'凙': 2, u'鳛': 1, u'𩙬': 1, u'狯': 1, u'彲': 2, u'驴': 1, u'泻': 1, u'䥾': 1, u'锁': 1, u'餉': 2, u'檔': 2, u'𩖖': 1, u'傘': 2, u'缝': 1, u'𩚛': 2, u'螢': 2, u'挥': 1, u'䢨': 2, u'鐫': 2, u'讪': 1, u'鈯': 2, u'掺': 1, u'铀': 1, u'灃': 2, u'飈': 2, u'摋': 2, u'络': 1, u'擠': 2, u'𤁣': 2, u'荥': 1, u'統': 2, u'藶': 2, u'瘂': 2, u'龇': 1, u'覓': 2, u'刚': 1, u'眬': 1, u'鲱': 1, u'細': 2, u'驊': 2, u'蹒': 1, u'廝': 2, u'痫': 1, u'干': 1, u'魴': 2, u'腸': 2, u'轼': 1, u'毿': 2, u'𩠉': 1, u'谑': 1, u'訕': 2, u'钖': 1, u'銚': 2, u'縝': 2, u'颞': 1, u'锫': 1, u'說': 2, u'錯': 2, u'餳': 2, u'纲': 1, u'䀹': 2, u'贻': 1, u'丽': 1, u'梾': 1, u'𩗀': 2, u'囂': 2, u'楓': 2, u'诔': 1, u'块': 1, u'遙': 2, u'鹝': 1, u'无': 1, u'槨': 2, u'癭': 2, u'𣍯': 1, u'巰': 2, u'黲': 2, u'恹': 1, u'銃': 2, u'内': 1, u'缆': 1, u'洒': 1, u'圖': 2, u'鰜': 2, u'𥬞': 1, u'沧': 1, u'伦': 1, u'閭': 2, u'傯': 2, u'𡾱': 2, u'莹': 1, u'镂': 1, u'築': 2, u'饊': 2, u'𪃏': 2, u'濑': 1, u'乐': 1, u'赒': 1, u'铗': 1, u'叙': 1, u'賧': 2, u'鹰': 1, u'顴': 2, u'擷': 2, u'滻': 2, u'霁': 1, u'將': 2, u'梔': 2, u'猙': 2, u'紝': 2, u'鮞': 2, u'辦': 2, u'親': 2, u'玮': 1, u'網': 2, u'䌹': 1, u'𩢡': 2, u'忆': 1, u'晋': 1, u'呗': 1, u'鵝': 2, u'曠': 2, u'櫨': 2, u'㩳': 2, u'鷲': 2, u'蟶': 2, u'臺': 2, u'课': 1, u'鶇': 2, u'𦈎': 1, u'云': 1, u'讓': 2, u'疗': 1, u'嘖': 2, u'錘': 2, u'鴜': 2, u'涧': 1, u'並': 2, u'謨': 2, u'垫': 1, u'钭': 1, u'冯': 1, u'缰': 1, u'貽': 2, u'洼': 1, u'鹆': 1, u'𨱒': 1, u'務': 2, u'駟': 2, u'𤫩': 2, u'矫': 1, u'镬': 1, u'剮': 2, u'篳': 2, u'饴': 1, u'旷': 1, u'阁': 1, u'𥌃': 2, u'𩨉': 1, u'厘': 1, u'骞': 1, u'躦': 2, u'𦨩': 1, u'帱': 1, u'蔷': 1, u'輻': 2, u'运': 1, u'鱝': 2, u'柠': 1, u'詩': 2, u'鋮': 2, u'鳲': 2, u'硵': 1, u'諾': 2, u'鲃': 1, u'躏': 1, u'皟': 2, u'沣': 1, u'萨': 1, u'鮭': 2, u'醱': 2, u'瀰': 2, u'𡞵': 2, u'痉': 1, u'赎': 1, u'懑': 1, u'罚': 1, u'賣': 2, u'俥': 2, u'苧': 2, u'马': 1, u'绯': 1, u'惻': 2, u'锉': 1, u'𤠋': 1, u'脑': 1, u'蜕': 1, u'紙': 2, u'岘': 1, u'龚': 1, u'订': 1, u'鸯': 1, u'鐳': 2, u'耻': 1, u'䌽': 1, u'蘿': 2, u'飀': 2, u'籃': 2, u'黄': 1, u'准': 1, u'铈': 1, u'滤': 1, u'蕩': 2, u'煱': 2, u'㑳': 2, u'围': 1, u'觶': 2, u'浹': 2, u'𤳸': 2, u'𥺅': 1, u'鎇': 2, u'瀆': 2, u'見': 2, u'辏': 1, u'𦈒': 1, u'堖': 2, u'涣': 1, u'妫': 1, u'𩚵': 2, u'驂': 2, u'绅': 1, u'豎': 2, u'鯗': 2, u'硖': 1, u'繚': 2, u'勝': 2, u'橢': 2, u'𡭬': 1, u'𠵸': 1, u'頁': 2, u'禀': 1, u'崃': 1, u'憐': 2, u'颖': 1, u'钞': 1, u'粮': 1, u'锳': 1, u'嘵': 2, u'撾': 2, u'闈': 2, u'诌': 1, u'緘': 2, u'坟': 1, u'槠': 1, u'濤': 2, u'𨱐': 1, u'穭': 2, u'寬': 2, u'汹': 1, u'軺': 2, u'宁': 1, u'邇': 2, u'鸘': 2, u'圞': 2, u'谤': 1, u'馭': 2, u'嚳': 2, u'边': 1, u'膽': 2, u'怼': 1, u'鍆': 2, u'镊': 1, u'槍': 2, u'轎': 2, u'飗': 1, u'铟': 1, u'睞': 2, u'胧': 1, u'顬': 2, u'㖊': 1, u'茑': 1, u'缙': 1, u'鶚': 2, u'騫': 2, u'匱': 2, u'阳': 1, u'熲': 2, u'舻': 1, u'繃': 2, u'𥧂': 1, u'鳄': 1, u'橋': 2, u'嗊': 2, u'晓': 1, u'塗': 2, u'齙': 2, u'绘': 1, u'剛': 2, u'酝': 1, u'曨': 2, u'獱': 2, u'诶': 1, u'龃': 1, u'讋': 2, u'𨶏': 2, u'渎': 1, u'玛': 1, u'疟': 1, u'謠': 2, u'贤': 1, u'宫': 1, u'颭': 2, u'礬': 2, u'銱': 2, u'钵': 1, u'䦷': 1, u'𩙰': 1, u'漸': 2, u'鑊': 2, u'癞': 1, u'桢': 1, u'饬': 1, u'緯': 2, u'鍰': 2, u'镴': 1, u'轸': 1, u'腼': 1, u'騁': 2, u'简': 1, u'弃': 1, u'阉': 1, u'骖': 1, u'鲚': 1, u'瀝': 2, u'农': 1, u'䮠': 2, u'芦': 1, u'鴯': 2, u'纮': 1, u'鯀': 2, u'觌': 1, u'浏': 1, u'从': 1, u'𪉑': 1, u'鹙': 1, u'翘': 1, u'燜': 2, u'啟': 2, u'𫛞': 1, u'詡': 2, u'佣': 1, u'台': 3, u'諶': 2, u'賺': 2, u'恽': 1, u'嶁': 2, u'颃': 1, u'缂': 1, u'領': 2, u'谠': 1, u'暧': 1, u'龭': 2, u'縬': 2, u'媯': 2, u'閱': 2, u'傳': 2, u'鎵': 2, u'昼': 1, u'镆': 1, u'乌': 1, u'𩠌': 1, u'铛': 1, u'筚': 1, u'鋟': 2, u'裣': 1, u'鹬': 1, u'奮': 2, u'鑰': 2, u'鉴': 1, u'擻': 2, u'鄉': 2, u'撐': 2, u'茕': 1, u'鶖': 2, u'礙': 2, u'鮚': 2, u'醞': 2, u'䲠': 1, u'薦': 2, u'禮': 2, u'殺': 2, u'鳀': 1, u'癇': 2, u'嗆': 2, u'軌': 2, u'幗': 2, u'呛': 1, u'盜': 2, u'赡': 1, u'惨': 1, u'廬': 2, u'𩧮': 1, u'獵': 2, u'跶': 1, u'诺': 1, u'岁': 1, u'馃': 1, u'趋': 1, u'栎': 1, u'餘': 2, u'贠': 1, u'丢': 1, u'枧': 1, u'缬': 1, u'钱': 1, u'决': 1, u'𪀾': 2, u'糁': 1, u'鹂': 1, u'竅': 2, u'壙': 2, u'鏟': 2, u'扪': 1, u'齬': 2, u'篯': 1, u'镰': 1, u'噲': 2, u'蝼': 1, u'揿': 1, u'鰁': 2, u'綀': 2, u'騅': 2, u'圇': 2, u'选': 1, u'鲖': 1, u'骚': 1, u'皲': 1, u'祃': 1, u'廂': 2, u'鯄': 2, u'测': 1, u'𪉕': 1, u'顙': 2, u'陝': 2, u'聩': 1, u'懨': 2, u'繭': 2, u'雲': 2, u'牵': 1, u'諺': 2, u'征': 1, u'骃': 1, u'紂': 2, u'钇': 1, u'厉': 1, u'躋': 2, u'攒': 1, u'檣': 2, u'𩾇': 1, u'庫': 2, u'𡞱': 1, u'劳': 1, u'讹': 1, u'樸': 2, u'幀': 2, u'鵂': 2, u'譎': 2, u'蕒': 2, u'鳗': 1, u'雛': 2, u'郟': 2, u'绫': 1, u'慪': 2, u'磯': 2, u'陰': 2, u'泷': 1, u'𩙨': 1, u'䥺': 1, u'餅': 2, u'贍': 2, u'挩': 2, u'鸫': 1, u'崭': 1, u'鈳': 2, u'谷': 1, u'飄': 2, u'𩏽': 1, u'𩭙': 2, u'镝': 1, u'轡': 2, u'滠': 1, u'荩': 1, u'拨': 1, u'困': 1, u'闲': 1, u'鮃': 2, u'瘆': 1, u'劉': 2, u'辋': 1, u'規': 2, u'锜': 1, u'鲭': 1, u'紬': 2, u'隱': 2, u'誹': 2, u'绁': 1, u'鱂': 2, u'陆': 1, u'詎': 2, u'葒': 2, u'鷗': 2, u'𧹖': 1, u'硚': 1, u'哝': 1, u'𧉞': 1, u'诣': 1, u'鵬': 2, u'积': 1, u'譸': 2, u'項': 2, u'禄': 1, u'鈉': 2, u'谍': 1, u'颚': 1, u'侠': 1, u'貢': 2, u'戩': 2, u'窮': 2, u'嘱': 1, u'錳': 2, u'贷': 1, u'鏈': 2, u'潋': 1, u'篘': 2, u'坛': 1, u'补': 1, u'槤': 2, u'髮': 2, u'癱': 2, u'埰': 2, u'铲': 1, u'灵': 1, u'橹': 1, u'輊': 2, u'锎': 1, u'芗': 1, u'䮝': 2, u'瀠': 2, u'钣': 1, u'骧': 1, u'踴': 2, u'鐸': 2, u'场': 1, u'𨇁': 2, u'鏍': 2, u'駑': 2, u'腖': 2, u'滟': 1, u'赞': 1, u'饦': 1, u'屨': 2, u'胫': 1, u'齪': 2, u'扬': 1, u'嗹': 2, u'黿': 2, u'喎': 2, u'颐': 1, u'缕': 1, u'謝': 2, u'丟': 2, u'涞': 1, u'吣': 1, u'禦': 2, u'薮': 1, u'氳': 2, u'讲': 1, u'爷': 1, u'咸': 1, u'砻': 1, u'媼': 2, u'曄': 2, u'運': 2, u'录': 1, u'绔': 1, u'諜': 2, u'叢': 2, u'姦': 2, u'荭': 1, u'轵': 1, u'燶': 2, u'广': 1, u'斃': 2, u'殇': 1, u'蠆': 2, u'踊': 1, u'鐎': 2, u'經': 2, u'閣': 2, u'𨤰': 1, u'锸': 1, u'胁': 1, u'𠛅': 1, u'湊': 2, u'飑': 1, u'聖': 2, u'槛': 1, u'虚': 1, u'濟': 2, u'鹪': 1, u'蟯': 2, u'潴': 1, u'鏷': 2, u'駻': 2, u'筼': 1, u'态': 1, u'螄': 2, u'爍': 2, u'㜏': 2, u'馐': 1, u'縕': 2, u'龔': 2, u'訝': 2, u'伟': 1, u'犢': 2, u'鰩': 2, u'纪': 1, u'术': 1, u'課': 2, u'𨱈': 1, u'鲾': 1, u'懀': 2, u'𩸦': 2, u'鵓': 2, u'诜': 1, u'灡': 2, u'勢': 2, u'癥': 2, u'籩': 2, u'鷨': 2, u'廪': 1, u'鑹': 2, u'驽': 1, u'糾': 2, u'贊': 2, u'𥨐': 2, u'纓': 2, u'餒': 2, u'尔': 1, u'貟': 2, u'颧': 1, u'復': 2, u'耬': 2, u'谴': 1, u'㲿': 1, u'𨐊': 1, u'勋': 1, u'浊': 1, u'𩓣': 2, u'櫛': 2, u'監': 2, u'磧': 2, u'鵪': 2, u'蓯': 2, u'骐': 1, u'紕': 2, u'鲔': 1, u'錡': 2, u'锥': 1, u'箦': 1, u'螮': 2, u'覲': 2, u'䍁': 1, u'擄': 2, u'鉋': 2, u'鹓': 1, u'補': 2, u'𥇢': 1, u'铤': 1, u'實': 2, u'黨': 2, u'腭': 1, u'赵': 1, u'𫛸': 1, u'饽': 1, u'屿': 1, u'榇': 1, u'谊': 1, u'阎': 1, u'頒': 2, u'务': 1, u'缨': 1, u'悭': 1, u'贴': 1, u'制': 1, u'碽': 2, u'餼': 2, u'苁': 1, u'軉': 2, u'鳕': 1, u'㓥': 1, u'驦': 2, u'彨': 1, u'迳': 1, u'釷': 2, u'壽': 2, u'鷿': 2, u'搅': 1, u'𦈗': 1, u'辈': 1, u'鮐': 2, u'圣': 1, u'鐥': 2, u'窦': 1, u'鸩': 1, u'粪': 1, u'銶': 2, u'钺': 1, u'紿': 2, u'揀': 2, u'义': 1, u'鍋': 2, u'镏': 1, u'𩎢': 2, u'𨧜': 2, u'闤': 2, u'繩': 2, u'話': 2, u'棲': 2, u'顽': 1, u'绾': 1, u'溇': 1, u'謊': 2, u'𩥉': 2, u'㜢': 2, u'妩': 1, u'枭': 1, u'谰': 1, u'訴': 2, u'区': 1, u'鸼': 1, u'夾': 2, u'杂': 1, u'𪉄': 1, u'浆': 1, u'觉': 1, u'韍': 2, u'壓': 2, u'鯕': 2, u'荚': 1, u'櫟': 2, u'面': 1, u'继': 1, u'繼': 2, u'眍': 1, u'鲐': 1, u'笕': 1, u'骔': 1, u'輝': 2, u'锡': 1, u'帧': 1, u'箪': 1, u'戯': 1, u'䲰': 2, u'農': 2, u'閶': 2, u'顓': 2, u'䗖': 1, u'铠': 1, u'鋤': 2, u'飨': 1, u'𩯒': 1, u'𩽽': 1, u'秾': 1, u'𨉗': 1, u'澇': 2, u'谆': 1, u'訊': 2, u'贰': 1, u'吶': 2, u'点': 1, u'纽': 1, u'𤇃': 1, u'時': 2, u'鳑': 1, u'繒': 2, u'髕': 2, u'𦟗': 1, u'卤': 1, u'驪': 2, u'華': 2, u'𣑶': 1, u'價': 2, u'鯿': 2, u'搁': 1, u'薀': 2, u'栉': 1, u'瘍': 2, u'抚': 1, u'儣': 2, u'鈥': 2, u'窪': 2, u'肮': 1, u'钶': 1, u'颾': 2, u'镋': 1, u'𢫊': 1, u'篔': 2, u'臘': 2, u'䋚': 2, u'远': 1, u'闠': 2, u'团': 1, u'鏤': 2, u'峦': 1, u'𩧨': 1, u'惮': 1, u'滲': 2, u'詵': 2, u'鹽': 2, u'孿': 2, u'蔂': 1, u'同': 1, u'帐': 1, u'鴒': 2, u'战': 1, u'銣': 2, u'鲧': 1, u'断': 1, u'萬': 2, u'澱': 2, u'鈸': 2, u'儺': 2, u'綽': 2, u'鰼': 2, u'潆': 1, u'诉': 1, u'楊': 2, u'闍': 2, u'獎': 2, u'駕': 2, u'棟': 2, u'噠': 2, u'镢': 1, u'糧': 2, u'齦': 2, u'饪': 1, u'諳': 2, u'铷': 1, u'叹': 1, u'籼': 1, u'飿': 2, u'蚀': 1, u'來': 2, u'钌': 1, u'缑': 1, u'颔': 1, u'丛': 1, u'憚': 2, u'贝': 1, u'殞': 2, u'霡': 1, u'尧': 1, u'鬩': 2, u'禪': 2, u'𪔭': 1, u'𨎮': 2, u'趲': 2, u'𦃄': 2, u'𨱇': 1, u'绐': 1, u'賜': 2, u'雠': 1, u'煥': 2, u'蕭': 2, u'揮': 2, u'轱': 1, u'矶': 1, u'䜀': 2, u'掃': 2, u'涇': 2, u'𨸆': 1, u'箓': 1, u'鰒': 2, u'䲝': 1, u'鎣': 2, u'傥': 1, u'褴': 1, u'犹': 1, u'錸': 2, u'债': 1, u'諉': 2, u'铍': 1, u'减': 1, u'飕': 1, u'槟': 1, u'詞': 2, u'坠': 1, u'鹦': 1, u'潰': 2, u'诳': 1, u'闷': 1, u'獸': 2, u'峽': 2, u'駿': 2, u'螀': 1, u'怅': 1, u'閌': 2, u'縑': 2, u'龐': 2, u'馔': 1, u'伛': 1, u'谝': 1, u'约': 1, u'貲': 2, u'隶': 1, u'邺': 1, u'嶼': 2, u'赇': 1, u'𡅏': 2, u'釤': 2, u'穩': 2, u'鯨': 2, u'彻': 1, u'鱽': 1, u'謂': 2, u'纏': 2, u'錒': 2, u'嘔': 2, u'𦈜': 1, u'鲣': 1, u'綹': 2, u'强': 1, u'见': 1, u'壋': 2, u'絎': 2, u'哓': 1, u'襖': 2, u'魢': 2, u'酦': 1, u'叽': 1, u'椁': 1, u'验': 1, u'邐': 2, u'𫐓': 1, u'餡': 2, u'锩': 1, u'𨶮': 2, u'莲': 1, u'瘿': 1, u'閾': 2, u'检': 1, u'𨱃': 1, u'滄': 2, u'鹏': 1, u'兑': 1, u'捝': 1, u'飠': 2, u'寢': 2, u'铨': 1, u'𢫬': 1, u'𩵹': 2, u'偻': 1, u'痾': 2, u'訂': 2, u'蘊': 2, u'嬌': 2, u'儐': 2, u'鈒': 2, u'𫚕': 1, u'挜': 1, u'缤': 1, u'鎧': 2, u'檭': 2, u'謬': 2, u'恆': 2, u'忏': 1, u'郑': 1, u'緣': 2, u'驢': 2, u'𫓩': 1, u'𩙪': 1, u'杴': 2, u'鯷': 2, u'獼': 2, u'響': 2, u'辄': 1, u'薈': 2, u'谙': 1, u'𨯅': 2, u'頡': 2, u'鸥': 1, u'椫': 1, u'颶': 2, u'嶸': 2, u'钾': 1, u'赃': 1, u'濄': 2, u'饋': 2, u'齏': 2, u'偑': 2, u'镓': 1, u'瑩': 2, u'门': 1, u'囪': 2, u'詭': 2, u'𤽯': 1, u'䕳': 2, u'养': 1, u'绺': 1, u'溃': 1, u'𣎑': 1, u'鄒': 2, u'怜': 1, u'审': 1, u'垩': 1, u'舰': 1, u'萴': 2, u'鸸': 1, u'证': 1, u'鏑': 2, u'煒': 2, u'闕': 2, u'㑔': 1, u'棗': 2, u'譖': 2, u'赚': 1, u'绣': 1, u'饢': 2, u'層': 2, u'烧': 1, u'諫': 2, u'镪': 1, u'扰': 1, u'蛳': 1, u'繸': 2, u'铿': 1, u'䦂': 1, u'颌': 1, u'𣘓': 1, u'钔': 1, u'枞': 1, u'樫': 2, u'辮': 2, u'𠆲': 1, u'𪔵': 2, u'鮶': 2, u'鶺': 2, u'琿': 2, u'驋': 2, u'瓔': 2, u'胜': 1, u'𩳤': 2, u'懲': 2, u'𩽹': 1, u'𧹕': 1, u'酽': 1, u'矾': 1, u'舆': 1, u'箋': 2, u'萊': 2, u'綏': 2, u'递': 1, u'愜': 2, u'薟': 2, u'𢘞': 1, u'撵': 1, u'纹': 1, u'炽': 1, u'賅': 2, u'摊': 1, u'铕': 1, u'詖': 2, u'換': 2, u'顢': 2, u'鉦': 2, u'诫': 1, u'闿': 1, u'樁': 2, u'讀': 2, u'䢂': 1, u'馌': 1, u'閔': 2, u'鰥': 2, u'猻': 2, u'鲺': 1, u'难': 1, u'毀': 2, u'剑': 1, u'珐': 1, u'靓': 1, u'呕': 1, u'还': 1, u'臜': 1, u'穡': 2, u'壢': 2, u'癩': 2, u'韨': 1, u'艱': 2, u'惲': 2, u'競': 2, u'鹹': 2, u'卻': 2, u'餎': 2, u'𨴗': 2, u'颣': 1, u'瀨': 2, u'踬': 1, u'頸': 2, u'诅': 1, u'臉': 2, u'𪁈': 2, u'祎': 1, u'滗': 1, u'赖': 1, u'譚': 2, u'拟': 1, u'磣': 2, u'盧': 2, u'镦': 1, u'俭': 1, u'黷': 2, u'姹': 1, u'铻': 1, u'發': 2, u'洁': 1, u'誄': 2, u'缍': 1, u'钐': 1, u'垒': 1, u'猕': 1, u'殚': 1, u'鬥': 2, u'氫': 2, u'樯': 1, u'縷': 2, u'鮺': 2, u'䅉': 1, u'绌': 1, u'驏': 2, u'单': 1, u'絡': 2, u'鳠': 1, u'煩': 2, u'只': 1, u'轭': 1, u'緶': 2, u'饹': 1, u'燾': 2, u'𨸂': 1, u'𨐆': 1, u'舊': 2, u'㺍': 1, u'箏': 2, u'頎': 2, u'熓': 2, u'阒': 1, u'辗': 1, u'岡': 2, u'傩': 1, u'𢶫': 2, u'輬': 2, u'𣾷': 2, u'餸': 2, u'倾': 1, u'賁': 2, u'摆': 1, u'巋': 2, u'铑': 1, u'𨱖': 1, u'聞': 2, u'㳡': 1, u'鹢': 1, u'误': 1, u'数': 1, u'祸': 1, u'闻': 1, u'国': 1, u'𩏿': 1, u'𨶀': 2, u'亂': 2, u'樅': 2, u'龌': 1, u'閐': 2, u'鎔': 2, u'众': 1, u'沖': 2, u'䌟': 2, u'悞': 2, u'红': 1, u'璦': 2, u'侬': 1, u'画': 1, u'淀': 1, u'蝇': 1, u'晝': 2, u'廢': 2, u'鯤': 2, u'葱': 1, u'糶': 2, u'项': 1, u'陽': 2, u'蜆': 2, u'𪎉': 1, u'锒': 1, u'御': 1, u'骣': 1, u'钧': 1, u'厩': 1, u'谬': 1, u'騸': 2, u'夺': 1, u'迁': 1, u'𨈊': 2, u'觅': 1, u'杆': 1, u'𪉈': 1, u'釕': 2, u'𩠎': 1, u'荞': 1, u'塤': 2, u'靦': 2, u'軫': 2, u'鳷': 2, u'对': 1, u'電': 2, u'漁': 2, u'袄': 1, u'芈': 1, u'納': 2, u'鲌': 1, u'㠏': 2, u'隐': 1, u'焕': 1, u'謙': 2, u'䘛': 1, u'綢': 2, u'錩': 2, u'议': 1, u'咼': 2, u'棄': 2, u'鹋': 1, u'顏': 2, u'盐': 1, u'鋨': 2, u'偿': 1, u'現': 2, u'谂': 1, u'蘆': 2, u'䌈': 2, u'羋': 2, u'騎': 2, u'鐒': 2, u'儔': 2, u'攜': 2, u'缠': 1, u'鮣': 2, u'贬': 1, u'悵': 2, u'帶': 2, u'𣞻': 2, u'璽': 2, u'锼': 1, u'刾': 1, u'䯃': 1, u'装': 1, u'鳍': 1, u'穎': 2, u'瑒': 2, u'𩤸': 2, u'衚': 2, u'懟': 2, u'𩙦': 1, u'觯': 1, u'杰': 1, u'韻': 2, u'辀': 1, u'栅': 1, u'𦈉': 1, u'簍': 2, u'瀕': 2, u'䴗': 1, u'準': 2, u'萝': 1, u'鸡': 1, u'颺': 2, u'㐽': 1, u'齋': 2, u'屍': 2, u'诘': 1, u'繡': 2, u'㭣': 1, u'鏨': 2, u'擲': 2, u'聵': 2, u'绶': 1, u'驹': 1, u'鑽': 2, u'倀': 2, u'錂': 2, u'㶉': 1, u'專': 2, u'𪎍': 1, u'𩾅': 1, u'颛': 1, u'宝': 1, u'𤆡': 1, u'㚯': 1, u'禱': 2, u'頰': 2, u'鸴': 1, u'釁': 2, u'𪉌': 1, u'觑': 1, u'员': 1, u'靚': 2, u'统': 1, u'擣': 2, u'櫧': 2, u'轪': 1, u'鳳': 2, u'橼': 1, u'厂': 1, u'妆': 1, u'紉': 2, u'鲈': 1, u'错': 1, u'綞': 2, u'贩': 1, u'户': 1, u'聋': 1, u'虏': 1, u'𨱓': 1, u'铘': 1, u'埚': 1, u'筝': 1, u'来': 1, u'俪': 1, u'𧹓': 1, u'噯': 2, u'饱': 1, u'懶': 2, u'譽': 2, u'儀': 2, u'順': 2, u'訒': 2, u'咙': 1, u'㘚': 2, u'龟': 1, u'愠': 1, u'讧': 1, u'碱': 1, u'娲': 1, u'纵': 1, u'鼴': 2, u'𩠂': 1, u'𦪽': 2, u'䰾': 2, u'郁': 1, u'鳉': 1, u'苍': 1, u'𩾌': 1, u'鷳': 2, u'罴': 1, u'數': 2, u'歼': 1, u'瘅': 1, u'𩞄': 2, u'𤒎': 2, u'树': 1, u'辔': 1, u'鐙': 2, u'皚': 2, u'騝': 2, u'抢': 1, u'梦': 1, u'谩': 1, u'钮': 1, u'紳': 2, u'漿': 2, u'镃': 1, u'噅': 2, u'魇': 1, u'屉': 1, u'赓': 1, u'臠': 2, u'仪': 1, u'鉭': 2, u'顱': 2, u'㧰': 1, u'鹵': 2, u'𨑹': 1, u'泾': 1, u'鬆': 2, u'师': 1, u'撏': 2, u'瘘': 1, u'骛': 1, u'妝': 2, u'砜': 1, u'鲟': 1, u'𦈠': 1, u'𢬦': 1, u'侩': 1, u'騰': 2, u'綵': 2, u'䌶': 1, u'壇': 2, u'筆': 2, u'臍': 2, u'译': 1, u'仓': 1, u'镚': 1, u'𧳟': 2, u'棧': 2, u'赪': 1, u'凭': 1, u'铯': 1, u'籴': 1, u'𢽾': 1, u'銀': 2, u'𡒄': 1, u'缉': 1, u'䞎': 1, u'娛': 2, u'蔥': 2, u'輩': 2, u'媰': 2, u'縳': 2, u'莶': 1, u'薺': 2, u'达': 1, u'狀': 2, u'终': 1, u'嗚': 2, u'捡': 1, u'軨': 2, u'濾': 2, u'匀': 1, u'适': 1, u'唄': 2, u'𩨆': 1, u'䴔': 1, u'嚙': 2, u'挠': 1, u'攤': 2, u'亩': 1, u'嘮': 2, u'粵': 2, u'鴴': 2, u'𤈶': 1, u'举': 1, u'鋁': 2, u'铅': 1, u'黉': 1, u'諑': 2, u'賕': 2, u'鹞': 1, u'槧': 2, u'試': 2, u'煬': 2, u'闯': 1, u'嫱': 1, u'读': 1, u'楼': 1, u'𨷿': 1, u'縉': 2, u'龈': 1, u'犖': 2, u'阙': 1, u'䜣': 1, u'营': 1, u'猫': 1, u'沪': 1, u'缳': 1, u'嶴': 2, u'愷': 2, u'𩥇': 2, u'𧿈': 1, u'懌': 2, u'𨏠': 2, u'卫': 1, u'啯': 1, u'驱': 1, u'擺': 2, u'滾': 2, u'纇': 2, u'鴆': 2, u'輒': 2, u'写': 1, u'瀘': 2, u'鲛': 1, u'骟': 1, u'綱': 2, u'耸': 1, u'䌺': 1, u'絆': 2, u'𤋏': 1, u'试': 1, u'盗': 1, u'镖': 1, u'鍚': 2, u'饞': 2, u'䉤': 1, u'铫': 1, u'癬': 2, u'鋯': 2, u'寵': 2, u'恸': 1, u'賻': 2, u'颈': 1, u'嘗': 2, u'疖': 1, u'玚': 1, u'枢': 1, u'𠌥': 2, u'丧': 1, u'润': 1, u'莺': 1, u'樿': 2, u'鹇': 1, u'術': 2, u'煙': 2, u'蓠': 1, u'䟢': 1, u'时': 1, u'载': 1, u'阂': 1, u'鰆': 2, u'斋': 1, u'𩨊': 1, u'備': 2, u'焘': 1, u'缜': 1, u'鮟': 2, u'挤': 1, u'鴰': 2, u'窵': 2, u'脸': 1, u'铁': 1, u'療': 2, u'鋅': 2, u'賑': 2, u'𥅘': 1, u'鉚': 2, u'類': 2, u'懣': 2, u'濧': 2, u'闫': 1, u'园': 1, u'絰': 2, u'𩧳': 1, u'嫵': 2, u'筴': 2, u'跻': 1, u'诿': 1, u'門': 2, u'鎄': 2, u'馈': 1, u'這': 2, u'鸝': 2, u'暢': 2, u'伧': 1, u'沦': 1, u'邮': 1, u'麲': 2, u'秈': 2, u'𩣏': 2, u'灙': 2, u'釘': 2, u'勚': 1, u'壞': 2, u'桩': 1, u'𩙭': 1, u'绲': 1, u'驵': 1, u'𣯴': 2, u'聹': 2, u'䭿': 2, u'锂': 1, u'娈': 1, u'養': 2, u'茎': 1, u'钗': 1, u'厙': 2, u'颟': 1, u'貧': 2, u'疭': 1, u'匮': 1, u'鸰': 1, u'頴': 2, u'韁': 2, u'釅': 2, u'鯉': 2, u'藍': 2, u'浒': 1, u'绛': 1, u'屜': 2, u'拣': 1, u'蕢': 2, u'车': 1, u'襪': 2, u'繰': 2, u'軻': 2, u'還': 2, u'骈': 1, u'蒌': 1, u'吗': 1, u'錙': 2, u'鴝': 2, u'蜡': 3, u'脥': 2, u'澦': 2, u'瘫': 1, u'榪': 2, u'鎮': 2, u'稳': 1, u'鶲': 2, u'设': 1, u'鱇': 2, u'𥭉': 1, u'絝': 2, u'鳜': 1, u'条': 1, u'俦': 1, u'镭': 1, u'婳': 1, u'緲': 2, u'饵': 1, u'懺': 2, u'億': 2, u'綇': 2, u'嬈': 2, u'頊': 2, u'殓': 1, u'谒': 1, u'𩖗': 1, u'龛': 1, u'紜': 2, u'愤': 1, u'𧒭': 1, u'锬': 1, u'刮': 1, u'纱': 1, u'贼': 1, u'參': 2, u'繆': 2, u'軑': 2, u'韫': 1, u'罰': 2, u'𩯳': 2, u'鞀': 2, u'瀅': 2, u'庆': 1, u'墊': 2, u'損': 2, u'薌': 2, u'渑': 1, u'辐': 1, u'够': 1, u'訩': 2, u'喬': 2, u'銮': 1, u'鲲': 1, u'𨂺': 1, u'誾': 2, u'鍃': 2, u'鏘': 2, u'𨱎': 1, u'恥': 2, u'诨': 1, u'鑭': 2, u'狮': 1, u'鹱': 1, u'糲': 2, u'页': 1, u'䥿': 1, u'鄆': 2, u'撓': 2, u'骗': 1, u'侥': 1, u'熱': 2, u'阴': 1, u'駁': 2, u'㑈': 1, u'词': 1, u'济': 1, u'烛': 1, u'镞': 1, u'拧': 1, u'腦': 2, u'飫': 2, u'凱': 2, u'铳': 1, u'𫍲': 1, u'諷': 2, u'颀': 1, u'缅': 1, u'针': 1, u'欍': 2, u'誌': 2, u'輥': 2, u'枪': 1, u'鎲': 2, u'嚴': 2, u'总': 1, u'奁': 1, u'组': 1, u'𨵸': 2, u'鳘': 1, u'軤': 2, u'敩': 1, u'酱': 1, u'珲': 1, u'槶': 2, u'䁻': 2, u'濺': 2, u'𩠁': 1, u'綃': 2, u'騂': 2, u'阊': 1, u'谎': 1, u'斓': 1, u'岙': 1, u'紘': 2, u'劝': 1, u'椠': 1, u'漤': 1, u'莧': 2, u'𪀦': 2, u'窭': 1, u'鄰': 2, u'贸': 1, u'为': 1, u'铉': 1, u'諍': 2, u'嵘': 1, u'鹚': 1, u'鑞': 2, u'詢': 2, u'𩧫': 1, u'㱮': 1, u'闳': 1, u'囵': 1, u'请': 1, u'码': 1, u'馀': 1, u'龄': 1, u'閈': 2, u'讌': 2, u'𩶘': 2, u'檢': 2, u'悦': 1, u'礫': 2, u'缯': 1, u'鲮': 1, u'垴': 1, u'鵃': 2, u'鍇': 2, u'痈': 1, u'𨽏': 2, u'蕓': 2, u'籙': 2, u'廚': 2, u'鏜': 2, u'桡': 1, u'驭': 1, u'狲': 1, u'棶': 2, u'擾': 2, u'錆': 2, u'锊': 1, u'颗': 1, u'銛': 2, u'钟': 1, u'玱': 1, u'鈰': 2, u'儲': 2, u'鯁': 2, u'韉': 2, u'觍': 1, u'𪉐': 1, u'幘': 2, u'鵚': 2, u'惧': 1, u'荦': 1, u'蕪': 2, u'𩧩': 1, u'雳': 1, u'恼': 1, u'𡄔': 2, u'骀': 1, u'紅': 2, u'鲄': 1, u'〇': 3, u'历': 1, u'蒔': 2, u'创': 1, u'𥐟': 1, u'瞞': 2, u'败': 1, u'样': 1, u'讶': 1, u'亸': 1, u'鹃': 1, u'𡮣': 2, u'𨱏': 1, u'擔': 2, u'歡': 2, u'䧢': 2, u'賤': 2, u'杩': 1, u'饭': 1, u'镵': 1, u'轹': 1, u'淺': 2, u'腽': 1, u'𥬀': 1, u'頂': 2, u'崄': 1, u'𫚉': 1, u'残': 1, u'𨸎': 1, u'庙': 1, u'缘': 1, u'鎛': 2, u'碭': 2, u'帮': 1, u'倲': 2, u'锴': 1, u'輸': 2, u'鳅': 1, u'牆': 2, u'恒': 1, u'艦': 2, u'鯫': 2, u'鷯': 2, u'勱': 2, u'獰': 2, u'畴': 1, u'鶄': 2, u'于': 1, u'𦈑': 1, u'薔': 2, u'伣': 1, u'谥': 1, u'累': 1, u'誶': 2, u'貺': 2, u'婁': 2, u'節': 2, u'緄': 2, u'酇': 2, u'赏': 1, u'灝': 2, u'诠': 1, u'孫': 2, u'绮': 1, u'𫗴': 1, u'泺': 1, u'聽': 2, u'娄': 1, u'锆': 1, u'倈': 2, u'麗': 2, u'钛': 1, u'鸬': 1, u'疱': 1, u'鈴': 2, u'鷁': 2, u'罂': 1, u'𪉔': 1, u'绗': 1, u'魚': 2, u'噜': 1, u'轢': 2, u'𩙈': 2, u'荪': 1, u'㥮': 2, u'鲀': 1, u'骄': 1, u'𩤙': 2, u'贡': 1, u'簫': 2, u'馮': 2, u'论': 1, u'膾': 2, u'顃': 2, u'竄': 2, u'陇': 1, u'𨱋': 1, u'滌': 2, u'飘': 1, u'雜': 2, u'賠': 2, u'諤': 2, u'胨': 1, u'镱': 1, u'鍵': 2, u'淶': 2, u'懾': 2, u'鸂': 2, u'儈': 2, u'𠠎': 2, u'墙': 1, u'䲡': 1, u'欤': 1, u'愨': 2, u'𣶫': 1, u'纭': 1, u'锰': 1, u'褸': 2, u'鳁': 1, u'髅': 1, u'軍': 2, u'晒': 1, u'鱖': 2, u'驚': 2, u'坜': 1, u'遞': 2, u'葦': 2, u'鷫': 2, u'異': 2, u'釳': 2, u'勵': 2, u'𦝼': 1, u'稅': 2, u'鮄': 2, u'瀉': 2, u'劊': 2, u'渍': 1, u'辌': 1, u'𦈕': 1, u'唛': 1, u'𩘝': 2, u'谡': 1, u'訥': 2, u'䜧': 1, u'颮': 2, u'厴': 2, u'貶': 2, u'肾': 1, u'饃': 2, u'範': 2, u'偉': 2, u'燈': 2, u'赋': 1, u'譏': 2, u'硙': 1, u'駘': 2, u'韜': 2, u'𫍟': 1, u'僞': 2, u'橥': 1, u'诤': 1, u'臨': 2, u'鹭': 1, u'鑱': 2, u'关': 1, u'泶': 1, u'虽': 1, u'窃': 1, u'謎': 2, u'鲗': 1, u'際': 2, u'誣': 2, u'維': 2, u'𧝞': 2, u'䌾': 1, u'終': 2, u'鏉': 2, u'呜': 1, u'烟': 1, u'习': 1, u'赢': 1, u'蝦': 2, u'腪': 2, u'籬': 2, u'飯': 2, u'癰': 2, u'蛻': 2, u'缁': 1, u'预': 1, u'垆': 1, u'冊': 2, u'锝': 1, u'涢': 1, u'縫': 2, u'鮮': 2, u'傴': 2, u'覺': 2, u'怿': 1, u'绀': 1, u'驃': 2, u'㟆': 1, u'狈': 1, u'畝': 2, u'铜': 1, u'裤': 1, u'幫': 2, u'篮': 1, u'䱷': 2, u'揾': 1, u'开': 1, u'鰂': 2, u'处': 1, u'疇': 2, u'阆': 1, u'逊': 1, u'討': 2, u'鶗': 2, u'咝': 1, u'讣': 1, u'椤': 1, u'皱': 1, u'鄴': 2, u'蔼': 1, u'嗇': 2, u'癆': 2, u'鋉': 2, u'緗': 2, u'鹖': 1, u'營': 2, u'鉞': 2, u'旧': 1, u'聪': 1, u'𩧯': 1, u'囱': 1, u'煴': 1, u'跷': 1, u'歸': 2, u'蟻': 2, u'龀': 1, u'岂': 1, u'馄': 1, u'崗': 2, u'纖': 2, u'騙': 2, u'償': 2, u'缫': 1, u'钲': 1, u'愿': 1, u'镇': 1, u'襏': 2, u'懔': 1, u'𧩙': 2, u'壚': 2, u'關': 2, u'勞': 2, u'桥': 1, u'扩': 1, u'鱭': 2, u'䝻': 2, u'怀': 1, u'氈': 2, u'𫔎': 1, u'馑': 1, u'龕': 2, u'贞': 1, u'熡': 2, u'錢': 2, u'嘤': 1, u'餦': 2, u'貳': 2, u'𠯟': 1, u'銷': 2, u'颻': 2, u'宽': 1, u'豈': 2, u'盏': 1, u'㧑': 1, u'鹔': 1, u'话': 1, u'灠': 2, u'𫍢': 1, u'癤': 2, u'䉬': 2, u'𢛯': 1, u'鵾': 2, u'䴉': 2, u'阏': 1, u'鰓': 2, u'戗': 1, u'厢': 1, u'鲨': 1, u'锹': 1, u'视': 1, u'鯒': 2, u'𠉗': 1, u'衛': 2, u'鑣': 2, u'㛤': 1, u'铸': 1, u'繿': 2, u'銍': 2, u'频': 1, u'缔': 1, u'蘚': 2, u'谞': 1, u'頦': 2, u'鸪': 1, u'䊭': 2, u'亵': 1, u'鎷': 2, u'瘺': 2, u'媽': 2, u'簾': 2, u'赈': 1, u'緓': 2, u'齔': 2, u'𪁖': 2, u'敘': 2, u'諝': 2, u'寧': 2, u'鳩': 2, u'絨': 2, u'該': 2, u'𦛨': 1, u'啸': 1, u'鱾': 1, u'刍': 1, u'璎': 1, u'堑': 1, u'薘': 2, u'讜': 2, u'䲞': 1, u'劢': 1, u'蠱': 2, u'裆': 1, u'汉': 1, u'車': 2, u'牍': 1, u'双': 1, u'铎': 1, u'髒': 2, u'繕': 2, u'𨥛': 2, u'轟': 2, u'泞': 1, u'镣': 1, u'噥': 2, u'屩': 2, u'慫': 2, u'绪': 1, u'獷': 2, u'闸': 1, u'戀': 2, u'辉': 1, u'𩾃': 1, u'咏': 1, u'鮑': 2, u'库': 1, u'輞': 2, u'删': 1, u'義': 2, u'椲': 2, u'𧮪': 1, u'猶': 2, u'鲿': 1, u'瓏': 2, u'结': 1, u'鱔': 2, u'鏡': 2, u'闥': 2, u'瑤': 2, u'襲': 2, u'淵': 2, u'鍶': 2, u'噸': 2, u'秽': 1, u'𩽾': 1, u'憂': 2, u'鈋': 2, u'鐏': 2, u'袜': 1, u'銠': 2, u'钤': 1, u'麨': 2, u'悬': 1, u'贵': 1, u'皸': 2, u'碼': 2, u'识': 1, u'筑': 1, u'駒': 2, u'絕': 2, u'䝙': 1, u'詛': 2, u'陣': 2, u'𥕥': 2, u'顧': 2, u'扫': 1, u'摯': 2, u'諰': 2, u'賴': 2, u'叶': 1, u'飼': 2, u'忾': 1, u'攄': 2, u'躉': 2, u'压': 1, u'㘎': 1, u'骑': 1, u'鲕': 1, u'純': 2, u'條': 2, u'唤': 1, u'纩': 1, u'琺': 2, u'鶿': 2, u'績': 2, u'𩾊': 1, u'塒': 2, u'㳕': 1, u'裝': 2, u'铥': 1, u'黩': 1, u'惭': 1, u'虮': 1, u'櫱': 2, u'鉶': 2, u'磽': 2, u'奼': 2, u'㷿': 2, u'鹾': 1, u'複': 2, u'锏': 1, u'亞': 2, u'許': 2, u'殰': 2, u'谵': 1, u'儷': 2, u'𩘹': 2, u'摅': 1, u'賊': 2, u'穑': 1, u'飒': 1, u'巔': 2, u'據': 2, u'赟': 1, u'滞': 1, u'饧': 1, u'捫': 2, u'诰': 1, u'𩧼': 1, u'搀': 1, u'莅': 1, u'栈': 1, u'劏': 2, u'东': 1, u'疡': 1, u'霢': 2, u'鴦': 2, u'漲': 2, u'鲻': 1, u'归': 1, u'违': 1, u'闡': 2, u'駩': 2, u'硨': 2, u'䱰': 2, u'轲': 1, u'毵': 1, u'镶': 1, u'鍺': 2, u'翽': 2, u'饾': 1, u'𨸇': 1, u'鐋': 2, u'圍': 2, u'頓': 2, u'躜': 1, u'钠': 1, u'風': 2, u'宪': 1, u'贱': 1, u'纼': 1, u'诊': 1, u'睍': 2, u'嫔': 1, u'揚': 2, u'詟': 1, u'鹧': 1, u'緦': 2, u'奩': 2, u'賰': 2, u'嗶': 2, u'郸': 1, u'类': 1, u'𩨁': 1, u'𪨊': 1, u'鲑': 1, u'紐': 2, u'骕': 1, u'笔': 1, u'溝': 2, u'唠': 1, u'碩': 2, u'騪': 2, u'𫄸': 1, u'鶻': 2, u'爺': 2, u'砾': 1, u'鵐': 2, u'慘': 2, u'潜': 1, u'铡': 1, u'鋥': 2, u'忧': 1, u'飩': 2, u'鉺': 2, u'绽': 1, u'顾': 1, u'暂': 1, u'輇': 2, u'锋': 1, u'嘍': 2, u'錏': 2, u'餓': 2, u'缧': 1, u'媪': 1, u'蘭': 2, u'谱': 1, u'殴': 1, u'鸽': 1, u'赛': 1, u'𫗠': 1, u'剥': 1, u'蟬': 2, u'说': 1, u'怄': 1, u'閍': 2, u'龑': 2, u'縐': 2, u'馕': 1, u'掙': 2, u'脚': 1, u'涝': 1, u'锢': 1, u'箩': 1, u'𩠆': 1, u'钷': 1, u'笾': 1, u'𩨎': 1, u'鑌': 2, u'烏': 2, u'华': 1, u'鹐': 1, u'灤': 2, u'荮': 1, u'濱': 2, u'买': 1, u'斂': 2, u'谇': 1, u'澆': 2, u'阋': 1, u'弑': 1, u'搗': 2, u'減': 2, u'䮞': 2, u'妪': 1, u'蔭': 2, u'犸': 1, u'帻': 1, u'𪉃': 1, u'觊': 1, u'网': 1, u'著': 2, u'㛠': 1, u'鱧': 2, u'瑷': 1, u'鋸': 2, u'繻': 2, u'鳼': 2, u'蚁': 1, u'肅': 2, u'誉': 1, u'钍': 1, u'甌': 2, u'颕': 1, u'蘖': 1, u'鸦': 1, u'窩': 2, u'讳': 1, u'氲': 1, u'岽': 1, u'镌': 1, u'剎': 2, u'齐': 1, u'篓': 1, u'狹': 2, u'遺': 2, u'嵼': 2, u'驾': 1, u'范': 1, u'贇': 2, u'溆': 1, u'鬓': 1, u'堕': 1, u'椟': 1, u'紧': 1, u'斬': 2, u'鈹': 2, u'𤇄': 1, u'裊': 2, u'𧹑': 1, u'鳒': 1, u'硕': 1, u'曖': 2, u'䉙': 2, u'櫞': 2, u'绦': 1, u'觴': 2, u'祿': 2, u'栀': 1, u'辅': 1, u'𪄆': 2, u'鮍': 2, u'𡢃': 2, u'蔞': 2, u'禡': 2, u'鬢': 2, u'羥': 2, u'吨': 1, u'躯': 1, u'邻': 1, u'驌': 2, u'经': 1, u'峣': 1, u'闩': 1, u'柵': 2, u'饶': 1, u'緹': 2, u'𩽺': 1, u'㛿': 1, u'𦈔': 1, u'调': 1, u'與': 2, u'𩠋': 1, u'鸏': 2, u'鐓': 2, u'𫚔': 1, u'芜': 1, u'颠': 1, u'簣': 2, u'钨': 1, u'脱': 1, u'诂': 1, u'筍': 2, u'詗': 2, u'號': 2, u'鱣': 2, u'彥': 2, u'燦': 2, u'㓨': 2, u'湯': 2, u'摳': 2, u'蛴': 1, u'穷': 1, u'鋼': 2, u'蒉': 1, u'骍': 1, u'隕': 2, u'䴘': 1, u'夠': 2, u'纥': 1, u'逦': 1, u'𨦫': 2, u'阪': 2, u'辯': 2, u'薳': 2, u'戲': 2, u'縺': 2, u'襀': 2, u'轄': 2, u'䙊': 1, u'𩝔': 2, u'賙': 2, u'铩': 1, u'豮': 1, u'惱': 2, u'顶': 1, u'糹': 2, u'鹺': 2, u'狽': 2, u'鑾': 2, u'贃': 2, u'們': 2, u'𣆐': 1, u'锓': 1, u'愛': 2, u'亚': 1, u'閨': 2, u'設': 2, u'𨀱': 1, u'嬷': 1, u'鰹': 2, u'綸': 2, u'儻': 2, u'鈽': 2, u'諂': 2, u'胆': 1, u'蛊': 1, u'積': 2, u'鳎': 1, u'灑': 2, u'鋒': 2, u'棖': 2, u'䱙': 2, u'滚': 1, u'蝟': 2, u'擞': 1, u'𥹥': 1, u'烦': 1, u'盪': 2, u'诬': 1, u'潯': 2, u'壶': 1, u'鷸': 2, u'𩏼': 1, u'馍': 1, u'爐': 2, u'𩖕': 1, u'謖': 2, u'錦': 2, u'瞩': 1, u'锪': 1, u'貯': 2, u'𠚳': 1, u'颷': 2, u'徹': 2, u'銻': 2, u'紺': 2, u'钿': 1, u'眾': 2, u'詀': 2, u'𨱄': 1, u'題': 2, u'彎': 2, u'兒': 2, u'鑔': 2, u'这': 1, u'鯡': 2, u'穠': 2, u'廣': 2, u'鷥': 2, u'韩': 1, u'轮': 1, u'翹': 2, u'𨸃': 1, u'掆': 2, u'𩨋': 1, u'复': 1, u'鰏': 2, u'阓': 1, u'熒': 2, u'栗': 1, u'𦈛': 1, u'骠': 1, u'縣': 2, u'鲤': 1, u'瀧': 2, u'厦': 1, u'隨': 2, u'喪': 2, u'鼹': 1, u'纸': 1, u'炼': 1, u'观': 1, u'浅': 1, u'𤳄': 1, u'釒': 2, u'哔': 1, u'余': 3, u'淚': 2, u'鹣': 1, u'橫': 2, u'痪': 1, u'䇲': 1, u'蓴': 2, u'硷': 1, u'寶': 2, u'𥮋': 1, u'颍': 1, u'𩠃': 1, u'銑': 2, u'钕': 1, u'訖': 2, u'优': 1, u'谚': 1, u'蘞': 2, u'𥬠': 1, u'鈦': 2, u'讫': 1, u'閿': 2, u'瘾': 1, u'濃': 2, u'资': 1, u'懇': 2, u'蝈': 1, u'篋': 2, u'饌': 2, u'矓': 2, u'镔': 1, u'鳥': 2, u'𩛩': 2, u'聲': 2, u'驶': 1, u'绹': 1, u'鱺': 2, u'𩟿': 1, u'較': 2, u'吕': 1, u'辘': 1, u'挛': 1, u'缣': 1, u'𥢢': 2, u'舱': 1, u'萵': 2, u'鸹': 1, u'医': 1, u'䯀': 2, u'晉': 2, u'荛': 1, u'祷': 1, u'獻': 2, u'图': 1, u'龍': 2, u'閑': 2, u'琐': 1, u'贖': 2, u'謚': 2, u'锦': 1, u'貫': 2, u'钻': 1, u'笺': 1, u'𨱀': 1, u'曇': 2, u'鹌': 1, u'籠': 2, u'釩': 2, u'魺': 2, u'酾': 1, u'蘇': 2, u'斆': 2, u'騏': 2, u'禎': 2, u'瞒': 1, u'渗': 1, u'𦈟': 1, u'鲠': 1, u'骤': 1, u'瘧': 2, u'㶶': 1, u'碸': 2, u'𥐻': 1, u'霽': 2, u'刿': 1, u'駎': 2, u'㳠': 1, u'陧': 1, u'兩': 2, u'恳': 1, u'䦃': 1, u'誅': 2, u'欄': 2, u'缌': 1, u'钑': 1, u'谖': 1, u'訚': 1, u'鸢': 1, u'窥': 1, u'嬤': 2, u'鐦': 2, u'讯': 1, u'閻': 2, u'鎿': 2, u'瀾': 2, u'赀': 1, u'緋': 2, u'镐': 1, u'鍔': 2, u'鳡': 1, u'衮': 1, u'擱': 2, u'𪇳': 2, u'奸': 1, u'驺': 1, u'向': 1, u'䲖': 2, u'覘': 2, u'攛': 2, u'𢘝': 1, u'挟': 1, u'𪢮': 1, u'掴': 1, u'強': 2, u'頹': 2, u'瞼': 2, u'䯄': 1, u'㭏': 1, u'风': 1, u'櫚': 2, u'荟': 1, u'屡': 1, u'饣': 1, u'绢': 1, u'慳': 2, u'罷': 2, u'島': 2, u'駸': 2, u'辁': 1, u'𦈈': 1, u'鞑': 1, u'𥸠': 2, u'𩜦': 2, u'袯': 1, u'鲷': 1, u'隻': 2, u'喽': 1, u'櫃': 2, u'擇': 2, u'绋': 1, u'達': 2, u'诙': 1, u'藝': 2, u'摜': 2, u'硤': 2, u'䱬': 2, u'蕲': 1, u'齶': 2, u'饺': 1, u'鍾': 2, u'訃': 2, u'涂': 1, u'萇': 2, u'鸋': 2, u'憊': 2, u'崍': 2, u'頏': 2, u'儕': 2, u'侖': 2, u'誘': 2, u'稣': 1, u'嶢': 2, u'颤': 1, u'垦': 1, u'銨': 2, u'𤸫': 2, u'冪': 2, u'购': 1, u'尷': 2, u'锽': 1, u'潁': 2, u'睑': 1, u'闒': 2, u'虛': 2, u'槚': 1, u'奥': 1, u'賬': 2, u'蛰': 1, u'铼': 1, u'灿': 1, u'袅': 1, u'鲍': 1, u'䬘': 2, u'撝': 2, u'纡': 1, u'张': 1, u'辫': 1, u'覯': 2, u'莳': 1, u'䂵': 1, u'縶': 2, u'砺': 1, u'𦈋': 1, u'爾': 2, u'轀': 2, u'呒': 1, u'蓝': 1, u'黡': 1, u'飥': 2, u'鋩': 2, u'獨': 2, u'詮': 2, u'學': 2, u'顺': 1, u'𪎈': 1, u'鼋': 1, u'對': 2, u'餏': 2, u'窎': 1, u'嚦': 2, u'伫': 1, u'谭': 1, u'儿': 1, u'賂': 2, u'𠛆': 1, u'铒': 1, u'灕': 2, u'赗': 1, u'镧': 1, u'致': 1, u'絷': 1, u'壺': 2, u'闼': 1, u'鶉': 2, u'𦈌': 1, u'辕': 1, u'渔': 1, u'鄖': 2, u'鴞': 2, u'枥': 1, u'涩': 1, u'輪': 2, u'厭': 2, u'鲳': 1, u'徵': 2, u'机': 1, u'竇': 2, u'鱈': 2, u'曏': 2, u'鯝': 2, u'廟': 2, u'镮': 1, u'𠵾': 1, u'鐃': 2, u'𩨇': 1, u'谓': 1, u'殒': 1, u'钘': 1, u'骜': 1, u'縟': 2, u'肠': 1, u'貨': 2, u'倫': 2, u'侪': 1, u'嘯': 2, u'餱': 2, u'纴': 1, u'𤈷': 1, u'蔹': 1, u'撸': 1, u'𩧆': 2, u'藎': 2, u'诒': 1, u'鉗': 2, u'顛': 2, u'矚': 2, u'鹟': 1, u'緞': 2, u'諼': 2, u'湿': 1, u'邁': 2, u'鲉': 1, u'紈': 2, u'躕': 2, u'𩨅': 1, u'阚': 1, u'窝': 1, u'沩': 1, u'醫': 2, u'踪': 1, u'鞯': 1, u'获': 1, u'剂': 1, u'靄': 2, u'轔': 2, u'铙': 1, u'筜': 1, u'胡': 1, u'狭': 1, u'驲': 1, u'绵': 1, u'聶': 2, u'锃': 1, u'纊': 2, u'贓': 2, u'傖': 2, u'閘': 2, u'鮜': 2, u'缟': 1, u'膠': 2, u'攣': 2, u'欧': 1, u'趨': 2, u'禰': 2, u'鸵': 1, u'䌷': 1, u'殼': 2, u'净': 1, u'飆': 2, u'諒': 2, u'俔': 2, u'呙': 1, u'齟': 2, u'糞': 2, u'拢': 1, u'滪': 1, u'駰': 2, u'絳': 2, u'诼': 1, u'潿': 2, u'龉': 1, u'縈': 2, u'趕': 2, u'气': 1, u'嘘': 1, u'锚': 1, u'採': 2, u'澩': 2, u'銫': 2, u'贪': 1, u'钯': 1, u'貿': 2, u'鉀': 2, u'鑄': 2, u'𣿉': 2, u'鹈': 1, u'拋': 2, u'𥵊': 2, u'职': 1, u'詐': 2, u'𨱔': 1, u'韙': 2, u'癘': 2, u'駝': 2, u'硜': 2, u'藥': 2, u'迩': 1, u'燭': 2, u'偬': 1, u'篱': 1, u'饲': 1, u'轾': 1, u'阃': 1, u'頇': 2, u'䴕': 1, u'喚': 2, u'颜': 1, u'從': 2, u'别': 1, u'鄭': 2, u'启': 1, u'鬱': 2, u'帳': 2, u'梼': 1, u'獁': 2, u'畅': 1, u'鯆': 2, u'廈': 2, u'𪉋': 1, u'鷊': 2, u'慍': 2, u'蟎': 2, u'浕': 1, u'遗': 1, u'驛': 2, u'鱟': 2, u'淪': 2, u'繳': 2, u'鳴': 2, u'钅': 1, u'妇': 1, u'缈': 1, u'誑': 2, u'團': 2, u'鸞': 2, u'抡': 1, u'耢': 1, u'撥': 2, u'谪': 1, u'傭': 2, u'瘮': 2, u'戶': 2, u'讻': 1, u'携': 1, u'渾': 2, u'鍀': 2, u'镄': 1, u'届': 1, u'𪃍': 2, u'赔': 1, u'雙': 2, u'蓥': 1, u'热': 1, u'𩙮': 1, u'輓': 2, u'庞': 1, u'弳': 2, u'鰵': 2, u'綴': 2, u'鳊': 1, u'蛎': 1, u'魛': 2, u'瓚': 2, u'绞': 1, u'獫': 2, u'泪': 1, u'𨳕': 2, u'𩾁': 1, u'爄': 2, u'𥺇': 1, u'馉': 1, u'讕': 2, u'锖': 1, u'錚': 2, u'帜': 1, u'餞': 2, u'账': 1, u'钫': 1, u'垭': 1, u'颳': 2, u'缲': 1, u'費': 2, u'調': 2, u'烃': 1, u'坂': 1, u'织': 1, u'擋': 2, u'豐': 2, u'詔': 2, u'釙': 2, u'灘': 2, u'𨏥': 2, u'桨': 1, u'緱': 2, u'齲': 2, u'婴': 1, u'鸇': 2, u'綆': 2, u'瘗': 1, u'稟': 2, u'霭': 1, u'脹': 2, u'獅': 2, u'壈': 2, u'鯊': 2, u'𪉏': 1, u'浑': 1, u'𠴢': 1, u'痖': 1, u'彝': 1, u'驟': 2, u'䥩': 2, u'軼': 2, u'钁': 2, u'銅': 2, u'颉': 1, u'誕': 2, u'儘': 2, u'蘢': 2, u'报': 1, u'谦': 1, u'閫': 2, u'訪': 2, u'鎯': 2, u'馳': 2, u'縲': 2, u'搶': 2, u'访': 1, u'栾': 1, u'镀': 1, u'鍄': 2, u'屆': 2, u'饈': 2, u'赐': 1, u'楨': 2, u'鹲': 1, u'艺': 1, u'茏': 1, u'𧜗': 2, u'紛': 2, u'劚': 2, u'龜': 2, u'匯': 2, u'鰱': 2, u'綰': 2, u'叄': 2, u'鳆': 1, u'𩧶': 1, u'軒': 2, u'魟': 2, u'轧': 1, u'畫': 2, u'櫪': 2, u'韬': 1, u'𩷰': 2, u'鯴': 2, u'歿': 2, u'劃': 2, u'𡮉': 2, u'稈': 2, u'辑': 1, u'渐': 1, u'刘': 1, u'輦': 2, u'献': 1, u'紲': 2, u'𡶴': 1, u'糇': 1, u'櫓': 2, u'衔': 1, u'哗': 1, u'牘': 2, u'籜': 2, u'壟': 2, u'诩': 1, u'鍮': 2, u'鵲': 2, u'譾': 2, u'鈃': 2, u'羆': 2, u'蘋': 2, u'訓': 2, u'銘': 2, u'縛': 2, u'鲜': 1, u'实': 1, u'肤': 1, u'侦': 1, u'誨': 2, u'锭': 1, u'纰': 1, u'贽': 1, u'睁': 1, u'囀': 2, u'潑': 2, u'鹛': 1, u'嵝': 1, u'癫': 1, u'铬': 1, u'灯': 1, u'飴': 2, u'購': 2, u'桿': 2, u'嶇': 2, u'骉': 1, u'𩨃': 1, u'躑': 2, u'阖': 1, u'粝': 1, u'檩': 1, u'鮳': 2, u'覿': 2, u'呂': 2, u'緇': 2, u'塊': 2, u'鋙': 2, u'鳝': 1, u'啬': 1, u'绱': 1, u'泽': 1, u'鴇': 2, u'脏': 1, u'丑': 1, u'沒': 2, u'鎘': 2, u'缛': 1, u'挣': 1, u'讨': 1, u'疬': 1, u'鸱': 1, u'掸': 1, u'涼': 2, u'铂': 1, u'苎': 1, u'賒': 2, u'镗': 1, u'盖': 1, u'竞': 1, u'䙡': 2, u'荣': 1, u'滦': 1, u'闬': 1, u'𩧴': 1, u'馁': 1, u'砀': 1, u'龅': 1, u'劇': 2, u'閉': 2, u'亏': 1, u'膑': 1, u'餖': 2, u'尘': 1, u'锞': 1, u'两': 1, u'斩': 1, u'钳': 1, u'垵': 2, u'𣘴': 1, u'𩠈': 1, u'鹄': 1, u'擓': 2, u'嫗': 2, u'鷙': 2, u'鏝': 2, u'桠': 1, u'鵮': 2, u'噴': 2, u'轺': 1, u'揽': 1, u'鰃': 2, u'鈇': 2, u'鲘': 1, u'銜': 2, u'氣': 2, u'戧': 2, u'吳': 2, u'𩜵': 2, u'费': 1, u'廄': 2, u'慑': 1, u'驗': 2, u'翚': 1, u'佥': 1, u'繯': 2, u'恻': 1, u'颁': 1, u'缄': 1, u'钉': 1, u'認': 2, u'蚕': 1, u'鸚': 2, u'訢': 2, u'伤': 1, u'龯': 2, u'讷': 1, u'螿': 2, u'㻅': 1, u'镈': 1, u'構': 2, u'鳙': 1, u'凛': 1, u'鋝': 2, u'裡': 2, u'潤': 2, u'鱮': 2, u'兰': 1, u'蹺': 2, u'鴃': 2, u'帅': 1, u'錇': 2, u'鶘': 2, u'騭': 2, u'弯': 1, u'阵': 1, u'掼': 1, u'硁': 1, u'繅': 2, u'晕': 1, u'绚': 1, u'剝': 2, u'赣': 1, u'荧': 1, u'歷': 2, u'跸': 1, u'板': 1, u'鮁': 2, u'栌': 1, u'𦈐': 1, u'帘': 1, u'殡': 1, u'鲯': 1, u'缮': 1, u'芻': 2, u'驀': 2, u'练': 1, u'奂': 1, u'陈': 1, u'勛': 2, u'針': 2, u'哟': 1, u'诡': 1, u'汤': 1, u'蝾': 1, u'𩸃': 2, u'𫚈': 1, u'疊': 2, u'谏': 1, u'憒': 2, u'砗': 1, u'爛': 2, u'誠': 2, u'𨊻': 2, u'餭': 2, u'锵': 1, u'絅': 2, u'峄': 1, u'鏆': 2, u'囈': 2, u'闊': 2, u'𢙓': 1, u'彙': 2, u'㻘': 1, u'鉛': 2, u'線': 2, u'蹣': 2, u'穫': 2, u'鋰': 2, u'铴': 1, u'軸': 2, u'骁': 1, u'鲅': 1, u'約': 2, u'隉': 2, u'攔': 2, u'騖': 2, u'炝': 1, u'沥': 1, u'鮫': 2, u'鶯': 2, u'縮': 2, u'励': 1, u'瀲': 2, u'覷': 2, u'显': 1, u'靈': 2, u'荐': 1, u'𦈏': 1, u'姗': 1, u'俣': 1, u'杨': 1, u'鹮': 1, u'狱': 1, u'遲': 2, u'啴': 1, u'虾': 1, u'贏': 2, u'岚': 1, u'醜': 2, u'讠': 1, u'漣': 2, u'螨': 1, u'頭': 2, u'现': 1, u'鐵': 2, u'疴': 1, u'䌻': 1, u'癉': 2, u'铊': 1, u'扑': 1, u'饗': 2, u'竖': 1, u'鍛': 2, u'镟': 1, u'盞': 2, u'轣': 2, u'拦': 1, u'𩧬': 1, u'鏰': 2, u'间': 1, u'𡓾': 2, u'簀': 2, u'嚇': 2, u'辍': 1, u'渌': 1, u'䪏': 2, u'戔': 2, u'鬚': 2, u'嘜': 2, u'涡': 1, u'蔦': 2, u'鲫': 1, u'骯': 2, u'洶': 2, u'愾': 2, u'驄': 2, u'蹌': 2, u'駙': 2, u'跡': 2, u'该': 1, u'幬': 2, u'饮': 1, u'剴': 2, u'赶': 1, u'柽': 1, u'𪋿': 2, u'腾': 1, u'頃': 2, u'阇': 1, u'儉': 2, u'𫂈': 1, u'谋': 1, u'縗': 2, u'𨸘': 1, u'题': 1, u'負': 2, u'誤': 2, u'纬': 1, u'锱': 1, u'環': 2, u'𥅴': 1, u'闆': 2, u'煉': 2, u'潍': 1, u'觎': 1, u'鹗': 1, u'坝': 1, u'虧': 2, u'铰': 1, u'摻': 2, u'鲁': 1, u'紀': 2, u'骅': 1, u'𫐆': 1, u'躍': 2, u'碙': 2, u'𩠅': 1, u'騚': 2, u'没': 1, u'萦': 1, u'瘲': 2, u'樺': 2, u'秃': 1, u'幂': 1, u'酈': 2, u'志': 3, u'飙': 1, u'睜': 2, u'賡': 2, u'续': 1, u'𤦀': 1, u'啰': 1, u'却': 1, u'豶': 2, u'䝼': 2, u'聾': 2, u'餃': 2, u'娅': 1, u'𩜇': 2, u'倉': 2, u'犊': 1, u'謏': 2, u'脓': 1, u'缗': 1, u'岖': 1, u'𫘝': 1, u'认': 1, u'朧': 2, u'鸭': 1, u'籁': 1, u'铆': 1, u'凈': 2, u'𢭏': 1, u'摑': 2, u'齗': 2, u'镛': 1, u'噝': 2, u'㟜': 1, u'滢': 1, u'壮': 1, u'闰': 1, u'潷': 2, u'觸': 2, u'龁': 1, u'馅': 1, u'氌': 2, u'膕': 2, u'餚': 2, u'财': 1, u'颯': 2, u'垱': 1, u'銳': 2, u'况': 1, u'買': 2, u'肿': 1, u'挾': 2, u'鹀': 1, u'鉈': 2, u'𨱌': 1, u'联': 1, u'桤': 1, u'屬': 2, u'镲': 1, u'側': 2, u'轶': 1, u'騃': 2, u'瞆': 1, u'𨸋': 1, u'𪚐': 1, u'骘': 1, u'钜': 1, u'瀟': 2, u'樣': 2, u'師': 2, u'堯': 2, u'皰': 2, u'謹': 2, u'檸': 2, u'鷂': 2, u'㑇': 1, u'释': 1, u'浍': 1, u'𪡏': 1, u'诎': 1, u'鱗': 2, u'孙': 1, u'詣': 2, u'繫': 2, u'硯': 2, u'諸': 2, u'缀': 1, u'颅': 1, u'礄': 2, u'鈞': 2, u'传': 1, u'谢': 1, u'岭': 1, u'種': 2, u'鎳': 2, u'債': 2, u'螻': 2, u'膿': 2, u'层': 1, u'𩥄': 2, u'症': 1, u'鍈': 2, u'赌': 1, u'铝': 1, u'裥': 1, u'捨': 2, u'驮': 1, u'鑲': 2, u'兴': 1, u'擽': 2, u'币': 1, u'堅': 2, u'锇': 1, u'紗': 2, u'办': 1, u'䲢': 1, u'鰭': 2, u'綬': 2, u'於': 2, u'鳂': 1, u'𩛆': 2, u'绖': 1, u'磚': 2, u'狞': 1, u'乡': 1, u'𨳑': 2, u'祯': 1, u'诸': 1, } def detect_chinese_category(phrase): ''' New function using Unihan data to guess whether a text is simplified Chinese, traditional Chinese, both, or something rare like a mixture of exclusively simplified with exclusively traditional characters. Meaning of the bits in the category value returned by this function: 1 = 1 << 0 simplified Chinese 2 = 1 << 1 traditional Chinese 3 = (1 | 1 << 1) used both in simplified *and* traditional Chinese 4 = 1 << 2 mixture of simplified and traditional Chinese ''' # make sure that we got a unicode string if type(phrase) != type(u''): phrase = phrase.decode('utf8') if phrase in variants_table: # the complete phrase is in variants_table, just return the # value found: return variants_table[phrase] category = 0xFF; for c in phrase: if c in variants_table: category &= variants_table[c] else: # If it is not listed in variants_table, assume it is # both simplified and traditional Chinese. # It could be something non-Chinese as well then, but # if it is non-Chinese, it should also be allowed to # occur in any Chinese text and thus classified as # both simplified *and* traditional Chinese (the emoji # table for example uses many non-Chinese characters) category &= (1 | 1 << 1) if category == 0: # If category is 0 after binary & of the categories of all the # characters in the phrase, it means that the phrase contained # exclusively simplified *and* exclusively traditional # characters at the same time. For example if the phrase is # “乌烏” then “乌” gets category 1 (simplified Chinese) # and “烏” gets category 2 (traditional Chinese), the result # of the binary & is thus 0. In that case, classify it as # category 4 which is for weird, excentric, rare stuff. If the # user selects one of the modes “all characters but # simplified Chinese first” or “all characters but # traditional Chinese first”, phrases with category 4 will be # shown but filtered to be shown only at the end of the # candidate list. category = 1 << 2 return category ibus-table-1.5.0.20130419/engine/table.py0000644002345600234560000023363712115677671014346 00000000000000# -*- coding: utf-8 -*- # vim:et sts=4 sw=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # $Id: $ # __all__ = ( "tabengine", ) import os import string from gi.repository import IBus from gi.repository import GLib from curses import ascii #import tabsqlitedb import tabdict import re patt_edit = re.compile (r'(.*)###(.*)###(.*)') patt_uncommit = re.compile (r'(.*)@@@(.*)') from gettext import dgettext _ = lambda a : dgettext ("ibus-table", a) N_ = lambda a : a def variant_to_value(variant): if type(variant) != GLib.Variant: return variant type_string = variant.get_type_string() if type_string == 's': return variant.get_string() elif type_string == 'i': return variant.get_int32() elif type_string == 'b': return variant.get_boolean() elif type_string == 'as': # In the latest pygobject3 3.3.4 or later, g_variant_dup_strv # returns the allocated strv but in the previous release, # it returned the tuple of (strv, length) if type(GLib.Variant.new_strv([]).dup_strv()) == tuple: return variant.dup_strv()[0] else: return variant.dup_strv() else: print 'error: unknown variant type:', type_string return variant def argb(a, r, g, b): return ((a & 0xff)<<24) + ((r & 0xff) << 16) + ((g & 0xff) << 8) + (b & 0xff) def rgb(r, g, b): return argb(255, r, g, b) __half_full_table = [ (0x0020, 0x3000, 1), (0x0021, 0xFF01, 0x5E), (0x00A2, 0xFFE0, 2), (0x00A5, 0xFFE5, 1), (0x00A6, 0xFFE4, 1), (0x00AC, 0xFFE2, 1), (0x00AF, 0xFFE3, 1), (0x20A9, 0xFFE6, 1), (0xFF61, 0x3002, 1), (0xFF62, 0x300C, 2), (0xFF64, 0x3001, 1), (0xFF65, 0x30FB, 1), (0xFF66, 0x30F2, 1), (0xFF67, 0x30A1, 1), (0xFF68, 0x30A3, 1), (0xFF69, 0x30A5, 1), (0xFF6A, 0x30A7, 1), (0xFF6B, 0x30A9, 1), (0xFF6C, 0x30E3, 1), (0xFF6D, 0x30E5, 1), (0xFF6E, 0x30E7, 1), (0xFF6F, 0x30C3, 1), (0xFF70, 0x30FC, 1), (0xFF71, 0x30A2, 1), (0xFF72, 0x30A4, 1), (0xFF73, 0x30A6, 1), (0xFF74, 0x30A8, 1), (0xFF75, 0x30AA, 2), (0xFF77, 0x30AD, 1), (0xFF78, 0x30AF, 1), (0xFF79, 0x30B1, 1), (0xFF7A, 0x30B3, 1), (0xFF7B, 0x30B5, 1), (0xFF7C, 0x30B7, 1), (0xFF7D, 0x30B9, 1), (0xFF7E, 0x30BB, 1), (0xFF7F, 0x30BD, 1), (0xFF80, 0x30BF, 1), (0xFF81, 0x30C1, 1), (0xFF82, 0x30C4, 1), (0xFF83, 0x30C6, 1), (0xFF84, 0x30C8, 1), (0xFF85, 0x30CA, 6), (0xFF8B, 0x30D2, 1), (0xFF8C, 0x30D5, 1), (0xFF8D, 0x30D8, 1), (0xFF8E, 0x30DB, 1), (0xFF8F, 0x30DE, 5), (0xFF94, 0x30E4, 1), (0xFF95, 0x30E6, 1), (0xFF96, 0x30E8, 6), (0xFF9C, 0x30EF, 1), (0xFF9D, 0x30F3, 1), (0xFFA0, 0x3164, 1), (0xFFA1, 0x3131, 30), (0xFFC2, 0x314F, 6), (0xFFCA, 0x3155, 6), (0xFFD2, 0x315B, 9), (0xFFE9, 0x2190, 4), (0xFFED, 0x25A0, 1), (0xFFEE, 0x25CB, 1)] def unichar_half_to_full (c): code = ord (c) for half, full, size in __half_full_table: if code >= half and code < half + size: return unichr (full + code - half) return c def unichar_full_to_half (c): code = ord (c) for half, full, size in __half_full_table: if code >= full and code < full + size: return unichr (half + code - full) return c class KeyEvent: def __init__(self, keyval, is_press, state): self.code = keyval self.mask = state if not is_press: self.mask |= IBus.ModifierType.RELEASE_MASK def __str__(self): return "%s 0x%08x" % (IBus.keyval_name(self.code), self.mask) class editor(object): '''Hold user inputs chars and preedit string''' def __init__ (self, config, phrase_table_index,valid_input_chars, max_key_length, database, parser = tabdict.parse, deparser = tabdict.deparse, max_length = 64): self.db = database self._config = config self._name = self.db.get_ime_property('name') self._config_section = "engine/Table/%s" % self._name.replace(' ','_') self._pt = phrase_table_index self._parser = parser self._deparser = deparser self._max_key_len = int(max_key_length) self._max_length = max_length self._valid_input_chars = valid_input_chars # # below vals will be reset in self.clear() # # we hold this: [str,str,...] # self._chars: hold user input in table mode (valid,invalid,prevalid) self._chars = [[],[],[]] #self._t_chars: hold total input for table mode for input check self._t_chars = [] # self._u_chars: hold user input but not manual comitted chars self._u_chars = [] # self._tabkey_list: hold tab_key objects transform from user input chars self._tabkey_list = [] # self._strings: hold preedit strings self._strings = [] # self._cursor: the caret position in preedit phrases self._cursor = [0,0] # self._candidates: hold candidates selected from database [[now],[pre]] self._candidates = [[],[]] # __orientation: lookup table orientation __orientation = variant_to_value(self._config.get_value( self._config_section, "LookupTableOrientation")) if __orientation == None: __orientation = self.db.get_orientation() # __page_size: lookup table page size # this is computed from the select_keys, so should be done after it __page_size = self.db.get_page_size() # self._lookup_table: lookup table self._lookup_table = IBus.LookupTable.new( page_size=__page_size, cursor_pos=0, cursor_visible=True, round=True) self._lookup_table.set_orientation (__orientation) # self._select_keys: a list of chars for select keys self.init_select_keys() # self._py_mode: whether in pinyin mode self._py_mode = False # self._zi: the last Zi commit to preedit self._zi = u'' # self._caret: caret position in lookup_table self._caret = 0 # self._onechar: whether we only select single character self._onechar = variant_to_value(self._config.get_value( self._config_section, "OneChar")) if self._onechar == None: self_onechar = False # self._chinese_mode: the candidate filter mode, # 0 means to show simplified Chinese only # 1 means to show traditional Chinese only # 2 means to show all characters but show simplified Chinese first # 3 means to show all characters but show traditional Chinese first # 4 means to show all characters # we use LC_CTYPE or LANG to determine which one to use self._chinese_mode = variant_to_value(self._config.get_value( self._config_section, "ChineseMode")) if self._chinese_mode == None: self._chinese_mode = self.get_chinese_mode() self._auto_select = variant_to_value(self._config.get_value( self._config_section, "AutoSelect")) if self._auto_select == None: if self.db.get_ime_property('auto_select') != None: self._auto_select = self.db.get_ime_property('auto_select').lower() == u'true' else: self._auto_select = False def init_select_keys(self): # __select_keys: lookup table select keys/labels __select_keys = variant_to_value(self._config.get_value( self._config_section, "LookupTableSelectKeys")) if __select_keys == None: __select_keys = self.db.get_select_keys() if __select_keys: self.set_select_keys(__select_keys) def set_select_keys(self, astring): """astring: select keys setting. e.g. 1,2,3,4,5,6,7,8,9""" self._select_keys = [x.strip() for x in astring.split(",")] for x in self._select_keys: self._lookup_table.append_label(IBus.Text.new_from_string("{}.".format(x))) def get_select_keys(self): """@return: a list of chars as select keys: ["1", "2", ...]""" return self._select_keys def get_chinese_mode (self): '''Use db value or LC_CTYPE in your box to determine the _chinese_mode''' # use db value, if applicable __db_chinese_mode = self.db.get_chinese_mode() if __db_chinese_mode >= 0: return __db_chinese_mode # otherwise try: if os.environ.has_key('LC_ALL'): __lc = os.environ['LC_ALL'].split('.')[0].lower() elif os.environ.has_key('LC_CTYPE'): __lc = os.environ['LC_CTYPE'].split('.')[0].lower() else: __lc = os.environ['LANG'].split('.')[0].lower() if __lc.find('_cn') != -1: return 0 # hk and tw is should use tc as default elif __lc.find('_hk') != -1 or __lc.find('_tw') != -1\ or __lc.find('_mo') != -1: return 1 else: if self.db._is_chinese: # if IME declare as Chinese IME return 0 else: return -1 except: return -1 def change_chinese_mode (self): if self._chinese_mode != -1: self._chinese_mode = (self._chinese_mode +1 ) % 5 self._config.set_value ( self._config_section, "ChineseMode", GLib.Variant.new_int32(self._chinese_mode)) def clear (self): '''Remove data holded''' self.over_input () self._t_chars = [] self._strings = [] self._cursor = [0,0] self._py_mode = False self._zi = u'' self.update_candidates def is_empty (self): return len(self._t_chars) == 0 def clear_input (self): ''' Remove input characters held for Table mode, ''' self._chars = [[],[],[]] self._tabkey_list = [] self._lookup_table.clear() self._lookup_table.set_cursor_visible(True) self._candidates = [[],[]] def over_input (self): ''' Remove input characters held for Table mode, ''' self.clear_input () self._u_chars = [] def set_parser (self, parser): '''change input parser''' self.clear () self._parser = parser def add_input (self,c): '''add input character''' if len (self._t_chars) == self._max_length: return True self._zi = u'' if self._cursor[1]: self.split_phrase() if (len (self._chars[0]) == self._max_key_len and (not self._py_mode)) or ( len (self._chars[0]) == 7 and self._py_mode ) : self.auto_commit_to_preedit() res = self.add_input (c) return res elif self._chars[1]: self._chars[1].append (c) else: if (not self._py_mode and ( c in self._valid_input_chars)) or\ (self._py_mode and (c in u'abcdefghijklmnopqrstuvwxyz!@#$%')): try: self._tabkey_list += self._parser (c) self._chars[0].append (c) except: self._chars[1].append (c) else: self._chars[1].append (c) self._t_chars.append(c) res = self.update_candidates () return res def pop_input (self): '''remove and display last input char held''' _c ='' if self._chars[1]: _c = self._chars[1].pop () elif self._chars[0]: _c = self._chars[0].pop () self._tabkey_list.pop() if (not self._chars[0]) and self._u_chars: self._chars[0] = self._u_chars.pop() self._chars[1] = self._chars[1][:-1] self._tabkey_list = self._parser (self._chars[0]) self._strings.pop (self._cursor[0] - 1 ) self._cursor[0] -= 1 self._t_chars.pop() self.update_candidates () return _c def get_input_chars (self): '''get characters held, valid and invalid''' return self._chars[0] + self._chars[1] def get_input_chars_string (self): '''Get valid input char string''' return u''.join(map(str,self._t_chars)) def get_all_input_strings (self): '''Get all uncommit input characters, used in English mode or direct commit''' return u''.join( map(u''.join, self._u_chars + [self._chars[0]] \ + [self._chars[1]]) ) def get_index(self,key): '''Get the index of key in database table''' return self._pt.index(key) def split_phrase (self): '''Splite current phrase into two phrase''' _head = u'' _end = u'' try: _head = self._strings[self._cursor[0]][:self._cursor[1]] _end = self._strings[self._cursor[0]][self._cursor[1]:] self._strings.pop(self._cursor[0]) self._strings.insert(self._cursor[0],_head) self._strings.insert(self._cursor[0]+1,_end) self._cursor[0] +=1 self._cursor[1] = 0 except: pass def remove_before_string (self): '''Remove string before cursor''' if self._cursor[1] != 0: self.split_phrase() if self._cursor[0] > 0: self._strings.pop(self._cursor[0]-1) self._cursor[0] -= 1 else: pass # if we remove all characters in preedit string, we need to clear the self._t_chars if self._cursor == [0,0]: self._t_chars =[] def remove_after_string (self): '''Remove string after cursor''' if self._cursor[1] != 0: self.split_phrase() if self._cursor[0] >= len (self._strings): pass else: self._strings.pop(self._cursor[0]) def remove_before_char (self): '''Remove character before cursor''' if self._cursor[1] > 0: _str = self._strings[ self._cursor[0] ] self._strings[ self._cursor[0] ] = _str[ : self._cursor[1]-1] + _str[ self._cursor[1] :] self._cursor[1] -= 1 else: if self._cursor[0] == 0: pass else: if len ( self._strings[self._cursor[0] - 1] ) == 1: self.remove_before_string() else: self._strings[self._cursor[0] - 1] = self._strings[self._cursor[0] - 1][:-1] # if we remove all characters in preedit string, we need to clear the self._t_chars if self._cursor == [0,0] and not self._strings: self._t_chars =[] def remove_after_char (self): '''Remove character after cursor''' if self._cursor[1] == 0: if self._cursor[0] == len ( self._strings): pass else: if len( self._strings[ self._cursor[0] ]) == 1: self.remove_after_string () else: self._strings[ self._cursor[0] ] = self._strings[ self._cursor[0] ][1:] else: if ( self._cursor[1] + 1 ) == len( self._strings[ self._cursor[0] ] ) : self.split_phrase () self.remove_after_string () else: string = self._strings[ self._cursor[0] ] self._strings[ self._cursor[0] ] = string[:self._cursor[1]] + string[ self._cursor[1] + 1 : ] def get_invalid_input_chars (self): '''get invalid characters held''' return self._chars[1] def get_invalid_input_string (self): '''get invalid characters in string form''' return u''.join (self._chars[1]) def get_preedit_strings (self): '''Get preedit strings''' if self._candidates[0]: if self._py_mode: _p_index = 8 else: _p_index = self.get_index ('phrase') _candi = u'###' + self._candidates[0][ int (self._lookup_table.get_cursor_pos() ) ][ _p_index ] + u'###' else: input_chars = self.get_input_chars () if input_chars: _candi = u''.join( ['###'] + map( str, input_chars) + ['###'] ) else: _candi = u'' if self._strings: res = u'' _cursor = self._cursor[0] _luc = len (self._u_chars) if _luc: _candi = _candi == u'' and u'######' or _candi res =u''.join( self._strings[ : _cursor - _luc] +[u'@@@'] + self._strings[_cursor - _luc : _cursor ] + [ _candi ] + self._strings[ _cursor : ]) else: res = u''.join( self._strings[ : _cursor ] + [ _candi ] + self._strings[ _cursor : ]) return res else: return _candi def add_caret (self, addstr): '''add length to caret position''' self._caret += len(addstr) def get_caret (self): '''Get caret position in preedit strings''' self._caret = 0 if self._cursor[0] and self._strings: map (self.add_caret,self._strings[:self._cursor[0]]) self._caret += self._cursor[1] if self._candidates[0]: if self._py_mode: _p_index = 8 else: _p_index = self.get_index ('phrase') _candi =self._candidates[0][ int (self._lookup_table.get_cursor_pos() ) ][ _p_index ] else: _candi = u''.join( map( str,self.get_input_chars()) ) self._caret += len( _candi ) return self._caret def arrow_left (self): '''Process Arrow Left Key Event. Update cursor data when move caret left''' if self.get_preedit_strings (): if not( self.get_input_chars () or self._u_chars ): if self._cursor[1] > 0: self._cursor[1] -= 1 else: if self._cursor[0] > 0: self._cursor[1] = len (self._strings[self._cursor[0]-1]) - 1 self._cursor[0] -= 1 else: self._cursor[0] = len(self._strings) self._cursor[1] = 0 self.update_candidates () return True else: return False def arrow_right (self): '''Process Arrow Right Key Event. Update cursor data when move caret right''' if self.get_preedit_strings (): if not( self.get_input_chars () or self._u_chars ): if self._cursor[1] == 0: if self._cursor[0] == len (self._strings): self._cursor[0] = 0 else: self._cursor[1] += 1 else: self._cursor[1] += 1 if self._cursor[1] == len(self._strings[ self._cursor[0] ]): self._cursor[0] += 1 self._cursor[1] = 0 self.update_candidates () return True else: return False def control_arrow_left (self): '''Process Control + Arrow Left Key Event. Update cursor data when move caret to string left''' if self.get_preedit_strings (): if not( self.get_input_chars () or self._u_chars ): if self._cursor[1] == 0: if self._cursor[0] == 0: self._cursor[0] = len (self._strings) - 1 else: self._cursor[0] -= 1 else: self._cursor[1] = 0 self.update_candidates () return True else: return False def control_arrow_right (self): '''Process Control + Arrow Right Key Event. Update cursor data when move caret to string right''' if self.get_preedit_strings (): if not( self.get_input_chars () or self._u_chars ): if self._cursor[1] == 0: if self._cursor[0] == len (self._strings): self._cursor[0] = 1 else: self._cursor[0] += 1 else: self._cursor[0] += 1 self._cursor[1] = 0 self.update_candidates () return True else: return False def ap_candidate (self, candi): '''append candidate to lookup_table''' if not self._py_mode: _p_index = self.get_index('phrase') _fkey = self.get_index('m0') else: _p_index = 8 _fkey = 1 if self.db._is_chinese: _tbks = u''.join( map(self._deparser , candi[_fkey + len(self._tabkey_list) : _p_index-1 ] ) ) if self._py_mode: # restore tune symbol _tbks = _tbks.replace('!','↑1').replace('@','↑2').replace('#','↑3').replace('$','↑4').replace('%','↑5') else: _tbks = u''.join( map(self._deparser , candi[_fkey + len(self._tabkey_list) : _p_index ] ) ) _phrase = candi[_p_index] # further color implementation needed :) # here -2 is the pos of num, -1 is the pos of . 0 is the pos of string #attrs = IBus.AttrList ([IBus.AttributeForeground (0x8e2626, -2, 1)]) attrs = IBus.AttrList () # this is the part of tabkey attrs.append(IBus.attr_foreground_new(rgb(0x19,0x73,0xa2), 0, \ len(_phrase) + len(_tbks))) if candi[-2] < 0: # this is a user defined phrase: attrs.append(IBus.attr_foreground_new(rgb(0x77,0x00,0xc3), 0, len(_phrase))) elif candi[-1] > 0: # this is a sys phrase used by user: attrs.append(IBus.attr_foreground_new(rgb(0x00,0x00,0x00), 0, len(_phrase))) else: # this is a system phrase haven't been used: attrs.append(IBus.attr_foreground_new(rgb(0x00,0x00,0x00), 0, len(_phrase))) text = IBus.Text.new_from_string(_phrase + _tbks) i = 0 while attrs.get(i) != None: attr = attrs.get(i) text.append_attribute(attr.get_attr_type(), attr.get_value(), attr.get_start_index(), attr.get_end_index()) i += 1 self._lookup_table.append_candidate (text) self._lookup_table.set_cursor_visible(True) def filter_candidates (self, candidates): '''Filter candidates if IME is Chinese''' #if self.db._is_chinese and (not self._py_mode): if not self._chinese_mode in(2,3): return candidates[:] bm_index = self._pt.index('category') if self._chinese_mode == 2: # All Chinese characters with simplified Chinese first return filter (lambda x: x[bm_index] & 1, candidates)\ +filter (lambda x: x[bm_index] & (1 << 1) and \ (not x[bm_index] & 1), candidates)\ + filter (lambda x: x[bm_index] & (1 << 2), candidates) elif self._chinese_mode == 3: # All Chinese characters with traditional Chinese first return filter (lambda x: x[bm_index] & (1 << 1), candidates)\ +filter (lambda x: x[bm_index] & 1 and\ (not x[bm_index] & (1<<1)) , candidates)\ + filter (lambda x: x[bm_index] & (1 << 2), candidates) def update_candidates (self): '''Update lookuptable''' # first check whether the IME have defined start_chars if self.db.startchars and ( len(self._chars[0]) == 1 )\ and ( len(self._chars[1]) == 0 ) \ and ( self._chars[0][0] not in self.db.startchars): self._u_chars.append ( self._chars[0][0] ) self._strings.insert ( self._cursor[0], self._chars[0][0] ) self._cursor [0] += 1 self.clear_input() else: if (self._chars[0] == self._chars[2] and self._candidates[0]) \ or self._chars[1]: # if no change in valid input char or we have invalid input, # we do not do sql enquery pass else: # check whether last time we have only one candidate only_one_last = self.one_candidate() # do enquiry self._lookup_table.clear() self._lookup_table.set_cursor_visible(True) if self._tabkey_list: # here we need to consider two parts, table and pinyin # first table if not self._py_mode: if self.db._is_chinese : bm_index = self._pt.index('category') if self._chinese_mode == 0: # simplify Chinese mode self._candidates[0] = self.db.select_words(\ self._tabkey_list, self._onechar, 1 ) elif self._chinese_mode == 1: # traditional Chinese mode self._candidates[0] = self.db.select_words(\ self._tabkey_list, self._onechar, 2 ) else: self._candidates[0] = self.db.select_words(\ self._tabkey_list, self._onechar ) else: self._candidates[0] = self.db.select_words( self._tabkey_list, self._onechar ) else: self._candidates[0] = self.db.select_zi( self._tabkey_list ) self._chars[2] = self._chars[0][:] else: self._candidates[0] =[] if self._candidates[0]: self._candidates[0] = self.filter_candidates (self._candidates[0]) if self._candidates[0]: self.fill_lookup_table() else: if self._chars[0]: ## old manner: #if self._candidates[1]: # #print self._candidates[1] # self._candidates[0] = self._candidates[1] # self._candidates[1] = [] # last_input = self.pop_input () # self.auto_commit_to_preedit () # res = self.add_input( last_input ) # print res # return res #else: # self.pop_input () # self._lookup_table.clear() # self._lookup_table.set_cursor_visible(True) # return False ################### ## new manner, we add new char to invalid input ## chars if not self._chars[1]: # we don't have invalid input chars # here we need to check whether the last input char # is a punctuation character or not, # if is a punctuation char, then we use old manner # to submit the former valid candidate if ascii.ispunct (self._chars[0][-1].encode('ascii')) \ or len (self._chars[0][:-1]) \ in self.db.pkeylens \ or only_one_last \ or self._auto_select: # because we use [!@#$%] to denote [12345] # in py_mode, so we need to distinguish them ## old manner: if self._py_mode: if self._chars[0][-1] in "!@#$%": self._chars[0].pop() self._tabkey_list.pop() return True if self._candidates[1]: self._candidates[0] = self._candidates[1] self._candidates[1] = [] last_input = self.pop_input () self.auto_commit_to_preedit () res = self.add_input( last_input ) return res else: self.pop_input () self._lookup_table.clear() self._lookup_table.set_cursor_visible(True) return False else: # this is not a punct or not a valid phrase # last time self._chars[1].append( self._chars[0].pop() ) self._tabkey_list.pop() else: pass self._candidates[0] =[] else: self._lookup_table.clear() self._lookup_table.set_cursor_visible(True) self._candidates[1] = self._candidates[0] return True def commit_to_preedit (self): '''Add select phrase in lookup table to preedit string''' if not self._py_mode: _p_index = self.get_index('phrase') else: _p_index = 8 try: if self._candidates[0]: self._strings.insert(self._cursor[0], self._candidates[0][ self.get_cursor_pos() ][_p_index]) self._cursor [0] += 1 if self._py_mode: self._zi = self._candidates[0][ self.get_cursor_pos() ][_p_index] self.over_input () self.update_candidates () except: pass def auto_commit_to_preedit (self): '''Add select phrase in lookup table to preedit string''' if not self._py_mode: _p_index = self.get_index('phrase') else: _p_index = 8 try: self._u_chars.append( self._chars[0][:] ) self._strings.insert(self._cursor[0], self._candidates[0][ self.get_cursor_pos() ][_p_index]) self._cursor [0] += 1 self.clear_input() self.update_candidates () except: pass def get_aux_strings (self): '''Get aux strings''' input_chars = self.get_input_chars () if input_chars: #aux_string = u' '.join( map( u''.join, self._u_chars + [self._chars[0]] ) ) aux_string = u''.join (self._chars[0]) if self._py_mode: aux_string = aux_string.replace('!','1').replace('@','2').replace('#','3').replace('$','4').replace('%','5') return aux_string aux_string = u'' if self._zi: # we have pinyin result tabcodes = self.db.find_zi_code(self._zi) aux_string = u' '.join(tabcodes) # self._zi = u'' cstr = u''.join(self._strings) if self.db.user_can_define_phrase: if len (cstr ) > 1: aux_string += (u'\t#: ' + self.db.parse_phrase_to_tabkeys (cstr)) return aux_string def fill_lookup_table(self): '''Fill more entries to self._lookup_table if needed. If the cursor in _lookup_table moved beyond current length, add more entries from _candidiate[0] to _lookup_table.''' lookup = self._lookup_table looklen = lookup.get_number_of_candidates() psize = lookup.get_page_size() if (lookup.get_cursor_pos() + psize >= looklen and looklen < len(self._candidates[0])): endpos = looklen + psize batch = self._candidates[0][looklen:endpos] map(self.ap_candidate, batch) def arrow_down(self): '''Process Arrow Down Key Event Move Lookup Table cursor down''' self.fill_lookup_table() res = self._lookup_table.cursor_down() self.update_candidates () if not res and self._candidates[0]: return True return res def arrow_up(self): '''Process Arrow Up Key Event Move Lookup Table cursor up''' res = self._lookup_table.cursor_up() self.update_candidates () if not res and self._candidates[0]: return True return res def page_down(self): '''Process Page Down Key Event Move Lookup Table page down''' self.fill_lookup_table() res = self._lookup_table.page_down() self.update_candidates () if not res and self._candidates[0]: return True return res def page_up(self): '''Process Page Up Key Event move Lookup Table page up''' res = self._lookup_table.page_up() self.update_candidates () if not res and self._candidates[0]: return True return res def select_key(self, char): ''' Commit a candidate in the lookup table which was selected by typing a selection key ''' try: index = self._select_keys.index(char) except ValueError: return False cursor_pos = self._lookup_table.get_cursor_pos() cursor_in_page = self._lookup_table.get_cursor_in_page() current_page_start = cursor_pos - cursor_in_page real_index = current_page_start + index if real_index >= len (self._candidates[0]): # the index given is out of range we do not commit anything return False self._lookup_table.set_cursor_pos(real_index) self.commit_to_preedit () return True def alt_select_key(self, char): '''Remove the candidates in Lookup Table from user_db index.''' try: index = self._select_keys.index(char) except ValueError: return False cursor_pos = self._lookup_table.get_cursor_pos() cursor_in_page = self._lookup_table.get_cursor_in_page() current_page_start = cursor_pos - cursor_in_page real_index = current_page_start + index if len (self._candidates[0]) > real_index: # this index is valid can = self._candidates[0][real_index] if can[-2] < 0: # freq of this candidate is -1, means this a user phrase self.db.remove_phrase (can) # make update_candidates do sql enquiry self._chars[2].pop() self.update_candidates () return True else: return False def get_cursor_pos (self): '''get lookup table cursor position''' return self._lookup_table.get_cursor_pos() def get_lookup_table (self): '''Get lookup table''' return self._lookup_table def is_lt_visible (self): '''Check whether lookup table is visible''' return self._lookup_table.is_cursor_visible () def backspace (self): '''Process backspace Key Event''' self._zi = u'' if self.get_input_chars(): self.pop_input () return True elif self.get_preedit_strings (): self.remove_before_char () return True else: return False def control_backspace (self): '''Process control+backspace Key Event''' self._zi = u'' if self.get_input_chars(): self.over_input () return True elif self.get_preedit_strings (): self.remove_before_string () return True else: return False def delete (self): '''Process delete Key Event''' self._zi = u'' if self.get_input_chars(): return True elif self.get_preedit_strings (): self.remove_after_char () return True else: return False def control_delete (self): '''Process control+delete Key Event''' self._zi = u'' if self.get_input_chars (): return True elif self.get_preedit_strings (): self.remove_after_string () return True else: return False def l_shift (self): '''Process Left Shift Key Event as immediately commit to preedit strings''' if self._chars[0]: self.commit_to_preedit () return True else: return False def r_shift (self): '''Proess Right Shift Key Event as changed between PinYin Mode and Table Mode''' self._zi = u'' if self._chars[0]: self.commit_to_preedit () self._py_mode = not (self._py_mode) return True def l_alt(self): """Left Alt key, cycle cursor to next candidate in the page.""" total = len(self._candidates[0]) if total > 0: lookup = self._lookup_table page_size = lookup.get_page_size() pos = lookup.get_cursor_pos() page = int(pos/page_size) pos += 1 if pos >= (page+1)*page_size or pos >= total: pos = page*page_size res = lookup.set_cursor_pos(pos) return True else: return False def space (self): '''Process space Key Event return (KeyProcessResult,whethercommit,commitstring)''' if self._chars[1]: # we have invalid input, so do not commit return (False,u'') if self._t_chars : # user has input sth istr = self.get_all_input_strings () self.commit_to_preedit () pstr = self.get_preedit_strings () #print "istr: ",istr self.clear() return (True,pstr,istr) else: return (False,u'',u'') def one_candidate (self): '''Return true if there is only one candidate''' return len(self._candidates[0]) == 1 ######################## ### Engine Class ##### #################### class tabengine (IBus.Engine): '''The IM Engine for Tables''' # colors # _phrase_color = 0xffffff # _user_phrase_color = 0xffffff # _new_phrase_color = 0xffffff def __init__ (self, bus, obj_path, db ): super(tabengine,self).__init__ (connection=bus.get_connection(), object_path=obj_path) self._bus = bus # this is the backend sql db we need for our IME # we receive this db from IMEngineFactory #self.db = tabsqlitedb.tabsqlitedb( name = dbname ) self.db = db # this is the parer which parse the input string to key object self._parser = tabdict.parse self._icon_dir = '%s%s%s%s' % (os.getenv('IBUS_TABLE_LOCATION'), os.path.sep, 'icons', os.path.sep) # 0 = english input mode # 1 = table input mode self._mode = 1 # self._ime_py: True / False this IME support pinyin mode self._ime_py = self.db.get_ime_property ('pinyin_mode') if self._ime_py: if self._ime_py.lower() == u'true': self._ime_py = True else: self._ime_py = False else: print 'We could not find "pinyin_mode" entry in database, is it an outdated database?' self._ime_py = False self._status = self.db.get_ime_property('status_prompt').encode('utf8') # now we check and update the valid input characters self._chars = self.db.get_ime_property('valid_input_chars') self._valid_input_chars = [] for _c in self._chars: if _c in tabdict.tab_key_list: self._valid_input_chars.append(_c) del self._chars # check whether we can use '=' and '-' for page_down/up self._page_down_keys = [IBus.KEY_Page_Down, IBus.KEY_KP_Page_Down] self._page_up_keys = [IBus.KEY_Page_Up, IBus.KEY_KP_Page_Up] if '=' not in self._valid_input_chars \ and '-' not in self._valid_input_chars: self._page_down_keys.append (IBus.KEY_equal) self._page_up_keys.append (IBus.KEY_minus) pageup_prop = self.db.get_ime_property('page_up_keys') pagedown_prop = self.db.get_ime_property('page_down_keys') if pageup_prop is not None: self._page_up_keys = [IBus.keyval_from_name(x) for x in pageup_prop.split(",")] if pagedown_prop is not None: self._page_down_keys = [IBus.keyval_from_name(x) for x in pagedown_prop.split(",")] self._pt = self.db.get_phrase_table_index () self._ml = int(self.db.get_ime_property ('max_key_length')) # name for config section self._name = self.db.get_ime_property('name') self._config_section = "engine/Table/%s" % self._name.replace(' ', '_') # config module self._config = self._bus.get_config () self._config.connect ("value-changed", self.config_value_changed_cb) # Containers we used: self._editor = editor(self._config, self._pt, self._valid_input_chars, self._ml, self.db) # some other vals we used: # self._prev_key: hold the key event last time. self._prev_key = None self._prev_char = None self._double_quotation_state = False self._single_quotation_state = False # [EnMode,TabMode] we get TabMode properties from db self._full_width_letter = [ variant_to_value(self._config.get_value( self._config_section, "EnDefFullWidthLetter")), variant_to_value(self._config.get_value( self._config_section, "TabDefFullWidthLetter")) ] if self._full_width_letter[0] == None: self._full_width_letter[0] = False if self._full_width_letter[1] == None: self._full_width_letter[1] = self.db.get_ime_property('def_full_width_letter').lower() == u'true' self._full_width_punct = [ variant_to_value(self._config.get_value( self._config_section, "EnDefFullWidthPunct")), variant_to_value(self._config.get_value( self._config_section, "TabDefFullWidthPunct")) ] if self._full_width_punct[0] == None: self._full_width_punct[0] = False if self._full_width_punct[1] == None: self._full_width_punct[1] = self.db.get_ime_property('def_full_width_punct').lower() == u'true' # some properties we will involved, Property is taken from scim. #self._setup_property = Property ("setup", _("Setup")) self._auto_commit = variant_to_value(self._config.get_value( self._config_section, "AutoCommit")) if self._auto_commit == None: self._auto_commit = self.db.get_ime_property('auto_commit').lower() == u'true' # the commit phrases length self._len_list = [0] # connect to SpeedMeter #try: # bus = dbus.SessionBus() # user = os.path.basename( os.path.expanduser('~') ) # self._sm_bus = bus.get_object ("org.ibus.table.SpeedMeter.%s"\ # % user, "/org/ibus/table/SpeedMeter") # self._sm = dbus.Interface(self._sm_bus,\ # "org.ibus.table.SpeedMeter") #except: # self._sm = None #self._sm_on = False self._on = False self.reset () def reset (self): self._editor.clear () self._double_quotation_state = False self._single_quotation_state = False self._prev_key = None #self._editor._onechar = False self._init_properties () self._update_ui () def do_destroy(self): self.reset () self.do_focus_out () #self.db.sync_usrdb () super(tabengine,self).destroy() def _init_properties (self): self.properties= IBus.PropList () self._status_property = IBus.Property(key=u'status', label=None, icon=None, tooltip=None, sensitive=True, visible=True) self.properties.append(self._status_property) if self.db._is_chinese: self._cmode_property = IBus.Property(key=u'cmode', label=None, icon=None, tooltip=None, sensitive=True, visible=True) self.properties.append(self._cmode_property) self._letter_property = IBus.Property(key=u'letter', label=None, icon=None, tooltip=None, sensitive=True, visible=True) self.properties.append(self._letter_property) self._punct_property = IBus.Property(key=u'punct', label=None, icon=None, tooltip=None, sensitive=True, visible=True) self.properties.append(self._punct_property) self._py_property = IBus.Property(key=u'py_mode', label=None, icon=None, tooltip=None, sensitive=True, visible=True) self.properties.append(self._py_property) self._onechar_property = IBus.Property(key=u'onechar', label=None, icon=None, tooltip=None, sensitive=True, visible=True) self.properties.append(self._onechar_property) self._auto_commit_property = IBus.Property(key=u'acommit', label=None, icon=None, tooltip=None, sensitive=True, visible=True) self.properties.append(self._auto_commit_property) self.register_properties (self.properties) self._refresh_properties () def _refresh_properties (self): '''Method used to update properties''' # taken and modified from PinYin.py :) if self._mode == 1: # refresh mode if self._status == u'CN': self._set_property(self._status_property, 'chinese.svg', _('Chinese Mode'), _('Switch to English mode')) else: self._set_property(self._status_property, 'ibus-table.svg', self._status, _('Switch to English mode')) else: self._set_property(self._status_property, 'english.svg', _('English Mode'), _('Switch to Table mode')) self.update_property(self._status_property) if self._full_width_letter[self._mode]: self._set_property(self._letter_property, 'full-letter.svg', _('Full Letter'), _('Switch to half-width letter')) else: self._set_property(self._letter_property, 'half-letter.svg', _('Half Letter'), _('Switch to full-width letter')) self.update_property(self._letter_property) if self._full_width_punct[self._mode]: self._set_property(self._punct_property, 'full-punct.svg', _('Full-width Punctuation'), _('Switch to half-width punctuation')) else: self._set_property(self._punct_property, 'half-punct.svg', _('Half-width Punctuation'), _('Switch to full-width punctuation')) self.update_property(self._punct_property) if self._editor._py_mode: self._set_property(self._py_property, 'py-mode.svg', _('PinYin Mode'), _('Switch to Table mode')) else: self._set_property(self._py_property, 'tab-mode.svg', _('Table Mode'), _('Switch to PinYin mode')) self.update_property(self._py_property) if self._editor._onechar: self._set_property(self._onechar_property, 'onechar.svg', _('Single Char Mode'), _('Switch to phrase mode')) else: self._set_property(self._onechar_property, 'phrase.svg', _('Phrase Mode'), _('Switch to single char mode')) self.update_property(self._onechar_property) if self._auto_commit: self._set_property(self._auto_commit_property, 'acommit.svg', _('Direct Commit Mode'), _('Switch to normal commit mode, which use space to commit')) else: self._set_property(self._auto_commit_property, 'ncommit.svg', _('Normal Commit Mode'), _('Switch to direct commit mode')) self.update_property(self._auto_commit_property) # the chinese_mode: if self.db._is_chinese: if self._editor._chinese_mode == 0: self._set_property(self._cmode_property, 'sc-mode.svg', _('Simplified Chinese Mode'), _('Switch to Traditional Chinese mode')) elif self._editor._chinese_mode == 1: self._set_property(self._cmode_property, 'tc-mode.svg', _('Traditional Chinese Mode'), _('Switch to Simplify Chinese first Big Charset Mode')) elif self._editor._chinese_mode == 2: self._set_property(self._cmode_property, 'scb-mode.svg', _('Simplified Chinese First Big Charset Mode'), _('Switch to Traditional Chinese first Big Charset Mode')) elif self._editor._chinese_mode == 3: self._set_property(self._cmode_property, 'tcb-mode.svg', _('Traditional Chinese First Big Charset Mode'), _('Switch to Big Charset Mode')) elif self._editor._chinese_mode == 4: self._set_property(self._cmode_property, 'cb-mode.svg', _('Big Chinese Mode'), _('Switch to Simplified Chinese Mode')) self.update_property(self._cmode_property) def _set_property (self, property, icon, label, tooltip): property.set_icon ( u'%s%s' % (self._icon_dir, icon ) ) property.set_label (IBus.Text.new_from_string(unicode(label))) property.set_tooltip (IBus.Text.new_from_string(unicode(tooltip))) def _change_mode (self): '''Shift input mode, TAB -> EN -> TAB ''' self._mode = int (not self._mode) self.reset () self._update_ui () def do_property_activate (self, property, prop_state = IBus.PropState.UNCHECKED): '''Shift property''' if property == u"status": self._change_mode () elif property == u'py_mode' and self._ime_py: self._editor.r_shift () elif property == u'onechar': self._editor._onechar = not self._editor._onechar self._config.set_value(self._config_section, "OneChar", GLib.Variant.new_boolean(self._editor._onechar)) elif property == u'acommit': self._auto_commit = not self._auto_commit self._config.set_value( self._config_section, "AutoCommit", GLib.Variant.new_boolean(self._auto_commit)) elif property == u'letter': self._full_width_letter [self._mode] = not self._full_width_letter [self._mode] if self._mode: self._config.set_value(self._config_section, "TabDefFullWidthLetter", GLib.Variant.new_boolean(self._full_width_letter [self._mode])) else: self._config.set_value(self._config_section, "EnDefFullWidthLetter", GLib.Variant.new_boolean(self._full_width_letter [self._mode])) elif property == u'punct': self._full_width_punct [self._mode] = not self._full_width_punct [self._mode] if self._mode: self._config.set_value(self._config_section, "TabDefFullWidthPunct", GLib.Variant.new_boolean(self._full_width_punct [self._mode])) else: self._config.set_value(self._config_section, "EnDefFullWidthPunct", GLib.Variant.new_boolean(self._full_width_punct [self._mode])) elif property == u'cmode': self._editor.change_chinese_mode() self.reset() self._refresh_properties () # elif property == "setup": # Need implementation # self.start_helper ("96c07b6f-0c3d-4403-ab57-908dd9b8d513") # at last invoke default method def _update_preedit (self): '''Update Preedit String in UI''' _str = self._editor.get_preedit_strings () if _str == u'': super(tabengine, self).update_preedit_text(IBus.Text.new_from_string(u''), 0, False) else: attrs = IBus.AttrList() res = patt_edit.match (_str) if res: _str = u'' ures = patt_uncommit.match (res.group(1)) if ures: _str=u''.join (ures.groups()) lc = len (ures.group(1) ) lu = len (ures.group(2) ) attrs.append(IBus.attr_foreground_new(rgb(0x1b,0x3f,0x03),0,lc)) attrs.append(IBus.attr_foreground_new(rgb(0x08,0x95,0xa2),lc,lu)) lg1 = len (_str) else: _str += res.group (1) lg1 = len ( res.group(1) ) attrs.append(IBus.attr_foreground_new(rgb(0x1b,0x3f,0x03),0,lg1)) _str += res.group(2) _str += res.group(3) lg2 = len ( res.group(2) ) lg3 = len ( res.group(3) ) attrs.append(IBus.attr_foreground_new(rgb(0x0e,0x0e,0xa0),lg1,lg2)) attrs.append(IBus.attr_foreground_new(rgb(0x1b,0x3f,0x03),lg1+lg2,lg3)) else: attrs.append(IBus.attr_foreground_new(rgb(0x1b,0x3f,0x03),0,len(_str))) # because ibus now can only insert preedit into txt, so... attrs = IBus.AttrList() attrs.append(IBus.attr_underline_new(IBus.AttrUnderline.SINGLE, 0, len(_str))) text = IBus.Text.new_from_string(_str) i = 0 while attrs.get(i) != None: attr = attrs.get(i) text.append_attribute(attr.get_attr_type(), attr.get_value(), attr.get_start_index(), attr.get_end_index()) i += 1 super(tabengine, self).update_preedit_text(text, self._editor.get_caret(), True) def _update_aux (self): '''Update Aux String in UI''' _ic = self._editor.get_aux_strings () if _ic: attrs = IBus.AttrList() attrs.append(IBus.attr_foreground_new(rgb(0x95,0x15,0xb5),0, len(_ic))) text = IBus.Text.new_from_string(_ic) i = 0 while attrs.get(i) != None: attr = attrs.get(i) text.append_attribute(attr.get_attr_type(), attr.get_value(), attr.get_start_index(), attr.get_end_index()) i += 1 super(tabengine, self).update_auxiliary_text(text, True) else: self.hide_auxiliary_text() #self.update_aux_string (u'', None, False) def _update_lookup_table (self): '''Update Lookup Table in UI''' if self._editor.is_empty (): self.hide_lookup_table() return self.update_lookup_table(self._editor.get_lookup_table(), True) def _update_ui (self): '''Update User Interface''' self._update_lookup_table () self._update_preedit () self._update_aux () #def add_string_len(self, astring): # if self._sm_on: # try: # self._sm.Accumulate(len(astring)) # except: # pass def commit_string (self,string): self._editor.clear () self._update_ui () super(tabengine,self).commit_text(IBus.Text.new_from_string(string)) self._prev_char = string[-1] def _convert_to_full_width (self, c): '''convert half width character to full width''' if c in [u".", u"\\", u"^", u"_", u"$", u"\"", u"'", u">", u"<", u"[", u"]", u"{", u"}" ]: if c == u".": if self._prev_char and self._prev_char.isdigit () \ and self._prev_key and chr (self._prev_key.code) == self._prev_char: return u"." else: return u"\u3002" elif c == u"\\": return u"\u3001" elif c == u"^": return u"\u2026\u2026" elif c == u"_": return u"\u2014\u2014" elif c == u"$": return u"\uffe5" elif c == u"\"": self._double_quotation_state = not self._double_quotation_state if self._double_quotation_state: return u"\u201c" else: return u"\u201d" elif c == u"'": self._single_quotation_state = not self._single_quotation_state if self._single_quotation_state: return u"\u2018" else: return u"\u2019" elif c == u"<": if self._mode: return u"\u300a" elif c == u">": if self._mode: return u"\u300b" elif c == u"[": if self._mode: return u"\u300c" elif c == u"]": if self._mode: return u"\u300d" elif c == u"{": if self._mode: return u"\u300e" elif c == u"}": if self._mode: return u"\u300f" return unichar_half_to_full (c) def _match_hotkey (self, key, code, mask): if key.code == code and key.mask == mask: if self._prev_key and key.code == self._prev_key.code and key.mask & IBus.ModifierType.RELEASE_MASK: return True if not key.mask & IBus.ModifierType.RELEASE_MASK: return True return False def do_process_key_event(self, keyval, keycode, state): '''Process Key Events Key Events include Key Press and Key Release, modifier means Key Pressed ''' key = KeyEvent(keyval, state & IBus.ModifierType.RELEASE_MASK == 0, state) # ignore NumLock mask key.mask &= ~IBus.ModifierType.MOD2_MASK result = self._process_key_event (key) self._prev_key = key return result def _process_key_event (self, key): '''Internal method to process key event''' # Match mode switch hotkey if not self._editor._t_chars and ( self._match_hotkey (key, IBus.KEY_Shift_L, IBus.ModifierType.SHIFT_MASK | IBus.ModifierType.RELEASE_MASK)): self._change_mode () return True # Match full half letter mode switch hotkey if self._match_hotkey (key, IBus.KEY_space, IBus.ModifierType.SHIFT_MASK): self.do_property_activate ("letter") return True # Match full half punct mode switch hotkey if self._match_hotkey (key, IBus.KEY_period, IBus.ModifierType.CONTROL_MASK): self.do_property_activate ("punct") return True # we ignore all hotkeys # if key.mask & IBus.ModifierType.MOD1_MASK: # return False # Ignore key release event # if key.mask & IBus.ModifierType.RELEASE_MASK: # return True if self._mode: return self._table_mode_process_key_event (key) else: return self._english_mode_process_key_event (key) def _english_mode_process_key_event (self, key): '''English Mode Process Key Event''' # Ignore key release event if key.mask & IBus.ModifierType.RELEASE_MASK: return True if key.code >= 128: return False # we ignore all hotkeys here if key.mask & (IBus.ModifierType.CONTROL_MASK|IBus.ModifierType.MOD1_MASK): return False keychar = unichr (key.code) if ascii.ispunct (key.code): # if key code is a punctation if self._full_width_punct[self._mode]: self.commit_string (self._convert_to_full_width (keychar)) return True else: self.commit_string (keychar) return True # then, the key code is a letter or digit if self._full_width_letter[self._mode]: # in full width letter mode self.commit_string (self._convert_to_full_width (keychar)) return True else: return False # should not reach there return False def _table_mode_process_key_event (self, key): '''Xingma Mode Process Key Event''' cond_letter_translate = lambda (c): \ self._convert_to_full_width (c) if self._full_width_letter [self._mode] else c cond_punct_translate = lambda (c): \ self._convert_to_full_width (c) if self._full_width_punct [self._mode] else c # We have to process the pinyin mode change key event here, # because we ignore all Release event below. if self._match_hotkey (key, IBus.KEY_Shift_R, IBus.ModifierType.SHIFT_MASK | IBus.ModifierType.RELEASE_MASK) and self._ime_py: res = self._editor.r_shift () self._refresh_properties () self._update_ui () return res # process commit to preedit if self._match_hotkey (key, IBus.KEY_Shift_R, IBus.ModifierType.SHIFT_MASK | IBus.ModifierType.RELEASE_MASK) or self._match_hotkey (key, IBus.KEY_Shift_L, IBus.ModifierType.SHIFT_MASK | IBus.ModifierType.RELEASE_MASK): res = self._editor.l_shift () self._update_ui () return res # Left ALT key to cycle candidates in the current page. if self._match_hotkey (key, IBus.KEY_Alt_L, IBus.ModifierType.MOD1_MASK | IBus.ModifierType.RELEASE_MASK): res = self._editor.l_alt () self._update_ui () return res # Match single char mode switch hotkey if self._match_hotkey (key, IBus.KEY_comma, IBus.ModifierType.CONTROL_MASK): self.do_property_activate ( u"onechar" ) return True # Match direct commit mode switch hotkey if self._match_hotkey (key, IBus.KEY_slash, IBus.ModifierType.CONTROL_MASK): self.do_property_activate ( u"acommit" ) return True # Match Chinese mode shift if self._match_hotkey (key, IBus.KEY_semicolon, IBus.ModifierType.CONTROL_MASK): self.do_property_activate ( u"cmode" ) return True # Match speedmeter shift #if self._match_hotkey (key, IBus.KEY_apostrophe, IBus.ModifierType.CONTROL_MASK): # self._sm_on = not self._sm_on # if self._sm_on: # self._sm.Show () # else: # self._sm.Hide () # return True # Ignore key release event now :) if key.mask & IBus.ModifierType.RELEASE_MASK: return True # keychar = unichr (key.code) if self._editor.is_empty (): # we have not input anything if key.code >= 32 and key.code <= 127 and ( keychar not in self._valid_input_chars ) \ and (not (key.mask & (IBus.ModifierType.MOD1_MASK | IBus.ModifierType.CONTROL_MASK))): if key.code == IBus.KEY_space: #self.commit_string (cond_letter_translate (keychar)) # little hack to make ibus to input space in gvim :) if self._full_width_letter [self._mode]: self.commit_string (cond_letter_translate (keychar)) return True else: return False if ascii.ispunct (key.code): self.commit_string (cond_punct_translate (keychar)) return True if ascii.isdigit (key.code): self.commit_string (cond_letter_translate (keychar)) return True elif (key.code < 32 or key.code > 127) and ( keychar not in self._valid_input_chars ) \ and(not self._editor._py_mode): return False if key.code == IBus.KEY_Escape: self.reset () self._update_ui () return True elif key.code in (IBus.KEY_Return, IBus.KEY_KP_Enter): commit_string = self._editor.get_all_input_strings () self.commit_string (commit_string) return True elif key.code in (IBus.KEY_Down, IBus.KEY_KP_Down) : res = self._editor.arrow_down () self._update_ui () return res elif key.code in (IBus.KEY_Up, IBus.KEY_KP_Up): res = self._editor.arrow_up () self._update_ui () return res elif key.code in (IBus.KEY_Left, IBus.KEY_KP_Left) and key.mask & IBus.ModifierType.CONTROL_MASK: res = self._editor.control_arrow_left () self._update_ui () return res elif key.code in (IBus.KEY_Right, IBus.KEY_KP_Right) and key.mask & IBus.ModifierType.CONTROL_MASK: res = self._editor.control_arrow_right () self._update_ui () return res elif key.code in (IBus.KEY_Left, IBus.KEY_KP_Left): res = self._editor.arrow_left () self._update_ui () return res elif key.code in (IBus.KEY_Right, IBus.KEY_KP_Right): res = self._editor.arrow_right () self._update_ui () return res elif key.code == IBus.KEY_BackSpace and key.mask & IBus.ModifierType.CONTROL_MASK: res = self._editor.control_backspace () self._update_ui () return res elif key.code == IBus.KEY_BackSpace: res = self._editor.backspace () self._update_ui () return res elif key.code == IBus.KEY_Delete and key.mask & IBus.ModifierType.CONTROL_MASK: res = self._editor.control_delete () self._update_ui () return res elif key.code == IBus.KEY_Delete: res = self._editor.delete () self._update_ui () return res elif ( keychar in self._editor.get_select_keys() and self._editor._candidates[0] and key.mask & IBus.ModifierType.CONTROL_MASK ): res = self._editor.select_key (keychar) self._update_ui () return res elif ( keychar in self._editor.get_select_keys() and self._editor._candidates[0] and key.mask & IBus.ModifierType.MOD1_MASK ): res = self._editor.alt_select_key (keychar) self._update_ui () return res elif key.code == IBus.KEY_space: # if space is one of "page_down_keys" change to next page # on lookup page if IBus.KEY_space in self._page_down_keys: res = self._editor.page_down() self._update_ui () return res else: o_py = self._editor._py_mode sp_res = self._editor.space () #return (KeyProcessResult,whethercommit,commitstring) if sp_res[0]: if self._editor._auto_select: self.commit_string ("%s " %sp_res[1]) else: self.commit_string (sp_res[1]) #self.add_string_len(sp_res[1]) self.db.check_phrase (sp_res[1], sp_res[2]) else: if sp_res[1] == u' ': self.commit_string (cond_letter_translate (u" ")) if o_py != self._editor._py_mode: self._refresh_properties () self._update_ui () return True # now we ignore all else hotkeys elif key.mask & (IBus.ModifierType.CONTROL_MASK|IBus.ModifierType.MOD1_MASK): return False elif key.mask & IBus.ModifierType.MOD1_MASK: return False elif keychar in self._valid_input_chars or \ ( self._editor._py_mode and \ keychar in u'abcdefghijklmnopqrstuvwxyz!@#$%' ): if self._auto_commit and ( len(self._editor._chars[0]) == self._ml \ or len (self._editor._chars[0]) in self.db.pkeylens )\ and not self._editor._py_mode: # it is time to direct commit sp_res = self._editor.space () #return (whethercommit,commitstring) if sp_res[0]: self.commit_string (sp_res[1]) #self.add_string_len(sp_res[1]) self.db.check_phrase (sp_res[1],sp_res[2]) res = self._editor.add_input ( keychar ) if not res: if ascii.ispunct (key.code): key_char = cond_punct_translate (keychar) else: key_char = cond_letter_translate (keychar) sp_res = self._editor.space () #return (KeyProcessResult,whethercommit,commitstring) if sp_res[0]: self.commit_string (sp_res[1] + key_char) #self.add_string_len(sp_res[1]) self.db.check_phrase (sp_res[1],sp_res[2]) return True else: self.commit_string ( key_char ) return True else: if self._auto_commit and self._editor.one_candidate () and \ (len(self._editor._chars[0]) == self._ml \ or not self.db._is_chinese): # it is time to direct commit sp_res = self._editor.space () #return (whethercommit,commitstring) if sp_res[0]: self.commit_string (sp_res[1]) #self.add_string_len(sp_res[1]) self.db.check_phrase (sp_res[1], sp_res[2]) return True self._update_ui () return True elif key.code in self._page_down_keys \ and self._editor._candidates[0]: res = self._editor.page_down() self._update_ui () return res elif key.code in self._page_up_keys \ and self._editor._candidates[0]: res = self._editor.page_up () self._update_ui () return res elif keychar in self._editor.get_select_keys() and self._editor._candidates[0]: input_keys = self._editor.get_all_input_strings () res = self._editor.select_key (keychar) if res: o_py = self._editor._py_mode commit_string = self._editor.get_preedit_strings () self.commit_string (commit_string) #self.add_string_len(commit_string) if o_py != self._editor._py_mode: self._refresh_properties () self._update_ui () # modify freq info self.db.check_phrase (commit_string, input_keys) return True elif key.code <= 127: if not self._editor._candidates[0]: commit_string = self._editor.get_all_input_strings () else: self._editor.commit_to_preedit () commit_string = self._editor.get_preedit_strings () # we need to take care of the py_mode here :) py_mode = self._editor._py_mode self._editor.clear () if py_mode: self._refresh_properties () if ascii.ispunct (key.code): self.commit_string ( commit_string + cond_punct_translate(keychar)) else: self.commit_string ( commit_string + cond_letter_translate(keychar)) return True return False # below for initial test def do_focus_in (self): if self._on: self.register_properties (self.properties) self._refresh_properties () self._update_ui () #try: # if self._sm_on: # self._sm.Show () # else: # self._sm.Hide () #except: # pass def do_focus_out (self): #try: # self._sm.Hide() #except: # pass pass def do_enable (self): #try: # self._sm.Reset() #except: # pass self._on = True self.do_focus_in() def do_disable (self): self.reset() #try: # self._sm.Hide() #except: # pass self._on = False def do_page_up (self): if self._editor.page_up (): self._update_ui () return True return False def do_page_down (self): if self._editor.page_down (): self._update_ui () return True return False def config_section_normalize(self, section): # This function replaces _: with - in the dconf # section and converts to lower case to make # the comparison of the dconf sections work correctly. # I avoid using .lower() here because it is locale dependent, # when using .lower() this would not achieve the desired # effect of comparing the dconf sections case insentively # in some locales, it would fail for example if Turkish # locale (tr_TR.UTF-8) is set. if type(section) == type(u''): # translate() does not work in Python’s internal Unicode type section = section.encode('utf-8') return re.sub(r'[_:]', r'-', section).translate( string.maketrans(string.ascii_uppercase, string.ascii_lowercase )) def config_value_changed_cb (self, config, section, name, value): if self.config_section_normalize(self._config_section) != self.config_section_normalize(section): return print "config value %(n)s for engine %(en)s changed" %{'n': name, 'en': self._name} value = variant_to_value(value) if name == u'autoselect': self._editor._auto_select = value self._refresh_properties() return if name == u'autocommit': self._auto_commit = value self._refresh_properties() return elif name == u'chinesemode': self._editor._chinese_mode = value self._refresh_properties() return elif name == u'endeffullwidthletter': self._full_width_letter[0] = value self._refresh_properties() return elif name == u'endeffullwidthpunct': self._full_width_punct[0] = value self._refresh_properties() return elif name == u'lookuptableorientation': self._editor._lookup_table.set_orientation (value) return elif name == u'lookuptableselectkeys': self._editor.set_select_keys (value) return elif name == u'onechar': self._editor._onechar = value self._refresh_properties() return elif name == u'tabdeffullwidthletter': self._full_width_letter[1] = value self._refresh_properties() return elif name == u'tabdeffullwidthpunct': self._full_width_punct[1] = value self._refresh_properties() return # for further implementation :) @classmethod def CONFIG_VALUE_CHANGED(cls, bus, section, name, value): config = bus.get_config() if section != self._config_section: return @classmethod def CONFIG_RELOADED(cls, bus): config = bus.get_config() if section != self._config_section: return ibus-table-1.5.0.20130419/engine/table.xml.in0000644002345600234560000000113312134204702015061 00000000000000 org.freedesktop.IBus.Table Table Component ${libexecdir}/ibus-engine-table --ibus 1.5.0.20130419 Yuwei Yu <acevery@gmail.com> LGPL http://code.google.com/p/ibus ibus-table ${pkgdatadir}/tables/ ibus-table-1.5.0.20130419/engine/Makefile.am0000644002345600234560000000367512133746505014727 00000000000000# vim:set noet ts=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # DOC2MAN = docbook2man SGML = ibus-table-createdb.sgml BUILT_MANS = ibus-table-createdb.1 man_MANS = $(BUILT_MANS) engine_table_PYTHON = \ chinese_variants.py \ factory.py \ main.py \ table.py \ tabcreatedb.py \ tabdict.py \ tabsqlitedb.py \ $(NULL) engine_table_DATA = \ $(NULL) engine_tabledir = $(datadir)/ibus-table/engine bin_SCRIPTS = ibus-table-createdb libexec_SCRIPTS = ibus-engine-table engine_DATA = table.xml enginedir = $(datadir)/ibus/component EXTRA_DIST = \ ibus-table-createdb.in \ ibus-engine-table.in \ table.xml.in \ $(SGML) \ $(BUILT_MANS) \ $(NULL) CLEANFILES = \ *.pyc \ *.pyo \ ibus-engine-table \ ibus-table-createdb \ table.xml \ $(NULL) MAINTAINERCLEANFILES = \ Makefile.in \ $(NULL) ${man_MANS}: ${SGML} $(AM_V_GEN) $(RM) $@; \ $(DOC2MAN) ${SGML}; \ $(RM) manpage.* table.xml: table.xml.in ( \ libexecdir=${libexecdir}; \ pkgdatadir=${pkgdatadir}; \ s=`cat $<`; \ eval "echo \"$${s}\""; \ ) > $@ test: $(ENV) \ IBUS_TABLE_LOCATION=$(abs_top_srcdir) \ DBUS_DEBUG=true \ LANG=en_US \ PYTHONPATH=$(abs_top_srcdir) \ $(PYTHON) $(srcdir)/main.py ibus-table-1.5.0.20130419/engine/ibus-table-createdb.sgml0000644002345600234560000001543012133767621017347 00000000000000 manpage.1'. You may view the manual page with: `docbook-to-man manpage.sgml | nroff -man | less'. A typical entry in a Makefile or Makefile.am is: manpage.1: manpage.sgml docbook-to-man $< > $@ The docbook-to-man binary is found in the docbook-to-man package. Please remember that if you create the nroff version in one of the debian/rules file targets (such as build), you will need to include docbook-to-man in your Build-Depends control field. --> Mike"> FABIAN"> Apr 18, 2013"> 1"> mfabian@redhat.com"> ibus-table-createdb"> Debian"> GNU"> GPL"> ]>
&dhemail;
&dhfirstname; &dhsurname; 2013 &dhusername; &dhdate;
&dhucpackage; &dhsection; &dhpackage; create ibus-table database from table source &dhpackage; DESCRIPTION &dhpackage; creates a database for ibus-table from a source table. OPTIONS This program follows the usual &gnu; command line syntax, with long options starting with two dashes (`-'). A summary of options is included below. database-file specifies the file which will contain the binary database for the IME. The default is ''. source-file specifies the file which contains the source of the IME. The default is ''. extra-words-file specifies the file for the extra words for the IME. The default is ''. pinyin-file specifies the source file for the pinyin. The default is /usr/share/ibus-table/data/pinyin_table.txt.bz2. Do not create an index for for a database (Only for distribution purposes, a normal user should not use this flag!) Only create an index for an existing database. Print extra debug messages. EXAMPLES ibus-table-createdb -n ipa-x-sampa.db -s ipa-x-sampa.txt Create the binary database ipa-x-sampa.db from the source file ipa-x-sampa.txt. ibus-table-createdb -i -n ipa-x-sampa.db Create an index for the database ipa-x-sampa.db. AUTHOR This manual page was written by &dhusername; &dhemail;.
ibus-table-1.5.0.20130419/configure.ac0000644002345600234560000000450112134204671013673 00000000000000# Process this file with autoconf to produce a configure script. # vim:set et ts=4: # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # m4_define([package_name], [ibus-table]) # if not 1, append datestamp to the version number. m4_define([ibus_released], [0]) m4_define([ibus_major_version], [1]) m4_define([ibus_minor_version], [5]) m4_define([ibus_micro_version], [0]) m4_define(ibus_maybe_datestamp, m4_esyscmd([if test ]ibus_released[ != 1; then date +.%Y%m%d | tr -d '\n\r'; fi])) m4_define([ibus_version], ibus_major_version.ibus_minor_version.ibus_micro_version[]ibus_maybe_datestamp) AC_INIT([package_name], [ibus_version], [http://code.google.com/p/ibus/issues/entry], [package_name]) AM_INIT_AUTOMAKE([1.10]) AM_MAINTAINER_MODE # AC_GNU_SOURCE # AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) #check python AM_PATH_PYTHON([2.5]) # check for ibus PKG_CHECK_MODULES([IBUS],[ibus-1.0 >= 1.1.0]) # define GETTEXT_* variables GETTEXT_PACKAGE=ibus-table AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Define to the read-only architecture-independent data directory.]) AM_GNU_GETTEXT([external]) AM_GNU_GETTEXT_VERSION(0.16.1) # OUTPUT files AC_CONFIG_FILES([po/Makefile.in Makefile engine/Makefile engine/ibus-engine-table engine/ibus-table-createdb engine/table.xml.in data/Makefile icons/Makefile tables/Makefile m4/Makefile ibus-table.spec ibus-table.pc] ) AC_OUTPUT AC_MSG_RESULT([ Build options: Version $VERSION Install prefix $prefix ]) ibus-table-1.5.0.20130419/icons/0000755002345600234560000000000012134204702012573 500000000000000ibus-table-1.5.0.20130419/icons/tab-mode.svg0000644002345600234560000001317512024325440014734 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/icons/half-punct.svg0000644002345600234560000002144512024325440015304 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/icons/tcb-mode.svg0000644002345600234560000004262412024325440014737 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/icons/tc-mode.svg0000644002345600234560000003135512024325440014574 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/icons/cb-mode.svg0000644002345600234560000001626512024325440014555 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/icons/full-letter.svg0000644002345600234560000001544612024325440015506 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/icons/Makefile.in0000644002345600234560000005132112134204700014560 00000000000000# Makefile.in generated by automake 1.12.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2012 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # vim:set noet ts=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # VPATH = @srcdir@ am__make_dryrun = \ { \ am__dry=no; \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ *) \ for am__flg in $$MAKEFLAGS; do \ case $$am__flg in \ *=*|--*) ;; \ *n*) am__dry=yes; break;; \ esac; \ done;; \ esac; \ test $$am__dry = yes; \ } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(iconsdir)" DATA = $(icons_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ IBUS_CFLAGS = @IBUS_CFLAGS@ IBUS_LIBS = @IBUS_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = \ $(NULL) icons_DATA = \ ibus-table.svg \ full-letter.svg \ half-letter.svg \ full-punct.svg \ half-punct.svg \ tab-mode.svg \ py-mode.svg \ onechar.svg \ phrase.svg \ chinese.svg \ english.svg \ acommit.svg \ ncommit.svg \ cb-mode.svg \ sc-mode.svg \ tc-mode.svg \ scb-mode.svg \ tcb-mode.svg \ $(NULL) iconsdir = $(pkgdatadir)/icons EXTRA_DIST = \ $(icons_DATA) \ $(NULL) MAINTAINERCLEANFILES = \ Makefile.in \ $(NULL) all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-iconsDATA: $(icons_DATA) @$(NORMAL_INSTALL) @list='$(icons_DATA)'; test -n "$(iconsdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(iconsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(iconsdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(iconsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(iconsdir)" || exit $$?; \ done uninstall-iconsDATA: @$(NORMAL_UNINSTALL) @list='$(icons_DATA)'; test -n "$(iconsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(iconsdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done cscopelist-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(iconsdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-iconsDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-iconsDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \ cscopelist-recursive ctags-recursive install-am install-strip \ tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic cscopelist \ cscopelist-recursive ctags ctags-recursive distclean \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-iconsDATA \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ibus-table-1.5.0.20130419/icons/ncommit.svg0000644002345600234560000001451512024325440014711 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/icons/full-punct.svg0000644002345600234560000002422212024325440015330 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/icons/onechar.svg0000644002345600234560000001601712024325440014661 00000000000000 image/svg+xml 1 ibus-table-1.5.0.20130419/icons/acommit.svg0000644002345600234560000001663112024325440014675 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/icons/ibus-table.svg0000644002345600234560000001126712024325440015273 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/icons/sc-mode.svg0000644002345600234560000002176412024325440014576 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/icons/english.svg0000644002345600234560000002512112024325440014667 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/icons/chinese.svg0000644002345600234560000002047212024325440014660 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/icons/phrase.svg0000644002345600234560000001451212024325440014522 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/icons/py-mode.svg0000644002345600234560000002672612024325440014624 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/icons/Makefile.am0000644002345600234560000000244212044160437014557 00000000000000# vim:set noet ts=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # SUBDIRS = \ $(NULL) icons_DATA = \ ibus-table.svg \ full-letter.svg \ half-letter.svg \ full-punct.svg \ half-punct.svg \ tab-mode.svg \ py-mode.svg \ onechar.svg \ phrase.svg \ chinese.svg \ english.svg \ acommit.svg \ ncommit.svg \ cb-mode.svg \ sc-mode.svg \ tc-mode.svg \ scb-mode.svg \ tcb-mode.svg \ $(NULL) iconsdir = $(pkgdatadir)/icons EXTRA_DIST = \ $(icons_DATA) \ $(NULL) MAINTAINERCLEANFILES = \ Makefile.in \ $(NULL) ibus-table-1.5.0.20130419/icons/scb-mode.svg0000644002345600234560000003026012024325440014727 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/icons/half-letter.svg0000644002345600234560000001036712024325440015453 00000000000000 image/svg+xml ibus-table-1.5.0.20130419/configure0000755002345600234560000065521112134204700013317 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for ibus-table 1.5.0.20130419. # # Report bugs to . # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: http://code.google.com/p/ibus/issues/entry about your $0: system, including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='ibus-table' PACKAGE_TARNAME='ibus-table' PACKAGE_VERSION='1.5.0.20130419' PACKAGE_STRING='ibus-table 1.5.0.20130419' PACKAGE_BUGREPORT='http://code.google.com/p/ibus/issues/entry' PACKAGE_URL='' gt_needs= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS POSUB LTLIBINTL LIBINTL INTLLIBS LTLIBICONV LIBICONV INTL_MACOSX_LIBS host_os host_vendor host_cpu host build_os build_vendor build_cpu build am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC MSGMERGE XGETTEXT_015 XGETTEXT GMSGFMT_015 MSGFMT_015 GMSGFMT MSGFMT USE_NLS GETTEXT_PACKAGE IBUS_LIBS IBUS_CFLAGS PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG pkgpyexecdir pyexecdir pkgpythondir pythondir PYTHON_PLATFORM PYTHON_EXEC_PREFIX PYTHON_PREFIX PYTHON_VERSION PYTHON MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_maintainer_mode enable_nls enable_dependency_tracking with_gnu_ld enable_rpath with_libiconv_prefix with_libintl_prefix ' ac_precious_vars='build_alias host_alias target_alias PYTHON PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR IBUS_CFLAGS IBUS_LIBS CC CFLAGS LDFLAGS LIBS CPPFLAGS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures ibus-table 1.5.0.20130419 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/ibus-table] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of ibus-table 1.5.0.20130419:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer --disable-nls do not use Native Language Support --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --disable-rpath do not hardcode runtime library paths Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir Some influential environment variables: PYTHON the Python interpreter PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path IBUS_CFLAGS C compiler flags for IBUS, overriding pkg-config IBUS_LIBS linker flags for IBUS, overriding pkg-config CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF ibus-table configure 1.5.0.20130419 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by ibus-table $as_me 1.5.0.20130419, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi gt_needs="$gt_needs " # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu am__api_version='1.12' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='ibus-table' VERSION='1.5.0.20130419' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } # Check whether --enable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then : enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 $as_echo "$USE_MAINTAINER_MODE" >&6; } if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi MAINT=$MAINTAINER_MODE_TRUE # AC_GNU_SOURCE # AC_CONFIG_HEADERS([config.h]) #check python if test -n "$PYTHON"; then # If the user set $PYTHON, use it and don't search something else. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 2.5" >&5 $as_echo_n "checking whether $PYTHON version is >= 2.5... " >&6; } prog="import sys # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. # map returns an iterator in Python 3.0 and a list in 2.x minver = list(map(int, '2.5'.split('.'))) + [0, 0, 0] minverhex = 0 # xrange is not present in Python 3.0 and range returns an iterator for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] sys.exit(sys.hexversion < minverhex)" if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5 ($PYTHON -c "$prog") >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "Python interpreter is too old" "$LINENO" 5 fi am_display_PYTHON=$PYTHON else # Otherwise, try each interpreter until we find one that satisfies # VERSION. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 2.5" >&5 $as_echo_n "checking for a Python interpreter with version >= 2.5... " >&6; } if ${am_cv_pathless_PYTHON+:} false; then : $as_echo_n "(cached) " >&6 else for am_cv_pathless_PYTHON in python python2 python3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do test "$am_cv_pathless_PYTHON" = none && break prog="import sys # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. # map returns an iterator in Python 3.0 and a list in 2.x minver = list(map(int, '2.5'.split('.'))) + [0, 0, 0] minverhex = 0 # xrange is not present in Python 3.0 and range returns an iterator for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] sys.exit(sys.hexversion < minverhex)" if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5 ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then : break fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5 $as_echo "$am_cv_pathless_PYTHON" >&6; } # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. if test "$am_cv_pathless_PYTHON" = none; then PYTHON=: else # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args. set dummy $am_cv_pathless_PYTHON; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PYTHON+:} false; then : $as_echo_n "(cached) " >&6 else case $PYTHON in [\\/]* | ?:[\\/]*) ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PYTHON=$ac_cv_path_PYTHON if test -n "$PYTHON"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 $as_echo "$PYTHON" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi am_display_PYTHON=$am_cv_pathless_PYTHON fi if test "$PYTHON" = :; then as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 $as_echo_n "checking for $am_display_PYTHON version... " >&6; } if ${am_cv_python_version+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"` fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 $as_echo "$am_cv_python_version" >&6; } PYTHON_VERSION=$am_cv_python_version PYTHON_PREFIX='${prefix}' PYTHON_EXEC_PREFIX='${exec_prefix}' { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 $as_echo_n "checking for $am_display_PYTHON platform... " >&6; } if ${am_cv_python_platform+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"` fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5 $as_echo "$am_cv_python_platform" >&6; } PYTHON_PLATFORM=$am_cv_python_platform { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5 $as_echo_n "checking for $am_display_PYTHON script directory... " >&6; } if ${am_cv_python_pythondir+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$prefix" = xNONE then am_py_prefix=$ac_default_prefix else am_py_prefix=$prefix fi am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null` case $am_cv_python_pythondir in $am_py_prefix*) am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` ;; *) case $am_py_prefix in /usr|/System*) ;; *) am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages ;; esac ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 $as_echo "$am_cv_python_pythondir" >&6; } pythondir=$am_cv_python_pythondir pkgpythondir=\${pythondir}/$PACKAGE { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5 $as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; } if ${am_cv_python_pyexecdir+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$exec_prefix" = xNONE then am_py_exec_prefix=$am_py_prefix else am_py_exec_prefix=$exec_prefix fi am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null` case $am_cv_python_pyexecdir in $am_py_exec_prefix*) am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` ;; *) case $am_py_exec_prefix in /usr|/System*) ;; *) am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages ;; esac ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 $as_echo "$am_cv_python_pyexecdir" >&6; } pyexecdir=$am_cv_python_pyexecdir pkgpyexecdir=\${pyexecdir}/$PACKAGE fi # check for ibus if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IBUS" >&5 $as_echo_n "checking for IBUS... " >&6; } if test -n "$IBUS_CFLAGS"; then pkg_cv_IBUS_CFLAGS="$IBUS_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ibus-1.0 >= 1.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "ibus-1.0 >= 1.1.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_IBUS_CFLAGS=`$PKG_CONFIG --cflags "ibus-1.0 >= 1.1.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$IBUS_LIBS"; then pkg_cv_IBUS_LIBS="$IBUS_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ibus-1.0 >= 1.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "ibus-1.0 >= 1.1.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_IBUS_LIBS=`$PKG_CONFIG --libs "ibus-1.0 >= 1.1.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then IBUS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "ibus-1.0 >= 1.1.0" 2>&1` else IBUS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "ibus-1.0 >= 1.1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$IBUS_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (ibus-1.0 >= 1.1.0) were not met: $IBUS_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables IBUS_CFLAGS and IBUS_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables IBUS_CFLAGS and IBUS_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else IBUS_CFLAGS=$pkg_cv_IBUS_CFLAGS IBUS_LIBS=$pkg_cv_IBUS_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi # define GETTEXT_* variables GETTEXT_PACKAGE=ibus-table cat >>confdefs.h <<_ACEOF #define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" _ACEOF mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f messages.po case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGMERGE+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$localedir" || localedir='${datadir}/locale' ac_config_commands="$ac_config_commands po-directories" if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 $as_echo_n "checking for ld used by GCC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${acl_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_cv_path_LD" if test -n "$LD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${acl_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 &5 $as_echo "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 $as_echo_n "checking for shared library run path origin... " >&6; } if ${acl_cv_rpath+:} false; then : $as_echo_n "(cached) " >&6 else CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 $as_echo "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" libext="$acl_cv_libext" shlibext="$acl_cv_shlibext" hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then : enableval=$enable_rpath; : else enable_rpath=yes fi acl_libdirstem=lib searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. if test "${with_libiconv_prefix+set}" = set; then : withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBICONV= LTLIBICONV= INCICONV= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" \ && { test -f "$additional_libdir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then found_dir="$additional_libdir" if test -f "$additional_libdir/lib$name.$shlibext"; then found_so="$additional_libdir/lib$name.$shlibext" else found_so="$additional_libdir/lib$name.dll.a" fi if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" \ && { test -f "$dir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$dir/lib$name.dll.a"; }; }; then found_dir="$dir" if test -f "$dir/lib$name.$shlibext"; then found_so="$dir/lib$name.$shlibext" else found_so="$dir/lib$name.dll.a" fi if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFPreferencesCopyAppValue=yes else gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then $as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 $as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFLocaleCopyCurrent=yes else gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi LIBINTL= LTLIBINTL= POSUB= case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 $as_echo_n "checking for GNU gettext in libc... " >&6; } if eval \${$gt_func_gnugettext_libc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libc=yes" else eval "$gt_func_gnugettext_libc=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$gt_func_gnugettext_libc { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } if ${am_cv_func_iconv+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then $as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix was given. if test "${with_libintl_prefix+set}" = set; then : withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBINTL= LTLIBINTL= INCINTL= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" \ && { test -f "$additional_libdir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then found_dir="$additional_libdir" if test -f "$additional_libdir/lib$name.$shlibext"; then found_so="$additional_libdir/lib$name.$shlibext" else found_so="$additional_libdir/lib$name.dll.a" fi if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" \ && { test -f "$dir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$dir/lib$name.dll.a"; }; }; then found_dir="$dir" if test -f "$dir/lib$name.$shlibext"; then found_so="$dir/lib$name.$shlibext" else found_so="$dir/lib$name.dll.a" fi if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 $as_echo_n "checking for GNU gettext in libintl... " >&6; } if eval \${$gt_func_gnugettext_libintl+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libintl=yes" else eval "$gt_func_gnugettext_libintl=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi eval ac_res=\$$gt_func_gnugettext_libintl { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then $as_echo "#define ENABLE_NLS 1" >>confdefs.h else USE_NLS=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 $as_echo_n "checking whether to use NLS... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 $as_echo_n "checking where the gettext function comes from... " >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 $as_echo "$gt_source" >&6; } fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 $as_echo_n "checking how to link with libintl... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 $as_echo "$LIBINTL" >&6; } for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h $as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h fi POSUB=po fi INTLLIBS="$LIBINTL" # OUTPUT files ac_config_files="$ac_config_files po/Makefile.in Makefile engine/Makefile engine/ibus-engine-table engine/ibus-table-createdb engine/table.xml.in data/Makefile icons/Makefile tables/Makefile m4/Makefile ibus-table.spec ibus-table.pc" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. ac_script=' :mline /\\$/{ N s,\\\n,, b mline } t clear :clear s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote b any :quote s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g s/\[/\\&/g s/\]/\\&/g s/\$/$$/g H :any ${ g s/^\n// s/\n/ /g p } ' DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 $as_echo_n "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 $as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by ibus-table $as_me 1.5.0.20130419, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ ibus-table config.status 1.5.0.20130419 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "engine/Makefile") CONFIG_FILES="$CONFIG_FILES engine/Makefile" ;; "engine/ibus-engine-table") CONFIG_FILES="$CONFIG_FILES engine/ibus-engine-table" ;; "engine/ibus-table-createdb") CONFIG_FILES="$CONFIG_FILES engine/ibus-table-createdb" ;; "engine/table.xml.in") CONFIG_FILES="$CONFIG_FILES engine/table.xml.in" ;; "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;; "icons/Makefile") CONFIG_FILES="$CONFIG_FILES icons/Makefile" ;; "tables/Makefile") CONFIG_FILES="$CONFIG_FILES tables/Makefile" ;; "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;; "ibus-table.spec") CONFIG_FILES="$CONFIG_FILES ibus-table.spec" ;; "ibus-table.pc") CONFIG_FILES="$CONFIG_FILES ibus-table.pc" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "po-directories":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: Build options: Version $VERSION Install prefix $prefix " >&5 $as_echo " Build options: Version $VERSION Install prefix $prefix " >&6; } ibus-table-1.5.0.20130419/aclocal.m40000644002345600234560000015163412134204677013265 00000000000000# generated automatically by aclocal 1.12.2 -*- Autoconf -*- # Copyright (C) 1996-2012 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, [m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) # only at the first occurence in configure.ac, so if the first place # it's called might be skipped (such as if it is within an "if", you # have to call PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])[]dnl ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])# PKG_CHECK_MODULES # PKG_INSTALLDIR(DIRECTORY) # ------------------------- # Substitutes the variable pkgconfigdir as the location where a module # should install pkg-config .pc files. By default the directory is # $libdir/pkgconfig, but the default can be changed by passing # DIRECTORY. The user can override through the --with-pkgconfigdir # parameter. AC_DEFUN([PKG_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([pkgconfigdir], [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, [with_pkgconfigdir=]pkg_default) AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ]) dnl PKG_INSTALLDIR # PKG_NOARCH_INSTALLDIR(DIRECTORY) # ------------------------- # Substitutes the variable noarch_pkgconfigdir as the location where a # module should install arch-independent pkg-config .pc files. By # default the directory is $datadir/pkgconfig, but the default can be # changed by passing DIRECTORY. The user can override through the # --with-noarch-pkgconfigdir parameter. AC_DEFUN([PKG_NOARCH_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([noarch-pkgconfigdir], [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, [with_noarch_pkgconfigdir=]pkg_default) AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ]) dnl PKG_NOARCH_INSTALLDIR # Copyright (C) 2002-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.12' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.12.2], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.12.2])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to # '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 10 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 17 # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], [$1], [CXX], [depcc="$CXX" am_compiler_list=], [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], [$1], [UPC], [depcc="$UPC" am_compiler_list=], [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl AS_HELP_STRING( [--enable-dependency-tracking], [do not reject slow dependency extractors]) AS_HELP_STRING( [--disable-dependency-tracking], [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 6 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each '.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 19 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.62])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [AC_DIAGNOSE([obsolete], [$0: two- and three-arguments forms are deprecated. For more info, see: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation]) m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) AM_MISSING_PROG([AUTOCONF], [autoconf]) AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) AM_MISSING_PROG([AUTOHEADER], [autoheader]) AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], [m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES([CXX])], [m4_define([AC_PROG_CXX], m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES([OBJC])], [m4_define([AC_PROG_OBJC], m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl dnl Support for Objective C++ was only introduced in Autoconf 2.65, dnl but we still cater to Autoconf 2.62. m4_ifdef([AC_PROG_OBJCXX], [AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])dnl ]) _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST([install_sh])]) # Copyright (C) 2003-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering # Copyright (C) 1996-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 7 # AM_MAINTAINER_MODE([DEFAULT-MODE]) # ---------------------------------- # Control maintainer-specific portions of Makefiles. # Default is to disable them, unless 'enable' is passed literally. # For symmetry, 'disable' may be passed as well. Anyway, the user # can override the default with the --enable/--disable switch. AC_DEFUN([AM_MAINTAINER_MODE], [m4_case(m4_default([$1], [disable]), [enable], [m4_define([am_maintainer_other], [disable])], [disable], [m4_define([am_maintainer_other], [enable])], [m4_define([am_maintainer_other], [enable]) m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode's default is 'disable' unless 'enable' is passed AC_ARG_ENABLE([maintainer-mode], [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], am_maintainer_other[ make rules and dependencies not useful (and sometimes confusing) to the casual installer])], [USE_MAINTAINER_MODE=$enableval], [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) AC_MSG_RESULT([$USE_MAINTAINER_MODE]) AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) MAINT=$MAINTAINER_MODE_TRUE AC_SUBST([MAINT])dnl ] ) AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 7 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # Copyright (C) 2003-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # AM_PROG_MKDIR_P # --------------- # Check for 'mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl FIXME to be removed in Automake 1.13. AC_DIAGNOSE([obsolete], [$0: this macro is deprecated, and will soon be removed. You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead, and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.]) dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 6 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 1999-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # --------------------------------------------------------------------------- # Adds support for distributing Python modules and packages. To # install modules, copy them to $(pythondir), using the python_PYTHON # automake variable. To install a package with the same name as the # automake package, install to $(pkgpythondir), or use the # pkgpython_PYTHON automake variable. # # The variables $(pyexecdir) and $(pkgpyexecdir) are provided as # locations to install python extension modules (shared libraries). # Another macro is required to find the appropriate flags to compile # extension modules. # # If your package is configured with a different prefix to python, # users will have to add the install directory to the PYTHONPATH # environment variable, or create a .pth file (see the python # documentation for details). # # If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will # cause an error if the version of python installed on the system # doesn't meet the requirement. MINIMUM-VERSION should consist of # numbers and dots only. AC_DEFUN([AM_PATH_PYTHON], [ dnl Find a Python interpreter. Python versions prior to 2.0 are not dnl supported. (2.0 was released on October 16, 2000). m4_define_default([_AM_PYTHON_INTERPRETER_LIST], [python python2 python3 python3.2 python3.1 python3.0 python2.7 dnl python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0]) AC_ARG_VAR([PYTHON], [the Python interpreter]) m4_if([$1],[],[ dnl No version check is needed. # Find any Python interpreter. if test -z "$PYTHON"; then AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :) fi am_display_PYTHON=python ], [ dnl A version check is needed. if test -n "$PYTHON"; then # If the user set $PYTHON, use it and don't search something else. AC_MSG_CHECKING([whether $PYTHON version is >= $1]) AM_PYTHON_CHECK_VERSION([$PYTHON], [$1], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) AC_MSG_ERROR([Python interpreter is too old])]) am_display_PYTHON=$PYTHON else # Otherwise, try each interpreter until we find one that satisfies # VERSION. AC_CACHE_CHECK([for a Python interpreter with version >= $1], [am_cv_pathless_PYTHON],[ for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do test "$am_cv_pathless_PYTHON" = none && break AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break]) done]) # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. if test "$am_cv_pathless_PYTHON" = none; then PYTHON=: else AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON]) fi am_display_PYTHON=$am_cv_pathless_PYTHON fi ]) if test "$PYTHON" = :; then dnl Run any user-specified action, or abort. m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])]) else dnl Query Python for its version number. Getting [:3] seems to be dnl the best way to do this; it's what "site.py" does in the standard dnl library. AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version], [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`]) AC_SUBST([PYTHON_VERSION], [$am_cv_python_version]) dnl Use the values of $prefix and $exec_prefix for the corresponding dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made dnl distinct variables so they can be overridden if need be. However, dnl general consensus is that you shouldn't need this ability. AC_SUBST([PYTHON_PREFIX], ['${prefix}']) AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}']) dnl At times (like when building shared libraries) you may want dnl to know which OS platform Python thinks this is. AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform], [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`]) AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform]) dnl Set up 4 directories: dnl pythondir -- where to install python scripts. This is the dnl site-packages directory, not the python standard library dnl directory like in previous automake betas. This behavior dnl is more consistent with lispdir.m4 for example. dnl Query distutils for this directory. AC_CACHE_CHECK([for $am_display_PYTHON script directory], [am_cv_python_pythondir], [if test "x$prefix" = xNONE then am_py_prefix=$ac_default_prefix else am_py_prefix=$prefix fi am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null` case $am_cv_python_pythondir in $am_py_prefix*) am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` ;; *) case $am_py_prefix in /usr|/System*) ;; *) am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages ;; esac ;; esac ]) AC_SUBST([pythondir], [$am_cv_python_pythondir]) dnl pkgpythondir -- $PACKAGE directory under pythondir. Was dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is dnl more consistent with the rest of automake. AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE]) dnl pyexecdir -- directory for installing python extension modules dnl (shared libraries) dnl Query distutils for this directory. AC_CACHE_CHECK([for $am_display_PYTHON extension module directory], [am_cv_python_pyexecdir], [if test "x$exec_prefix" = xNONE then am_py_exec_prefix=$am_py_prefix else am_py_exec_prefix=$exec_prefix fi am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null` case $am_cv_python_pyexecdir in $am_py_exec_prefix*) am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` ;; *) case $am_py_exec_prefix in /usr|/System*) ;; *) am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages ;; esac ;; esac ]) AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir]) dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE) AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE]) dnl Run any user-specified action. $2 fi ]) # AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) # --------------------------------------------------------------------------- # Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION. # Run ACTION-IF-FALSE otherwise. # This test uses sys.hexversion instead of the string equivalent (first # word of sys.version), in order to cope with versions such as 2.2c1. # This supports Python 2.0 or higher. (2.0 was released on October 16, 2000). AC_DEFUN([AM_PYTHON_CHECK_VERSION], [prog="import sys # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. # map returns an iterator in Python 3.0 and a list in 2.x minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]] minverhex = 0 # xrange is not present in Python 3.0 and range returns an iterator for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] sys.exit(sys.hexversion < minverhex)" AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) # Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi if test "$[2]" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT([yes]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi AC_CONFIG_COMMANDS_PRE( [AC_MSG_CHECKING([that generated files are newer than configure]) if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi AC_MSG_RESULT([done])]) rm -f conftest.file ]) # Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of '-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/gettext.m4]) m4_include([m4/iconv.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) m4_include([m4/nls.m4]) m4_include([m4/po.m4]) m4_include([m4/progtest.m4]) ibus-table-1.5.0.20130419/install-sh0000755002345600234560000003325512134204560013416 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2011-11-20.07; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: ibus-table-1.5.0.20130419/ibus-table.spec0000644002345600234560000000511312134204702014303 00000000000000Name: ibus-table Version: 1.5.0.20130419 Release: 1%{?dist} Summary: The Table engine for IBus platform License: LGPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: gettext-devel Requires: ibus %description The package contains general Table engine for IBus platform. %package additional Summary: Additional tables for general table engine of IBus. Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description additional This package contains additional tables. %prep %setup -q %build %configure \ --disable-static \ --enable-additional make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT make DESTDIR=${RPM_BUILD_ROOT} NO_INDEX=true install %find_lang %{name} %clean rm -rf $RPM_BUILD_ROOT %post additional ibus-table-createdb -i -n %{_datadir}/ibus-table/tables/additional/compose.db ibus-table-createdb -i -n %{_datadir}/ibus-table/tables/additional/latex.db %files -f %{name}.lang %defattr(-,root,root,-) %doc AUTHORS COPYING README %{_libdir}/pkgconfig/ibus-table.pc %{_datadir}/ibus-table/engine %{_datadir}/ibus-table/data %{_datadir}/ibus-table/tables/template.txt %dir %{_datadir}/ibus-table/tables %{_datadir}/ibus-table/icons/ibus-table.svg %{_datadir}/ibus-table/icons/full-letter.svg %{_datadir}/ibus-table/icons/full-punct.svg %{_datadir}/ibus-table/icons/half-letter.svg %{_datadir}/ibus-table/icons/half-punct.svg %{_datadir}/ibus-table/icons/onechar.svg %{_datadir}/ibus-table/icons/phrase.svg %{_datadir}/ibus-table/icons/py-mode.svg %{_datadir}/ibus-table/icons/tab-mode.svg %{_datadir}/ibus-table/icons/chinese.svg %{_datadir}/ibus-table/icons/dcommit.svg %{_datadir}/ibus-table/icons/english.svg %{_datadir}/ibus-table/icons/ncommit.svg %{_datadir}/ibus-table/icons/cb-mode.svg %{_datadir}/ibus-table/icons/sc-mode.svg %{_datadir}/ibus-table/icons/scb-mode.svg %{_datadir}/ibus-table/icons/tc-mode.svg %{_datadir}/ibus-table/icons/tcb-mode.svg %dir %{_datadir}/ibus-table/icons %{_bindir}/ibus-engine-table %{_bindir}/ibus-table-createdb %files additional %defattr(-,root,root,-) %{_datadir}/ibus-table/tables/compose.db %{_datadir}/ibus-table/tables/latex.db %{_datadir}/ibus-table/icons/compose.svg %{_datadir}/ibus-table/icons/latex.svg %{_datadir}/ibus/engine/compose.engine %{_datadir}/ibus/engine/latex.engine %changelog * Wed Aug 19 2008 Yu Yuwei - 1.5.0.20130419-1 - The first version. ibus-table-1.5.0.20130419/tables/0000755002345600234560000000000012134204703012733 500000000000000ibus-table-1.5.0.20130419/tables/template.txt0000644002345600234560000001105512110122567015232 00000000000000### File header must not be modified ### This file must be encoded into UTF-8. ### This table under LGPL ### comments start with ### not single # ### Derive from the format of SCIM Table, so you can modify the table from ### scim-tables' table SCIM_Generic_Table_Phrase_Library_TEXT VERSION_1_0 ### Begin Table definition. BEGIN_DEFINITION ### License LICENSE = LGPL ### An unique id to distinguish this table among others. ### Use uuidgen to generate this kind of id. UUID = c9851827-0abe-12ed-8db5-010b9d51ffed ### A unique number indicates the version of this file. ### For example the last modified date of this file. ### This number must be less than 2^32. ### Just make your table version-able SERIAL_NUMBER = 20090218 ### ICON can be any format as long as your pygtk can recognized ### the most widely ones are "png" and "svg", letter one is recommended ICON = ibus-table.svg ### The default name of this table, this is needed NAME = Table ### The local names of this table, this is optional NAME.zh_CN = 形码 NAME.zh_HK = 形碼 NAME.zh_TW = 形碼 ### Description DESCRIPTION = This is a template engine table for IBus Table. ### Supported languages of this table ### sigle "zh_CN" just be recognized as zh_CN, ### but "zh_CN, zh_HK" or more zh_XX will be recognized as zh; ### and "en_US, zh_CN" will be just ignored. LANGUAGES = zh_CN,zh_SG,zh_TW,zh_HK ### The author of this table AUTHOR = Yu Yuwei ### Prompt string to be displayed in the status area, CN will be replaced by ### the gettext tools in runtime as 中. STATUS_PROMPT = CN ### Valid input chars. VALID_INPUT_CHARS = abcdefghijklmnopqrstuvwxyz ### Layout LAYOUT = us ### The max number of input keys for every phrase or character. MAX_KEY_LENGTH = 4 ### Use auto_commit mode as default AUTO_COMMIT = FALSE ### Automatically selects the first phrase when typing AUTO_SELECT = FALSE ### Use full width punctuation by default DEF_FULL_WIDTH_PUNCT = TRUE ### Not use full width letter by default DEF_FULL_WIDTH_LETTER = FALSE ### Whether user are allow to define phrase, default is true ### You have to define the word construction rules below. ### For input methods which do not input phrases, set this to False USER_CAN_DEFINE_PHRASE = TRUE ### Whether support PinYin Mode, default is true. ### this feature is just for Chinese, set it to False if your IM is not ### Chinese. PINYIN_MODE = TRUE ### If true then the phrases' frequencies will be adjusted dynamically ### according your using frequency. DYNAMIC_ADJUST = TRUE ### Some characters whose frequencies should be fix all the time, e.g. ### some punctuations ### NO_CHECK_CHARS = ### Rules for constructing user defined phrase ### "ce" stands for "ci equal", a Chinese English :), means "phrase length ### equal to", thus ce2 -> phrase length equal to 2; and "ca" means "phrase ### length equal or above", so ca4 -> phrase length equal or above 4. ### p21 -> the 1st key of 2nd character in the phrase, and so on. ### Each rule separate via ";". ### Example below is a complete rule-set, ### becuase [2,2] ∩ [3,3] ∩ [4,+∞] = [2,+∞], which is the range of length ### of phrase. This have to be satisfied if you need ibus-table to build up ### your own inputed phrase via your daily using. RULES = ce2:p11+p12+p21+p22;ce3:p11+p21+p22+p31;ca4:p11+p21+p31+p41 ### The key strokes to page up the lookup table. ### PAGE_UP_KEYS = Page_Up,KP_Page_Up,minus,comma ### The key strokes to page down. ### PAGE_DOWN_KEYS = Page_Down,KP_Page_Down,equal,period END_DEFINITION ### Begin Table data. ### Format of every line whose formated in "input_keys\tphrase\tfreq\n" is an ### entry. ### From left to right, the 1st column are the input key combination that you ### entered via keyboard; the 2nd column are presented character or phrase of ### the key combination you want; the 3rd column are frequency of the character ### or phrase. BEGIN_TABLE input_keys aim_chars freq input_keys aim_chars freq input_keys aim_chars freq END_TABlE ### Since some input methods use different table for every character to make ### phrase, such as ZhengMa, they need explict define the goucima (the ### phrase-building code for the given character), the format of every entry is ### "character\tgoucima\n". ### For the input method which just use the full code as word-building code ### just skip this field. The ibus-table will build the codes needed from ### above TABLE. ### if you don't need different word-building code, please comment out the ### next few lines with ###, just like these lines you are look at now. BEGIN_GOUCI character_1 goucima_1 character_1 goucima_2 END_GOUCI ibus-table-1.5.0.20130419/tables/Makefile.in0000644002345600234560000005117312134204700014724 00000000000000# Makefile.in generated by automake 1.12.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2012 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # vim:set noet ts=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # $Id: $ # VPATH = @srcdir@ am__make_dryrun = \ { \ am__dry=no; \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ *) \ for am__flg in $$MAKEFLAGS; do \ case $$am__flg in \ *=*|--*) ;; \ *n*) am__dry=yes; break;; \ esac; \ done;; \ esac; \ test $$am__dry = yes; \ } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = tables DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(templatedir)" DATA = $(template_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ IBUS_CFLAGS = @IBUS_CFLAGS@ IBUS_LIBS = @IBUS_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = \ $(NULL) template_DATA = \ template.txt \ $(NULL) templatedir = $(datadir)/ibus-table/tables EXTRA_DIST = \ template.txt \ $(NULL) MAINTAINERCLEANFILES = \ Makefile.in \ $(NULL) all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tables/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tables/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-templateDATA: $(template_DATA) @$(NORMAL_INSTALL) @list='$(template_DATA)'; test -n "$(templatedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(templatedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(templatedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(templatedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(templatedir)" || exit $$?; \ done uninstall-templateDATA: @$(NORMAL_UNINSTALL) @list='$(template_DATA)'; test -n "$(templatedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(templatedir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done cscopelist-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(templatedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-data-local install-templateDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-templateDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \ cscopelist-recursive ctags-recursive install-am install-strip \ tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic cscopelist \ cscopelist-recursive ctags ctags-recursive distclean \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-data-local install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ install-templateDATA installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ tags-recursive uninstall uninstall-am uninstall-templateDATA install-data-local: $(MKDIR_P) $(DESTDIR)$(pkgdatadir)/tables # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ibus-table-1.5.0.20130419/tables/Makefile.am0000644002345600234560000000215212044160437014714 00000000000000# vim:set noet ts=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # $Id: $ # SUBDIRS = \ $(NULL) template_DATA = \ template.txt \ $(NULL) templatedir = $(datadir)/ibus-table/tables EXTRA_DIST = \ template.txt \ $(NULL) MAINTAINERCLEANFILES = \ Makefile.in \ $(NULL) install-data-local: $(MKDIR_P) $(DESTDIR)$(pkgdatadir)/tables ibus-table-1.5.0.20130419/NEWS0000644002345600234560000000160112024325440012076 00000000000000June 2, 2009: add auto_commit key into tabsqlitedb; only check phrase length during auto_commit mode in Chinese IME; rename dcommit.svg -> acommit.svg. May 26, 2009: merge from kaio.git -- add zh_TW.po, zh_HK.po; remove unused module in engine/table.py May 1, 2009: allow the create_engine to fail, so that ibus won't hang due to ibus-table failure. Apr 30, 2009: add sigterm handler to sync userdb Apr 29, 2009: redirect stdout,stderr to debug.log; readd arrow_up, arrow_down for candidates selection. Apr 24, 2009: remove id colomun from user_db.desc. Apr 22, 2009: add id key in db to allow better phrase ordering. ##################################################################### # Users need to regenerate the .db files. by recompile ibus-table-* # ##################################################################### ibus-table-1.5.0.20130419/ibus-table.spec.in0000644002345600234560000000511512024325440014713 00000000000000Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ Release: 1%{?dist} Summary: The Table engine for IBus platform License: LGPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: gettext-devel Requires: ibus %description The package contains general Table engine for IBus platform. %package additional Summary: Additional tables for general table engine of IBus. Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description additional This package contains additional tables. %prep %setup -q %build %configure \ --disable-static \ --enable-additional make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT make DESTDIR=${RPM_BUILD_ROOT} NO_INDEX=true install %find_lang %{name} %clean rm -rf $RPM_BUILD_ROOT %post additional ibus-table-createdb -i -n %{_datadir}/ibus-table/tables/additional/compose.db ibus-table-createdb -i -n %{_datadir}/ibus-table/tables/additional/latex.db %files -f %{name}.lang %defattr(-,root,root,-) %doc AUTHORS COPYING README %{_libdir}/pkgconfig/ibus-table.pc %{_datadir}/ibus-table/engine %{_datadir}/ibus-table/data %{_datadir}/ibus-table/tables/template.txt %dir %{_datadir}/ibus-table/tables %{_datadir}/ibus-table/icons/ibus-table.svg %{_datadir}/ibus-table/icons/full-letter.svg %{_datadir}/ibus-table/icons/full-punct.svg %{_datadir}/ibus-table/icons/half-letter.svg %{_datadir}/ibus-table/icons/half-punct.svg %{_datadir}/ibus-table/icons/onechar.svg %{_datadir}/ibus-table/icons/phrase.svg %{_datadir}/ibus-table/icons/py-mode.svg %{_datadir}/ibus-table/icons/tab-mode.svg %{_datadir}/ibus-table/icons/chinese.svg %{_datadir}/ibus-table/icons/dcommit.svg %{_datadir}/ibus-table/icons/english.svg %{_datadir}/ibus-table/icons/ncommit.svg %{_datadir}/ibus-table/icons/cb-mode.svg %{_datadir}/ibus-table/icons/sc-mode.svg %{_datadir}/ibus-table/icons/scb-mode.svg %{_datadir}/ibus-table/icons/tc-mode.svg %{_datadir}/ibus-table/icons/tcb-mode.svg %dir %{_datadir}/ibus-table/icons %{_bindir}/ibus-engine-table %{_bindir}/ibus-table-createdb %files additional %defattr(-,root,root,-) %{_datadir}/ibus-table/tables/compose.db %{_datadir}/ibus-table/tables/latex.db %{_datadir}/ibus-table/icons/compose.svg %{_datadir}/ibus-table/icons/latex.svg %{_datadir}/ibus/engine/compose.engine %{_datadir}/ibus/engine/latex.engine %changelog * Wed Aug 19 2008 Yu Yuwei - @VERSION@-1 - The first version. ibus-table-1.5.0.20130419/config.guess0000755002345600234560000012743212134204560013733 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, # 2011, 2012 Free Software Foundation, Inc. timestamp='2012-06-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner. Please send patches (context # diff format) to and include a ChangeLog # entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo ${UNAME_MACHINE}-unknown-linux-gnueabi else echo ${UNAME_MACHINE}-unknown-linux-gnueabihf fi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; hexagon:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; tile*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then UNAME_PROCESSOR="x86_64" fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: ibus-table-1.5.0.20130419/m4/0000755002345600234560000000000012134204703012001 500000000000000ibus-table-1.5.0.20130419/m4/as-version.m40000644002345600234560000000377012024325441014261 00000000000000dnl as-version.m4 0.2.0 dnl autostars m4 macro for versioning dnl Thomas Vander Stichele dnl $Id: as-version.m4,v 1.4 2004/06/01 09:40:05 thomasvs Exp $ dnl AS_VERSION dnl example dnl AS_VERSION dnl this macro dnl - AC_SUBST's PACKAGE_VERSION_MAJOR, _MINOR, _MICRO dnl - AC_SUBST's PACKAGE_VERSION_RELEASE, dnl which can be used for rpm release fields dnl - doesn't call AM_INIT_AUTOMAKE anymore because it prevents dnl maintainer mode from running correctly dnl dnl don't forget to put #undef PACKAGE_VERSION_RELEASE in acconfig.h dnl if you use acconfig.h AC_DEFUN([AS_VERSION], [ PACKAGE_VERSION_MAJOR=$(echo AC_PACKAGE_VERSION | cut -d'.' -f1) PACKAGE_VERSION_MINOR=$(echo AC_PACKAGE_VERSION | cut -d'.' -f2) PACKAGE_VERSION_MICRO=$(echo AC_PACKAGE_VERSION | cut -d'.' -f3) AC_SUBST(PACKAGE_VERSION_MAJOR) AC_SUBST(PACKAGE_VERSION_MINOR) AC_SUBST(PACKAGE_VERSION_MICRO) ]) dnl AS_NANO(ACTION-IF-NO-NANO, [ACTION-IF-NANO]) dnl requires AC_INIT to be called before dnl For projects using a fourth or nano number in your versioning to indicate dnl development or prerelease snapshots, this macro allows the build to be dnl set up differently accordingly. dnl this macro: dnl - parses AC_PACKAGE_VERSION, set by AC_INIT, and extracts the nano number dnl - sets the variable PACKAGE_VERSION_NANO dnl - sets the variable PACKAGE_VERSION_RELEASE, which can be used dnl for rpm release fields dnl - executes ACTION-IF-NO-NANO or ACTION-IF-NANO dnl example: dnl AS_NANO(RELEASE="yes", RELEASE="no") AC_DEFUN([AS_NANO], [ AC_MSG_CHECKING(nano version) NANO=$(echo AC_PACKAGE_VERSION | cut -d'.' -f4) if test x"$NANO" = x || test "x$NANO" = "x0" ; then AC_MSG_RESULT([0 (release)]) NANO=0 PACKAGE_VERSION_RELEASE=1 ifelse([$1], , :, [$1]) else AC_MSG_RESULT($NANO) PACKAGE_VERSION_RELEASE=0.`date +%Y%m%d.%H%M%S` ifelse([$2], , :, [$2]) fi PACKAGE_VERSION_NANO=$NANO AC_SUBST(PACKAGE_VERSION_NANO) AC_SUBST(PACKAGE_VERSION_RELEASE) ]) ibus-table-1.5.0.20130419/m4/Makefile.in0000644002345600234560000002645112134204700013773 00000000000000# Makefile.in generated by automake 1.12.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2012 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # vim:set noet ts=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # VPATH = @srcdir@ am__make_dryrun = \ { \ am__dry=no; \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ *) \ for am__flg in $$MAKEFLAGS; do \ case $$am__flg in \ *=*|--*) ;; \ *n*) am__dry=yes; break;; \ esac; \ done;; \ esac; \ test $$am__dry = yes; \ } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = m4 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ IBUS_CFLAGS = @IBUS_CFLAGS@ IBUS_LIBS = @IBUS_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ as-version.m4 \ $(NULL) MAINTAINERCLEANFILES = \ Makefile.in \ $(NULL) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu m4/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu m4/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tags: TAGS TAGS: ctags: CTAGS CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ibus-table-1.5.0.20130419/m4/lib-link.m40000644002345600234560000006424412134204557013705 00000000000000# lib-link.m4 serial 9 (gettext-0.16) dnl Copyright (C) 2001-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ(2.50) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes undefine([Name]) undefine([NAME]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. If found, it dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. AC_LIB_LINKFLAGS_BODY([$1], [$2]) dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, dnl because if the user has installed lib[]Name and not disabled its use dnl via --without-lib[]Name-prefix, he wants to use it. ac_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" LIBS="$LIBS $LIB[]NAME" AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) undefine([Name]) undefine([NAME]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, dnl hardcode_direct, hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ dnl Tell automake >= 1.10 to complain if config.rpath is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" libext="$acl_cv_libext" shlibext="$acl_cv_shlibext" hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE(rpath, [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib$1-prefix], [ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib --without-lib$1-prefix don't search for lib$1 in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" \ && { test -f "$additional_libdir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then found_dir="$additional_libdir" if test -f "$additional_libdir/lib$name.$shlibext"; then found_so="$additional_libdir/lib$name.$shlibext" else found_so="$additional_libdir/lib$name.dll.a" fi if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" \ && { test -f "$dir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$dir/lib$name.dll.a"; }; }; then found_dir="$dir" if test -f "$dir/lib$name.$shlibext"; then found_so="$dir/lib$name.$shlibext" else found_so="$dir/lib$name.dll.a" fi if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) dnl For those cases where a variable contains several -L and -l options dnl referring to unknown libraries and directories, this macro determines the dnl necessary additional linker options for the runtime path. dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) dnl sets LDADDVAR to linker options needed together with LIBSVALUE. dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, dnl otherwise linking without libtool is assumed. AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], [ AC_REQUIRE([AC_LIB_RPATH]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) $1= if test "$enable_rpath" != no; then if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then dnl Use an explicit option to hardcode directories into the resulting dnl binary. rpathdirs= next= for opt in $2; do if test -n "$next"; then dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem"; then rpathdirs="$rpathdirs $dir" fi next= else case $opt in -L) next=yes ;; -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem"; then rpathdirs="$rpathdirs $dir" fi next= ;; *) next= ;; esac fi done if test "X$rpathdirs" != "X"; then if test -n ""$3""; then dnl libtool is used for linking. Use -R options. for dir in $rpathdirs; do $1="${$1}${$1:+ }-R$dir" done else dnl The linker is used for linking directly. if test -n "$hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user dnl must pass all path elements in one option. alldirs= for dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="$flag" else dnl The -rpath options are cumulative. for dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="${$1}${$1:+ }$flag" done fi fi fi fi fi AC_SUBST([$1]) ]) ibus-table-1.5.0.20130419/m4/lib-prefix.m40000644002345600234560000001503612134204557014240 00000000000000# lib-prefix.m4 serial 5 (gettext-0.15) dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't dnl require excessive bracketing. ifdef([AC_HELP_STRING], [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed dnl with the same --prefix option. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate dnl libraries, but is otherwise very convenient. AC_DEFUN([AC_LIB_PREFIX], [ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib-prefix], [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi ]) dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, dnl acl_final_exec_prefix, containing the values to which $prefix and dnl $exec_prefix will expand at the end of the configure script. AC_DEFUN([AC_LIB_PREPARE_PREFIX], [ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ]) dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the dnl variables prefix and exec_prefix bound to the values they will have dnl at the end of the configure script. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" ]) dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing dnl the basename of the libdir, either "lib" or "lib64". AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [ dnl There is no formal standard regarding lib and lib64. The current dnl practice is that on a system supporting 32-bit and 64-bit instruction dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit dnl libraries go under $prefix/lib. We determine the compiler's default dnl mode by looking at the compiler's library search path. If at least dnl of its elements ends in /lib64 or points to a directory whose absolute dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the dnl default, namely "lib". acl_libdirstem=lib searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ]) ibus-table-1.5.0.20130419/m4/progtest.m40000644002345600234560000000555012134204557014046 00000000000000# progtest.m4 serial 4 (gettext-0.14.2) dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1996. AC_PREREQ(2.50) # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) ibus-table-1.5.0.20130419/m4/nls.m40000644002345600234560000000226612134204557012774 00000000000000# nls.m4 serial 3 (gettext-0.15) dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE(nls, [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT($USE_NLS) AC_SUBST(USE_NLS) ]) ibus-table-1.5.0.20130419/m4/lib-ld.m40000644002345600234560000000653112134204557013342 00000000000000# lib-ld.m4 serial 3 (gettext-0.13) dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(acl_cv_path_LD, [if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT($LD) else AC_MSG_RESULT(no) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) ibus-table-1.5.0.20130419/m4/gettext.m40000644002345600234560000003773212134204557013672 00000000000000# gettext.m4 serial 59 (gettext-0.16.1) dnl Copyright (C) 1995-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], ifelse([$1], [external], ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AC_REQUIRE([AM_NLS]) ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl Add a version number to the cache macros. case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH(included-gettext, [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], [AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], [$gt_func_gnugettext_libintl], [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Some extra flags are needed during linking. LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE(HAVE_GETTEXT, 1, [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE(HAVE_DCGETTEXT, 1, [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST(BUILD_INCLUDED_LIBINTL) AC_SUBST(USE_INCLUDED_LIBINTL) AC_SUBST(CATOBJEXT) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST(DATADIRNAME) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST(INSTOBJEXT) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST(GENCAT) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST(INTLOBJS) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST(INTLLIBS) dnl Make all documented variables known to autoconf. AC_SUBST(LIBINTL) AC_SUBST(LTLIBINTL) AC_SUBST(POSUB) ]) dnl Checks for special options needed on MacOS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in MacOS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], gt_cv_func_CFPreferencesCopyAppValue, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFPreferencesCopyAppValue(NULL, NULL)], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in MacOS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) ]) dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. m4_define([gt_NEEDS_INIT], [ m4_divert_text([DEFAULTS], [gt_needs=]) m4_define([gt_NEEDS_INIT], []) ]) dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) AC_DEFUN([AM_GNU_GETTEXT_NEED], [ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) ibus-table-1.5.0.20130419/m4/iconv.m40000644002345600234560000000642612134204557013320 00000000000000# iconv.m4 serial AM4 (gettext-0.11.3) dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_func_iconv=yes) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_lib_iconv=yes am_cv_func_iconv=yes) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST(LIBICONV) AC_SUBST(LTLIBICONV) ]) AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL(am_cv_proto_iconv, [ AC_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([$]{ac_t:- }[$]am_cv_proto_iconv) AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, [Define as const if the declaration of iconv() needs const.]) fi ]) ibus-table-1.5.0.20130419/m4/Makefile.am0000644002345600234560000000167012024325441013762 00000000000000# vim:set noet ts=4 # # ibus-table - The Tables engine for IBus # # Copyright (c) 2008-2009 Yu Yuwei # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # EXTRA_DIST = \ as-version.m4 \ $(NULL) MAINTAINERCLEANFILES = \ Makefile.in \ $(NULL) ibus-table-1.5.0.20130419/m4/po.m40000644002345600234560000004336712134204557012625 00000000000000# po.m4 serial 13 (gettext-0.15) dnl Copyright (C) 1995-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake AC_REQUIRE([AM_NLS])dnl dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) dnl Test whether it is GNU msgfmt >= 0.15. changequote(,)dnl case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac changequote([,])dnl AC_SUBST([MSGFMT_015]) changequote(,)dnl case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac changequote([,])dnl AC_SUBST([GMSGFMT_015]) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Test whether it is GNU xgettext >= 0.15. changequote(,)dnl case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac changequote([,])dnl AC_SUBST([XGETTEXT_015]) dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) dnl Installation directories. dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we dnl have to define it here, so that it can be used in po/Makefile. test -n "$localedir" || localedir='${datadir}/locale' AC_SUBST([localedir]) AC_CONFIG_COMMANDS([po-directories], [[ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done]], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Postprocesses a Makefile in a directory containing PO files. AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [ # When this code is run, in config.status, two variables have already been # set: # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, # - LINGUAS is the value of the environment variable LINGUAS at configure # time. changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Find a way to echo strings without interpreting backslash. if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then gt_echo='echo' else if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then gt_echo='printf %s\n' else echo_func () { cat < "$ac_file.tmp" if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" < /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" < # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # DISTCHECK_CONFIGURE_FLAGS = \ --enable-additional \ $(NULL) SUBDIRS = \ engine \ icons \ m4 \ tables \ data \ po \ $(NULL) ACLOCAL_AMFLAGS = -I m4 pkgconfig_DATA = \ ibus-table.pc \ $(NULL) pkgconfigdir = $(libdir)/pkgconfig AUX_DIST = \ config.guess \ config.sub \ install-sh \ missing \ py-compile \ $(NULL) MAINTAINERCLEANFILES = \ Makefile.in \ aclocal.m4 \ configure \ $(AUX_DIST) \ $(NULL) EXTRA_DIST = \ config.rpath \ autogen.sh \ @PACKAGE_NAME@.spec \ $(NULL) noinst_DIST = \ $(NULL) #DISTCLEANFILES = \ # po/stamp-it \ # $(NULL) rpm: dist @PACKAGE_NAME@.spec rpmbuild -bb \ --define "_sourcedir `pwd`" \ --define "_builddir `pwd`" \ --define "_specdir `pwd`" \ --define "_rpmdir `pwd`" \ --define "_srcrpmdir `pwd`" \ @PACKAGE_NAME@.spec srpm: dist @PACKAGE_NAME@.spec rpmbuild -bs \ --define "_sourcedir `pwd`" \ --define "_builddir `pwd`" \ --define "_srcrpmdir `pwd`" \ --define "_rpmdir `pwd`" \ --define "_specdir `pwd`" \ @PACKAGE_NAME@.spec clean-rpm: $(RM) -r "`uname -i`" clean-local: clean-rpm ibus-table-1.5.0.20130419/COPYING0000644002345600234560000006350412024325440012444 00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! ibus-table-1.5.0.20130419/missing0000755002345600234560000002370312134204560013006 00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2012-01-06.18; # UTC # Copyright (C) 1996-2012 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, 'missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file 'aclocal.m4' autoconf touch file 'configure' autoheader touch file 'config.h.in' autom4te touch the output file, or create a stub one automake touch all 'Makefile.in' files bison create 'y.tab.[ch]', if possible, from existing .[ch] flex create 'lex.yy.c', if possible, from existing .c help2man touch the output file lex create 'lex.yy.c', if possible, from existing .c makeinfo touch the output file yacc create 'y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # normalize program name to check for. program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). This is about non-GNU programs, so use $1 not # $program. case $1 in lex*|yacc*) # Not GNU programs, they don't have --version. ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running '$TOOL --version' or '$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $program in aclocal*) echo 1>&2 "\ WARNING: '$1' is $msg. You should only need it if you modified 'acinclude.m4' or '${configure_ac}'. You might want to install the Automake and Perl packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ WARNING: '$1' is $msg. You should only need it if you modified '${configure_ac}'. You might want to install the Autoconf and GNU m4 packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ WARNING: '$1' is $msg. You should only need it if you modified 'acconfig.h' or '${configure_ac}'. You might want to install the Autoconf and GNU m4 packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: '$1' is $msg. You should only need it if you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'. You might want to install the Automake and Perl packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te*) echo 1>&2 "\ WARNING: '$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get '$1' as part of Autoconf from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison*|yacc*) echo 1>&2 "\ WARNING: '$1' $msg. You should only need it if you modified a '.y' file. You may need the Bison package in order for those modifications to take effect. You can get Bison from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG=\${$#} case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex*|flex*) echo 1>&2 "\ WARNING: '$1' is $msg. You should only need it if you modified a '.l' file. You may need the Flex package in order for those modifications to take effect. You can get Flex from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG=\${$#} case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man*) echo 1>&2 "\ WARNING: '$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the Help2man package in order for those modifications to take effect. You can get Help2man from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit $? fi ;; makeinfo*) echo 1>&2 "\ WARNING: '$1' is $msg. You should only need it if you modified a '.texi' or '.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy 'make' (AIX, DU, IRIX). You might want to install the Texinfo package or the GNU make package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; *) echo 1>&2 "\ WARNING: '$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the 'README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing '$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: