Merge lp:~karl-qdh/ubuntu/maverick/ibus/ibus-indicator into lp:ubuntu/maverick/ibus

Proposed by Karl Lattimer
Status: Rejected
Rejected by: Didier Roche-Tolomelli
Proposed branch: lp:~karl-qdh/ubuntu/maverick/ibus/ibus-indicator
Merge into: lp:ubuntu/maverick/ibus
Diff against target: 5521 lines (+263/-4817)
25 files modified
.pc/.version (+0/-1)
.pc/01_ubuntu_desktop/bus/ibus.desktop.in (+0/-14)
.pc/01_ubuntu_desktop/setup/ibus-setup.desktop.in (+0/-10)
.pc/02_title_update.patch/setup/ibus-setup.desktop.in (+0/-11)
.pc/02_title_update.patch/setup/main.py (+0/-463)
.pc/05_appindicator.patch/ui/gtk/main.py (+0/-116)
.pc/05_appindicator.patch/ui/gtk/panel.py (+0/-520)
.pc/06_show_menuitem.patch/ui/gtk/menu.py (+0/-278)
.pc/applied-patches (+0/-4)
bus/ibus.desktop.in (+0/-1)
config.guess (+0/-1533)
config.sub (+0/-1693)
debian/changelog (+31/-0)
debian/ibus.install (+2/-0)
debian/patches/01_ubuntu_desktop (+9/-5)
debian/patches/03_fix1104.patch (+61/-0)
debian/patches/05_appindicator.patch (+70/-45)
debian/patches/06_show_menuitem.patch (+4/-2)
debian/patches/07_disable_introspection.patch (+35/-0)
debian/patches/series (+2/-1)
setup/ibus-setup.desktop.in (+2/-3)
setup/main.py (+5/-2)
ui/gtk/main.py (+3/-5)
ui/gtk/menu.py (+3/-4)
ui/gtk/panel.py (+36/-106)
To merge this branch: bzr merge lp:~karl-qdh/ubuntu/maverick/ibus/ibus-indicator
Reviewer Review Type Date Requested Status
Didier Roche-Tolomelli Pending
Review via email: mp+40821@code.launchpad.net

Description of the change

This set of changes fixes a series of bugs with ibus these include (but probably aren't limited to):
  Bug #637671: ibus python 100 % cpu for ever
    https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/637671
  Bug #645724: Ibus applet in unity does not allow selection of menu entries by mouse
    https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/645724
  Bug #665353: Ibus panel applet disappears
    https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/665353

To post a comment you must log in.
29. By Karl Lattimer

Imported a disable introspection patch from opensuse buildservice here:
https://build.opensuse.org/package/view_file?file=ibus-disable-introspect.patch&package=ibus&project=M17N&srcmd5=91e72e99e68be44807eae3b854ed7e51#
This should allow the package to build for now.

30. By Karl Lattimer

* debia/patches/05_appindicator.patch
  - Fixed unresponsive menu, Bug #645724
  - Fixed 100% cpu usage properly, Bug #637671
  - Fixed focus tracking issue, Bug #522079
* debian/patches/07_disable_introspection.patch
  - Added better control over the introspection build and disabled it by default

31. By Karl Lattimer

Reverted ui/gtk/main.py and ui/gtk/panel.py to original; not sure where they slipped in

32. By Karl Lattimer

Fixed the patch series a little

33. By Karl Lattimer

Reversed 01_ubuntu_desktop patch

34. By Karl Lattimer

And the rest

35. By Karl Lattimer

Removed .pc folder and reverted some files, updated the fix1104 patch so it works properly, splitting out from the appindicator patch properly

36. By Karl Lattimer

Added gir to ibus install

37. By Karl Lattimer

updated ubuntu_desktop patch

38. By Karl Lattimer

reverted last change

39. By Karl Lattimer

Killed 01_ubuntu_desktop patch

40. By Karl Lattimer

Updated ubuntu_desktop patch to include the minor changes against upstream ibus

41. By Karl Lattimer

Reverted to original upstream ibus-1.3.7 dist setup/main.py and ui/gtk/menu.py

42. By Karl Lattimer

Updated 01_ubuntu_desktop patch to include other minor difference to the upstream 1.3.7 distribution

43. By Karl Lattimer

removed duplicate patching

44. By Karl Lattimer

removed duplicate patching

Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

Cleanup all backlog of merge request :)

Unmerged revisions

44. By Karl Lattimer

removed duplicate patching

43. By Karl Lattimer

removed duplicate patching

42. By Karl Lattimer

Updated 01_ubuntu_desktop patch to include other minor difference to the upstream 1.3.7 distribution

41. By Karl Lattimer

Reverted to original upstream ibus-1.3.7 dist setup/main.py and ui/gtk/menu.py

40. By Karl Lattimer

Updated ubuntu_desktop patch to include the minor changes against upstream ibus

39. By Karl Lattimer

Killed 01_ubuntu_desktop patch

38. By Karl Lattimer

reverted last change

37. By Karl Lattimer

updated ubuntu_desktop patch

36. By Karl Lattimer

Added gir to ibus install

35. By Karl Lattimer

Removed .pc folder and reverted some files, updated the fix1104 patch so it works properly, splitting out from the appindicator patch properly

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed directory '.pc'
2=== removed file '.pc/.version'
3--- .pc/.version 2010-05-06 19:42:32 +0000
4+++ .pc/.version 1970-01-01 00:00:00 +0000
5@@ -1,1 +0,0 @@
6-2
7
8=== removed directory '.pc/01_ubuntu_desktop'
9=== removed directory '.pc/01_ubuntu_desktop/bus'
10=== removed file '.pc/01_ubuntu_desktop/bus/ibus.desktop.in'
11--- .pc/01_ubuntu_desktop/bus/ibus.desktop.in 2010-07-06 16:02:22 +0000
12+++ .pc/01_ubuntu_desktop/bus/ibus.desktop.in 1970-01-01 00:00:00 +0000
13@@ -1,14 +0,0 @@
14-[Desktop Entry]
15-Encoding=UTF-8
16-_Name=IBus
17-_GenericName=Input Method Framework
18-_Comment=Start IBus Input Method Framework
19-Exec=ibus-daemon --xim
20-Icon=ibus
21-Terminal=false
22-Type=Application
23-Categories=System;Utility;
24-X-GNOME-Autostart-Phase=Applications
25-X-GNOME-AutoRestart=false
26-X-GNOME-Autostart-Notify=true
27-X-KDE-autostart-after=panel
28
29=== removed directory '.pc/01_ubuntu_desktop/setup'
30=== removed file '.pc/01_ubuntu_desktop/setup/ibus-setup.desktop.in'
31--- .pc/01_ubuntu_desktop/setup/ibus-setup.desktop.in 2010-07-06 16:02:22 +0000
32+++ .pc/01_ubuntu_desktop/setup/ibus-setup.desktop.in 1970-01-01 00:00:00 +0000
33@@ -1,10 +0,0 @@
34-[Desktop Entry]
35-Encoding=UTF-8
36-_Name=IBus Preferences
37-_Comment=Set IBus Preferences
38-Exec=ibus-setup
39-Icon=ibus-setup
40-Terminal=false
41-Type=Application
42-StartupNotify=true
43-Categories=Settings;
44
45=== removed directory '.pc/02_title_update.patch'
46=== removed directory '.pc/02_title_update.patch/setup'
47=== removed file '.pc/02_title_update.patch/setup/ibus-setup.desktop.in'
48--- .pc/02_title_update.patch/setup/ibus-setup.desktop.in 2010-08-13 13:48:19 +0000
49+++ .pc/02_title_update.patch/setup/ibus-setup.desktop.in 1970-01-01 00:00:00 +0000
50@@ -1,11 +0,0 @@
51-[Desktop Entry]
52-Encoding=UTF-8
53-_Name=IBus Preferences
54-_Comment=Set IBus Preferences
55-X-Ubuntu-Gettext-Domain=ibus
56-Exec=ibus-setup
57-Icon=ibus-setup
58-Terminal=false
59-Type=Application
60-StartupNotify=true
61-Categories=Settings;
62
63=== removed file '.pc/02_title_update.patch/setup/main.py'
64--- .pc/02_title_update.patch/setup/main.py 2010-08-13 13:48:19 +0000
65+++ .pc/02_title_update.patch/setup/main.py 1970-01-01 00:00:00 +0000
66@@ -1,463 +0,0 @@
67-# vim:set et sts=4 sw=4:
68-#
69-# ibus - The Input Bus
70-#
71-# Copyright (c) 2007-2010 Peng Huang <shawn.p.huang@gmail.com>
72-# Copyright (c) 2007-2010 Red Hat, Inc.
73-#
74-# This library is free software; you can redistribute it and/or
75-# modify it under the terms of the GNU Lesser General Public
76-# License as published by the Free Software Foundation; either
77-# version 2 of the License, or (at your option) any later version.
78-#
79-# This library is distributed in the hope that it will be useful,
80-# but WITHOUT ANY WARRANTY; without even the implied warranty of
81-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
82-# GNU Lesser General Public License for more details.
83-#
84-# You should have received a copy of the GNU Lesser General Public
85-# License along with this program; if not, write to the
86-# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
87-# Boston, MA 02111-1307 USA
88-
89-import gettext
90-import os
91-import signal
92-import sys
93-import time
94-import gtk
95-import gobject
96-import pango
97-import ibus
98-import keyboardshortcut
99-from os import path
100-from xdg import BaseDirectory
101-from gtk import gdk
102-from enginecombobox import EngineComboBox
103-from enginetreeview import EngineTreeView
104-from engineabout import EngineAbout
105-
106-_ = lambda a : gettext.dgettext("ibus", a)
107-N_ = lambda a : a
108-
109-(
110- COLUMN_NAME,
111- COLUMN_ENABLE,
112- COLUMN_PRELOAD,
113- COLUMN_VISIBLE,
114- COLUMN_ICON,
115- COLUMN_DATA,
116-) = range(6)
117-
118-(
119- DATA_NAME,
120- DATA_LOCAL_NAME,
121- DATA_LANG,
122- DATA_ICON,
123- DATA_AUTHOR,
124- DATA_CREDITS,
125- DATA_EXEC,
126- DATA_STARTED,
127- DATA_PRELOAD
128-) = range(9)
129-
130-class Setup(object):
131- def __flush_gtk_events(self):
132- while gtk.events_pending():
133- gtk.main_iteration()
134-
135- def __init__(self):
136- super(Setup, self).__init__()
137- localedir = os.getenv("IBUS_LOCALEDIR")
138- gettext.bindtextdomain("ibus", localedir)
139- gettext.bind_textdomain_codeset("ibus", "UTF-8")
140- gtk_builder_file = path.join(path.dirname(__file__), "./setup.ui")
141- self.__builder = gtk.Builder()
142- self.__builder.set_translation_domain("ibus")
143- self.__builder.add_from_file(gtk_builder_file);
144- self.__bus = None
145- self.__init_bus()
146- self.__init_ui()
147-
148- def __init_ui(self):
149- # add icon search path
150- self.__window = self.__builder.get_object("window_preferences")
151- self.__window.connect("delete-event", gtk.main_quit)
152-
153- self.__button_close = self.__builder.get_object("button_close")
154- self.__button_close.connect("clicked", gtk.main_quit)
155-
156- # auto start ibus
157- self.__checkbutton_auto_start = self.__builder.get_object("checkbutton_auto_start")
158- self.__checkbutton_auto_start.set_active(self.__is_auto_start())
159- self.__checkbutton_auto_start.connect("toggled", self.__checkbutton_auto_start_toggled_cb)
160-
161- # keyboard shortcut
162- # trigger
163- self.__config = self.__bus.get_config()
164- shortcuts = self.__config.get_value(
165- "general/hotkey", "trigger",
166- ibus.CONFIG_GENERAL_SHORTCUT_TRIGGER_DEFAULT)
167- button = self.__builder.get_object("button_trigger")
168- entry = self.__builder.get_object("entry_trigger")
169- entry.set_text("; ".join(shortcuts))
170- entry.set_tooltip_text("\n".join(shortcuts))
171- button.connect("clicked", self.__shortcut_button_clicked_cb,
172- N_("trigger"), "general/hotkey", "trigger", entry)
173-
174- # next engine
175- shortcuts = self.__config.get_value(
176- "general/hotkey", "next_engine_in_menu",
177- ibus.CONFIG_GENERAL_SHORTCUT_NEXT_ENGINE_DEFAULT)
178- button = self.__builder.get_object("button_next_engine")
179- entry = self.__builder.get_object("entry_next_engine")
180- entry.set_text("; ".join(shortcuts))
181- entry.set_tooltip_text("\n".join(shortcuts))
182- button.connect("clicked", self.__shortcut_button_clicked_cb,
183- N_("next input method"), "general/hotkey", "next_engine_in_menu", entry)
184-
185- # prev engine
186- shortcuts = self.__config.get_value(
187- "general/hotkey", "previous_engine",
188- ibus.CONFIG_GENERAL_SHORTCUT_PREV_ENGINE_DEFAULT)
189- button = self.__builder.get_object("button_prev_engine")
190- entry = self.__builder.get_object("entry_prev_engine")
191- entry.set_text("; ".join(shortcuts))
192- entry.set_tooltip_text("\n".join(shortcuts))
193- button.connect("clicked", self.__shortcut_button_clicked_cb,
194- N_("previous input method"), "general/hotkey", "previous_engine", entry)
195-
196- # lookup table orientation
197- self.__combobox_lookup_table_orientation = self.__builder.get_object("combobox_lookup_table_orientation")
198- self.__combobox_lookup_table_orientation.set_active(
199- self.__config.get_value("panel", "lookup_table_orientation", 0))
200- self.__combobox_lookup_table_orientation.connect("changed",
201- self.__combobox_lookup_table_orientation_changed_cb)
202-
203- # auto hide
204- self.__combobox_panel_show = self.__builder.get_object("combobox_panel_show")
205- self.__combobox_panel_show.set_active(
206- self.__config.get_value("panel", "show", 0))
207- self.__combobox_panel_show.connect("changed", self.__combobox_panel_show_changed_cb)
208-
209- # panel position
210- self.__combobox_panel_position = self.__builder.get_object("combobox_panel_position")
211- self.__combobox_panel_position.set_active(
212- self.__config.get_value("panel", "position", 3))
213- self.__combobox_panel_position.connect("changed", self.__combobox_panel_position_changed_cb)
214-
215- # custom font
216- self.__checkbutton_custom_font = self.__builder.get_object("checkbutton_custom_font")
217- self.__checkbutton_custom_font.set_active(
218- self.__config.get_value("panel", "use_custom_font", False))
219- self.__checkbutton_custom_font.connect("toggled", self.__checkbutton_custom_font_toggled_cb)
220-
221- self.__fontbutton_custom_font = self.__builder.get_object("fontbutton_custom_font")
222- if self.__config.get_value("panel", "use_custom_font", False):
223- self.__fontbutton_custom_font.set_sensitive(True)
224- else:
225- self.__fontbutton_custom_font.set_sensitive(False)
226- font_name = gtk.settings_get_default().get_property("gtk-font-name")
227- font_name = unicode(font_name, "utf-8")
228- font_name = self.__config.get_value("panel", "custom_font", font_name)
229- self.__fontbutton_custom_font.connect("notify::font-name", self.__fontbutton_custom_font_notify_cb)
230- self.__fontbutton_custom_font.set_font_name(font_name)
231-
232- # show icon on system tray
233- self.__checkbutton_show_icon_on_systray = self.__builder.get_object("checkbutton_show_icon_on_systray")
234- self.__checkbutton_show_icon_on_systray.set_active(
235- self.__config.get_value("panel", "show_icon_on_systray", True))
236- self.__checkbutton_show_icon_on_systray.connect("toggled", self.__checkbutton_show_icon_on_systray_toggled_cb)
237-
238- # show ime name
239- self.__checkbutton_show_im_name = self.__builder.get_object("checkbutton_show_im_name")
240- self.__checkbutton_show_im_name.set_active(
241- self.__config.get_value("panel", "show_im_name", False))
242- self.__checkbutton_show_im_name.connect("toggled", self.__checkbutton_show_im_name_toggled_cb)
243-
244- # embed preedit text
245- self.__checkbutton_embed_preedit_text = self.__builder.get_object("checkbutton_embed_preedit_text")
246- self.__checkbutton_embed_preedit_text.set_active(
247- self.__config.get_value("general", "embed_preedit_text", True))
248- self.__checkbutton_embed_preedit_text.connect("toggled", self.__checkbutton_embed_preedit_text_toggled_cb)
249-
250- # use system keyboard layout setting
251- self.__checkbutton_use_sys_layout = self.__builder.get_object("checkbutton_use_sys_layout")
252- self.__checkbutton_use_sys_layout.set_active(
253- self.__config.get_value("general", "use_system_keyboard_layout", True))
254- self.__checkbutton_use_sys_layout.connect("toggled", self.__checkbutton_use_sys_layout_toggled_cb)
255-
256- # use global ime setting
257- self.__checkbutton_use_global_engine = self.__builder.get_object("checkbutton_use_global_engine")
258- self.__checkbutton_use_global_engine.set_active(
259- self.__config.get_value("general", "use_global_engine", False))
260- self.__checkbutton_use_global_engine.connect("toggled", self.__checkbutton_use_global_engine_toggled_cb)
261-
262- # init engine page
263- self.__engines = self.__bus.list_engines()
264- self.__combobox = self.__builder.get_object("combobox_engines")
265- self.__combobox.set_engines(self.__engines)
266-
267- tmp_dict = {}
268- for e in self.__engines:
269- tmp_dict[e.name] = e
270- engine_names = self.__config.get_value("general", "preload_engines", [])
271- engines = [tmp_dict[name] for name in engine_names if name in tmp_dict]
272-
273- self.__treeview = self.__builder.get_object("treeview_engines")
274- self.__treeview.set_engines(engines)
275-
276- button = self.__builder.get_object("button_engine_add")
277- button.connect("clicked", self.__button_engine_add_cb)
278- button = self.__builder.get_object("button_engine_remove")
279- button.connect("clicked", lambda *args:self.__treeview.remove_engine())
280- button = self.__builder.get_object("button_engine_up")
281- button.connect("clicked", lambda *args:self.__treeview.move_up_engine())
282-
283- button = self.__builder.get_object("button_engine_down")
284- button.connect("clicked", lambda *args:self.__treeview.move_down_engine())
285-
286- button = self.__builder.get_object("button_engine_about")
287- button.connect("clicked", self.__button_engine_about_cb)
288-
289- self.__combobox.connect("notify::active-engine", self.__combobox_notify_active_engine_cb)
290- self.__treeview.connect("notify", self.__treeview_notify_cb)
291-
292- def __combobox_notify_active_engine_cb(self, combobox, property):
293- engine = self.__combobox.get_active_engine()
294- button = self.__builder.get_object("button_engine_add")
295- button.set_sensitive(engine != None and engine not in self.__treeview.get_engines())
296-
297- def __treeview_notify_cb(self, treeview, property):
298- if property.name != "active-engine" and property.name != "engines":
299- return
300-
301- engines = self.__treeview.get_engines()
302- engine = self.__treeview.get_active_engine()
303-
304- self.__builder.get_object("button_engine_remove").set_sensitive(engine != None)
305- self.__builder.get_object("button_engine_about").set_sensitive(engine != None)
306- self.__builder.get_object("button_engine_up").set_sensitive(engine not in engines[:1])
307- self.__builder.get_object("button_engine_down").set_sensitive(engine not in engines[-1:])
308-
309- if property.name == "engines":
310- engine_names = map(lambda e: e.name, engines)
311- self.__config.set_list("general", "preload_engines", engine_names, "s")
312-
313- def __button_engine_add_cb(self, button):
314- engine = self.__combobox.get_active_engine()
315- self.__treeview.append_engine(engine)
316-
317- def __button_engine_about_cb(self, button):
318- engine = self.__treeview.get_active_engine()
319- if engine:
320- about = EngineAbout(engine)
321- about.run()
322- about.destroy()
323-
324- def __init_bus(self):
325- try:
326- self.__bus = ibus.Bus()
327- # self.__bus.connect("config-value-changed", self.__config_value_changed_cb)
328- # self.__bus.connect("config-reloaded", self.__config_reloaded_cb)
329- # self.__bus.config_add_watch("/general")
330- # self.__bus.config_add_watch("/general/hotkey")
331- # self.__bus.config_add_watch("/panel")
332- except:
333- while self.__bus == None:
334- message = _("IBus daemon is not started. Do you want to start it now?")
335- dlg = gtk.MessageDialog(type = gtk.MESSAGE_QUESTION,
336- buttons = gtk.BUTTONS_YES_NO,
337- message_format = message)
338- id = dlg.run()
339- dlg.destroy()
340- self.__flush_gtk_events()
341- if id != gtk.RESPONSE_YES:
342- sys.exit(0)
343- pid = os.spawnlp(os.P_NOWAIT, "ibus-daemon", "ibus-daemon", "--xim")
344- time.sleep(1)
345- try:
346- self.__bus = ibus.Bus()
347- except:
348- continue
349- message = _("IBus has been started! "
350- "If you can not use IBus, please add below lines in $HOME/.bashrc, and relogin your desktop.\n"
351- " export GTK_IM_MODULE=ibus\n"
352- " export XMODIFIERS=@im=ibus\n"
353- " export QT_IM_MODULE=ibus"
354- )
355- dlg = gtk.MessageDialog(type = gtk.MESSAGE_INFO,
356- buttons = gtk.BUTTONS_OK,
357- message_format = message)
358- id = dlg.run()
359- dlg.destroy()
360- self.__flush_gtk_events()
361-
362- def __shortcut_button_clicked_cb(self, button, name, section, _name, entry):
363- buttons = (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OK, gtk.RESPONSE_OK)
364- title = _("Select keyboard shortcut for %s") % _(name)
365- dialog = keyboardshortcut.KeyboardShortcutSelectionDialog(buttons = buttons, title = title)
366- text = entry.get_text()
367- if text:
368- shortcuts = text.split("; ")
369- else:
370- shortcuts = None
371- dialog.set_shortcuts(shortcuts)
372- id = dialog.run()
373- shortcuts = dialog.get_shortcuts()
374- dialog.destroy()
375- if id != gtk.RESPONSE_OK:
376- return
377- self.__config.set_list(section, _name, shortcuts, "s")
378- text = "; ".join(shortcuts)
379- entry.set_text(text)
380- entry.set_tooltip_text(text)
381-
382-
383- def __item_started_column_toggled_cb(self, cell, path_str, model):
384-
385- # get toggled iter
386- iter = model.get_iter_from_string(path_str)
387- data = model.get_value(iter, COLUMN_DATA)
388-
389- # do something with the value
390- if data[DATA_STARTED] == False:
391- try:
392- self.__bus.register_start_engine(data[DATA_LANG], data[DATA_NAME])
393- except Exception, e:
394- dlg = gtk.MessageDialog(type = gtk.MESSAGE_ERROR,
395- buttons = gtk.BUTTONS_CLOSE,
396- message_format = str(e))
397- dlg.run()
398- dlg.destroy()
399- self.__flush_gtk_events()
400- return
401- else:
402- try:
403- self.__bus.register_stop_engine(data[DATA_LANG], data[DATA_NAME])
404- except Exception, e:
405- dlg = gtk.MessageDialog(type = gtk.MESSAGE_ERROR,
406- buttons = gtk.BUTTONS_CLOSE,
407- message_format = str(e))
408- dlg.run()
409- dlg.destroy()
410- self.__flush_gtk_events()
411- return
412- data[DATA_STARTED] = not data[DATA_STARTED]
413-
414- # set new value
415- model.set(iter, COLUMN_ENABLE, data[DATA_STARTED])
416-
417- def __item_preload_column_toggled_cb(self, cell, path_str, model):
418-
419- # get toggled iter
420- iter = model.get_iter_from_string(path_str)
421- data = model.get_value(iter, COLUMN_DATA)
422-
423- data[DATA_PRELOAD] = not data[DATA_PRELOAD]
424- engine = "%s:%s" % (data[DATA_LANG], data[DATA_NAME])
425-
426- if data[DATA_PRELOAD]:
427- if engine not in self.__preload_engines:
428- self.__preload_engines.add(engine)
429- self.__config.set_list("general", "preload_engines", list(self.__preload_engines), "s")
430- else:
431- if engine in self.__preload_engines:
432- self.__preload_engines.remove(engine)
433- self.__config.set_list("general", "preload_engines", list(self.__preload_engines), "s")
434-
435- # set new value
436- model.set(iter, COLUMN_PRELOAD, data[DATA_PRELOAD])
437-
438- def __is_auto_start(self):
439- link_file = path.join(BaseDirectory.xdg_config_home, "autostart/ibus.desktop")
440- ibus_desktop = path.join(os.getenv("IBUS_PREFIX"), "share/applications/ibus.desktop")
441-
442- if not path.exists(link_file):
443- return False
444- if not path.islink(link_file):
445- return False
446- if path.realpath(link_file) != ibus_desktop:
447- return False
448- return True
449-
450- def __checkbutton_auto_start_toggled_cb(self, button):
451- auto_start_dir = path.join(BaseDirectory.xdg_config_home, "autostart")
452- if not path.isdir(auto_start_dir):
453- os.makedirs(auto_start_dir)
454-
455- link_file = path.join(BaseDirectory.xdg_config_home, "autostart/ibus.desktop")
456- ibus_desktop = path.join(os.getenv("IBUS_PREFIX"), "share/applications/ibus.desktop")
457- # unlink file
458- try:
459- os.unlink(link_file)
460- except:
461- pass
462- if self.__checkbutton_auto_start.get_active():
463- os.symlink(ibus_desktop, link_file)
464-
465- def __combobox_lookup_table_orientation_changed_cb(self, combobox):
466- self.__config.set_value(
467- "panel", "lookup_table_orientation",
468- self.__combobox_lookup_table_orientation.get_active())
469-
470- def __combobox_panel_show_changed_cb(self, combobox):
471- self.__config.set_value(
472- "panel", "show",
473- self.__combobox_panel_show.get_active())
474-
475- def __combobox_panel_position_changed_cb(self, combobox):
476- self.__config.set_value(
477- "panel", "position",
478- self.__combobox_panel_position.get_active())
479-
480- def __checkbutton_custom_font_toggled_cb(self, button):
481- if self.__checkbutton_custom_font.get_active():
482- self.__fontbutton_custom_font.set_sensitive(True)
483- self.__config.set_value("panel", "use_custom_font", True)
484- else:
485- self.__fontbutton_custom_font.set_sensitive(False)
486- self.__config.set_value("panel", "use_custom_font", False)
487-
488- def __fontbutton_custom_font_notify_cb(self, button, arg):
489- font_name = self.__fontbutton_custom_font.get_font_name()
490- font_name = unicode(font_name, "utf-8")
491- self.__config.set_value("panel", "custom_font", font_name)
492-
493- def __checkbutton_show_icon_on_systray_toggled_cb(self, button):
494- value = self.__checkbutton_show_icon_on_systray.get_active()
495- self.__config.set_value("panel", "show_icon_on_systray", value)
496-
497- def __checkbutton_show_im_name_toggled_cb(self, button):
498- value = self.__checkbutton_show_im_name.get_active()
499- self.__config.set_value("panel", "show_im_name", value)
500-
501- def __checkbutton_embed_preedit_text_toggled_cb(self, button):
502- value = self.__checkbutton_embed_preedit_text.get_active()
503- self.__config.set_value("general", "embed_preedit_text", value)
504-
505- def __checkbutton_use_sys_layout_toggled_cb(self, button):
506- value = self.__checkbutton_use_sys_layout.get_active()
507- self.__config.set_value("general", "use_system_keyboard_layout", value)
508-
509- def __checkbutton_use_global_engine_toggled_cb(self, button):
510- value = self.__checkbutton_use_global_engine.get_active()
511- self.__config.set_value("general", "use_global_engine", value)
512-
513- def __config_value_changed_cb(self, bus, section, name, value):
514- pass
515-
516- def __config_reloaded_cb(self, bus):
517- pass
518-
519- def __sigusr1_cb(self, *args):
520- self.__window.present()
521-
522- def run(self):
523- self.__window.show_all()
524- signal.signal(signal.SIGUSR1, self.__sigusr1_cb)
525- gtk.main()
526-
527-if __name__ == "__main__":
528- setup = Setup()
529- setup.run()
530
531=== removed directory '.pc/05_appindicator.patch'
532=== removed directory '.pc/05_appindicator.patch/ui'
533=== removed directory '.pc/05_appindicator.patch/ui/gtk'
534=== removed file '.pc/05_appindicator.patch/ui/gtk/main.py'
535--- .pc/05_appindicator.patch/ui/gtk/main.py 2010-08-13 13:48:19 +0000
536+++ .pc/05_appindicator.patch/ui/gtk/main.py 1970-01-01 00:00:00 +0000
537@@ -1,116 +0,0 @@
538-# vim:set et sts=4 sw=4:
539-#
540-# ibus - The Input Bus
541-#
542-# Copyright(c) 2007-2010 Peng Huang <shawn.p.huang@gmail.com>
543-# Copyright(c) 2007-2010 Red Hat, Inc.
544-#
545-# This library is free software; you can redistribute it and/or
546-# modify it under the terms of the GNU Lesser General Public
547-# License as published by the Free Software Foundation; either
548-# version 2 of the License, or(at your option) any later version.
549-#
550-# This library is distributed in the hope that it will be useful,
551-# but WITHOUT ANY WARRANTY; without even the implied warranty of
552-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
553-# GNU Lesser General Public License for more details.
554-#
555-# You should have received a copy of the GNU Lesser General Public
556-# License along with this program; if not, write to the
557-# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
558-# Boston, MA 02111-1307 USA
559-
560-# try Cython
561-# try:
562-# import pyximport
563-# pyximport.install(pyimport=True,build_in_temp=False)
564-# except:
565-# pass
566-
567-import os
568-import sys
569-import getopt
570-import ibus
571-import gtk
572-import gettext
573-import panel
574-import pynotify
575-
576-from gettext import dgettext
577-_ = lambda a : dgettext("ibus", a)
578-
579-class UIApplication:
580- def __init__ (self):
581- pynotify.init("ibus")
582- self.__bus = ibus.Bus()
583- self.__bus.connect("disconnected", gtk.main_quit)
584- self.__bus.connect("registry-changed", self.__registry_changed_cb)
585-
586- match_rule = "type='signal',\
587- sender='org.freedesktop.IBus',\
588- path='/org/freedesktop/IBus'"
589- self.__bus.add_match(match_rule)
590-
591- self.__panel = panel.Panel(self.__bus)
592- self.__bus.request_name(ibus.IBUS_SERVICE_PANEL, 0)
593- self.__notify = pynotify.Notification("IBus", \
594- _("Some input methods have been installed, removed or updated. " \
595- "Please restart ibus input platform."), \
596- "ibus")
597- self.__notify.set_timeout(10 * 1000)
598- self.__notify.attach_to_status_icon (self.__panel.get_status_icon())
599- self.__notify.add_action("restart", _("Restart Now"), self.__restart_cb, None)
600- self.__notify.add_action("ignore", _("Later"), lambda *args: None, None)
601-
602- def __restart_cb(self, notify, action, data):
603- if action == "restart":
604- self.__bus.exit(True)
605-
606- def __registry_changed_cb(self, bus):
607- self.__notify.show()
608-
609- def run(self):
610- try:
611- gtk.main()
612- except KeyboardInterrupt:
613- pass
614-
615-def launch_panel():
616- # gtk.settings_get_default().props.gtk_theme_name = "/home/phuang/.themes/aud-Default/gtk-2.0/gtkrc"
617- # gtk.rc_parse("./themes/default/gtkrc")
618- UIApplication().run()
619-
620-def print_help(out, v = 0):
621- print >> out, "-h, --help show this message."
622- print >> out, "-d, --daemonize daemonize ibus"
623- sys.exit(v)
624-
625-def main():
626- daemonize = False
627- shortopt = "hd"
628- longopt = ["help", "daemonize"]
629- try:
630- opts, args = getopt.getopt(sys.argv[1:], shortopt, longopt)
631- except getopt.GetoptError, err:
632- print_help(sys.stderr, 1)
633-
634- for o, a in opts:
635- if o in("-h", "--help"):
636- print_help(sys.stdout)
637- elif o in("-d", "--daemonize"):
638- daemonize = True
639- else:
640- print >> sys.stderr, "Unknown argument: %s" % o
641- print_help(sys.stderr, 1)
642-
643- if daemonize:
644- if os.fork():
645- sys.exit()
646-
647- launch_panel()
648-
649-if __name__ == "__main__":
650- localedir = os.getenv("IBUS_LOCALEDIR")
651- gettext.bindtextdomain("ibus", localedir)
652- gettext.bind_textdomain_codeset("ibus", "UTF-8")
653- main()
654
655=== removed file '.pc/05_appindicator.patch/ui/gtk/panel.py'
656--- .pc/05_appindicator.patch/ui/gtk/panel.py 2010-08-13 13:48:19 +0000
657+++ .pc/05_appindicator.patch/ui/gtk/panel.py 1970-01-01 00:00:00 +0000
658@@ -1,520 +0,0 @@
659-# vim:set et sts=4 sw=4:
660-#
661-# ibus - The Input Bus
662-#
663-# Copyright(c) 2007-2010 Peng Huang <shawn.p.huang@gmail.com>
664-# Copyright(c) 2007-2010 Red Hat, Inc.
665-#
666-# This library is free software; you can redistribute it and/or
667-# modify it under the terms of the GNU Lesser General Public
668-# License as published by the Free Software Foundation; either
669-# version 2 of the License, or(at your option) any later version.
670-#
671-# This library is distributed in the hope that it will be useful,
672-# but WITHOUT ANY WARRANTY; without even the implied warranty of
673-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
674-# GNU Lesser General Public License for more details.
675-#
676-# You should have received a copy of the GNU Lesser General Public
677-# License along with this program; if not, write to the
678-# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
679-# Boston, MA 02111-1307 USA
680-
681-import gtk
682-import gtk.gdk as gdk
683-import gobject
684-import ibus
685-import icon as _icon
686-import os
687-import sys
688-import signal
689-from os import path
690-from ibus import interface
691-from languagebar import LanguageBar
692-from candidatepanel import CandidatePanel
693-from engineabout import EngineAbout
694-
695-from gettext import dgettext
696-_ = lambda a : dgettext("ibus", a)
697-N_ = lambda a : a
698-
699-ICON_KEYBOARD = "ibus-keyboard"
700-ICON_ENGINE = "ibus-engine"
701-
702-def show_uri(screen, link):
703- try:
704- gtk.show_uri(screen, link, 0)
705- except:
706- print >> sys.stderr, "pygtk do not support show_uri"
707-
708-def url_hook(about, link, user_data):
709- show_uri(about.get_screen(), link)
710-
711-def email_hook(about, email, user_data):
712- show_uri(about.get_screen(), "mailto:%s" % email)
713-
714-gtk.about_dialog_set_url_hook(url_hook, None)
715-gtk.about_dialog_set_email_hook(email_hook, None)
716-
717-class Panel(ibus.PanelBase):
718- __gtype_name__ = "IBusPanel"
719- def __init__(self, bus):
720- super(Panel, self).__init__(bus)
721- self.__bus = bus
722- self.__config = self.__bus.get_config()
723- self.__focus_ic = None
724- self.__setup_pid = 0
725- self.__prefix = os.getenv("IBUS_PREFIX")
726- self.__data_dir = path.join(self.__prefix, "share", "ibus")
727- # self.__icons_dir = path.join(self.__data_dir, "icons")
728- self.__setup_cmd = path.join(self.__prefix, "bin", "ibus-setup")
729-
730- # hanlder signal
731- signal.signal(signal.SIGCHLD, self.__sigchld_cb)
732-
733- # connect bus signal
734- self.__config.connect("value-changed", self.__config_value_changed_cb)
735- self.__config.connect("reloaded", self.__config_reloaded_cb)
736- # self.__bus.config_add_watch("panel")
737-
738- # add icon search path
739- # icon_theme = gtk.icon_theme_get_default()
740- # icon_theme.prepend_search_path(self.__icons_dir)
741-
742- self.__language_bar = LanguageBar()
743- self.__language_bar.connect("property-activate",
744- lambda widget, prop_name, prop_state: self.property_activate(prop_name, prop_state))
745- self.__language_bar.connect("get-im-menu",
746- self.__get_im_menu_cb)
747- self.__language_bar.connect("show-engine-about",
748- self.__show_engine_about_cb)
749- self.__language_bar.connect("position-changed",
750- self.__position_changed_cb)
751- self.__language_bar.focus_out()
752- self.__language_bar.show_all()
753-
754- self.__candidate_panel = CandidatePanel()
755- self.__candidate_panel.connect("cursor-up",
756- lambda widget: self.cursor_up())
757- self.__candidate_panel.connect("cursor-down",
758- lambda widget: self.cursor_down())
759- self.__candidate_panel.connect("page-up",
760- lambda widget: self.page_up())
761- self.__candidate_panel.connect("page-down",
762- lambda widget: self.page_down())
763- self.__candidate_panel.connect("candidate-clicked",
764- lambda widget, index, button, state: self.candidate_clicked(index, button, state))
765-
766-
767- self.__status_icon = gtk.StatusIcon()
768- self.__status_icon.connect("popup-menu", self.__status_icon_popup_menu_cb)
769- self.__status_icon.connect("activate", self.__status_icon_activate_cb)
770- self.__status_icon.set_from_icon_name(ICON_KEYBOARD)
771- self.__status_icon.set_tooltip(_("IBus input method framework"))
772- self.__status_icon.set_visible(True)
773-
774- self.__config_load_lookup_table_orientation()
775- self.__config_load_show()
776- self.__config_load_position()
777- self.__config_load_custom_font()
778- self.__config_load_show_icon_on_systray()
779- self.__config_load_show_im_name()
780- # self.__bus.request_name(ibus.panel.IBUS_SERVICE_PANEL, 0)
781-
782- def set_cursor_location(self, x, y, w, h):
783- self.__candidate_panel.set_cursor_location(x + w, y + h)
784-
785- def update_preedit_text(self, text, cursor_pos, visible):
786- self.__candidate_panel.update_preedit_text(text, cursor_pos, visible)
787-
788- def show_preedit_text(self):
789- self.__candidate_panel.show_preedit_text()
790-
791- def hide_preedit_text(self):
792- self.__candidate_panel.hide_preedit_text()
793-
794- def update_auxiliary_text(self, text, visible):
795- self.__candidate_panel.update_auxiliary_text(text, visible)
796-
797- def show_auxiliary_text(self):
798- self.__candidate_panel.show_auxiliary_text()
799-
800- def hide_auxiliary_text(self):
801- self.__candidate_panel.hide_auxiliary_text()
802-
803- def update_lookup_table(self, lookup_table, visible):
804- self.__candidate_panel.update_lookup_table(lookup_table, visible)
805-
806- def show_lookup_table(self):
807- self.__candidate_panel.show_lookup_table()
808-
809- def hide_lookup_table(self):
810- self.__candidate_panel.hide_lookup_table()
811-
812- def page_up_lookup_table(self):
813- self.__candidate_panel.page_up_lookup_table()
814-
815- def page_down_lookup_table(self):
816- self.__candidate_panel.page_down_lookup_table()
817-
818- def cursor_up_lookup_table(self):
819- self.__candidate_panel.cursor_up_lookup_table()
820-
821- def cursor_down_lookup_table(self):
822- self.__candidate_panel.cursor_down_lookup_table()
823-
824- def show_candidate_window(self):
825- self.__candidate_panel.show_all()
826-
827- def hide_candidate_window(self):
828- self.__candidate_panel.hide_all()
829-
830- def show_language_bar(self):
831- self.__language_bar.show_all()
832-
833- def hide_language_bar(self):
834- self.__language_bar.hide_all()
835-
836- def register_properties(self, props):
837- self.__language_bar.register_properties(props)
838-
839- def update_property(self, prop):
840- self.__language_bar.update_property(prop)
841-
842- def get_status_icon(self):
843- return self.__status_icon
844-
845- def __set_im_icon(self, icon_name):
846- if not icon_name:
847- icon_name = ICON_ENGINE
848- self.__language_bar.set_im_icon(icon_name)
849- if icon_name.startswith("/"):
850- self.__status_icon.set_from_file(icon_name)
851- else:
852- self.__status_icon.set_from_icon_name(icon_name)
853-
854- def __set_im_name(self, name):
855- self.__language_bar.set_im_name(name)
856-
857- def focus_in(self, ic):
858- self.reset()
859- self.__focus_ic = ibus.InputContext(self.__bus, ic)
860- enabled = self.__focus_ic.is_enabled()
861- self.__language_bar.set_enabled(enabled)
862-
863- if not enabled:
864- self.__set_im_icon(ICON_KEYBOARD)
865- self.__set_im_name(None)
866- else:
867- engine = self.__focus_ic.get_engine()
868- if engine:
869- self.__set_im_icon(engine.icon)
870- self.__set_im_name(engine.longname)
871- else:
872- self.__set_im_icon(ICON_KEYBOARD)
873- self.__set_im_name(None)
874- self.__language_bar.focus_in()
875-
876- def focus_out(self, ic):
877- self.reset()
878- self.__focus_ic = None
879- self.__language_bar.set_enabled(False)
880- self.__language_bar.focus_out()
881- self.__set_im_icon(ICON_KEYBOARD)
882- self.__set_im_name(None)
883-
884- def state_changed(self):
885- if not self.__focus_ic:
886- return
887-
888- enabled = self.__focus_ic.is_enabled()
889- self.__language_bar.set_enabled(enabled)
890-
891- if enabled == False:
892- self.reset()
893- self.__set_im_icon(ICON_KEYBOARD)
894- self.__set_im_name(None)
895- else:
896- engine = self.__focus_ic.get_engine()
897- if engine:
898- self.__set_im_icon(engine.icon)
899- self.__set_im_name(engine.longname)
900- else:
901- self.__set_im_icon(ICON_KEYBOARD)
902- self.__set_im_name(None)
903-
904-
905- def reset(self):
906- self.__candidate_panel.reset()
907- self.__language_bar.reset()
908-
909- def start_setup(self):
910- self.__start_setup()
911-
912- def do_destroy(self):
913- gtk.main_quit()
914-
915- def __config_load_lookup_table_orientation(self):
916- value = self.__config.get_value("panel", "lookup_table_orientation", 0)
917- if value in (ibus.ORIENTATION_HORIZONTAL, ibus.ORIENTATION_VERTICAL):
918- orientation = value
919- else:
920- orientation = ibus.ORIENTATION_HORIZONTAL
921- self.__candidate_panel.set_orientation(orientation)
922-
923- def __config_load_show(self):
924- show = self.__config.get_value("panel", "show", 0)
925- self.__language_bar.set_show(show)
926-
927- def __config_load_position(self):
928- x = self.__config.get_value("panel", "x", -1)
929- y = self.__config.get_value("panel", "y", -1)
930- self.__language_bar.set_position(x, y)
931-
932- def __config_load_custom_font(self):
933- use_custom_font = self.__config.get_value("panel", "use_custom_font", False)
934- font_name = gtk.settings_get_default().get_property("gtk-font-name")
935- font_name = unicode(font_name, "utf-8")
936- custom_font = self.__config.get_value("panel", "custom_font", font_name)
937- style_string = 'style "custom-font" { font_name="%s" }\n' \
938- 'class "IBusCandidateLabel" style "custom-font"\n'
939- if use_custom_font:
940- style_string = style_string % custom_font
941- gtk.rc_parse_string(style_string)
942- else:
943- style_string = style_string % ""
944- gtk.rc_parse_string(style_string)
945-
946- settings = gtk.settings_get_default()
947- gtk.rc_reset_styles(settings)
948-
949- def __config_load_show_icon_on_systray(self):
950- value = self.__config.get_value("panel", "show_icon_on_systray", True)
951- self.__status_icon.set_visible(True if value else False)
952-
953- def __config_load_show_im_name(self):
954- value = self.__config.get_value("panel", "show_im_name", False)
955- self.__language_bar.set_show_im_name(value)
956-
957- def __config_value_changed_cb(self, bus, section, name, value):
958- if section != "panel":
959- return
960- if name == "lookup_table_orientation":
961- self.__config_load_lookup_table_orientation()
962- elif name == "show":
963- self.__config_load_show()
964- elif name == "use_custom_font" or name == "custom_font":
965- self.__config_load_custom_font()
966- elif name == "show_icon_on_systray":
967- self.__config_load_show_icon_on_systray()
968- elif name == "show_im_name":
969- self.__config_load_show_im_name()
970- elif name == "x" or name == "y":
971- pass
972- else:
973- print >> sys.stderr, "Unknown config item [%s]" % name
974-
975- def __config_reloaded_cb(self, bus):
976- pass
977-
978- def __create_sys_menu(self):
979- menu = gtk.Menu()
980- item = gtk.ImageMenuItem(gtk.STOCK_PREFERENCES)
981- item.connect("activate",
982- self.__sys_menu_item_activate_cb, gtk.STOCK_PREFERENCES)
983- menu.add(item)
984- item = gtk.ImageMenuItem(gtk.STOCK_ABOUT)
985- item.connect("activate",
986- self.__sys_menu_item_activate_cb, gtk.STOCK_ABOUT)
987- menu.add(item)
988- menu.add(gtk.SeparatorMenuItem())
989- item = gtk.MenuItem(_("Restart"))
990- item.connect("activate",
991- self.__sys_menu_item_activate_cb, "Restart")
992- menu.add(item)
993- item = gtk.ImageMenuItem(gtk.STOCK_QUIT)
994- item.connect("activate",
995- self.__sys_menu_item_activate_cb, gtk.STOCK_QUIT)
996- menu.add(item)
997-
998- menu.show_all()
999- menu.set_take_focus(False)
1000- return menu
1001-
1002- # def __create_im_menu(self):
1003- # menu = gtk.Menu()
1004- # engines = self.__bus.list_active_engines()
1005-
1006- # tmp = {}
1007- # for engine in engines:
1008- # lang = ibus.get_language_name(engine.language)
1009- # if lang not in tmp:
1010- # tmp[lang] = []
1011- # tmp[lang].append(engine)
1012-
1013- # langs = tmp.keys()
1014- # other = tmp.get(_("Other"), [])
1015- # if _("Other") in tmp:
1016- # langs.remove(_("Other"))
1017- # langs.append(_("Other"))
1018-
1019- # size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
1020- # for lang in langs:
1021- # if len(tmp[lang]) == 1:
1022- # engine = tmp[lang][0]
1023- # item = gtk.ImageMenuItem("%s - %s" % (lang, engine.longname))
1024- # if engine.icon:
1025- # item.set_image(_icon.IconWidget(engine.icon, size[0]))
1026- # else:
1027- # item.set_image(_icon.IconWidget(ICON_ENGINE, size[0]))
1028- # item.connect("activate", self.__im_menu_item_activate_cb, engine)
1029- # menu.add(item)
1030- # else:
1031- # item = gtk.MenuItem(lang)
1032- # menu.add(item)
1033- # submenu = gtk.Menu()
1034- # item.set_submenu(submenu)
1035- # for engine in tmp[lang]:
1036- # item = gtk.ImageMenuItem(engine.longname)
1037- # if engine.icon:
1038- # item.set_image(_icon.IconWidget(engine.icon, size[0]))
1039- # else:
1040- # item.set_image(_icon.IconWidget(ICON_ENGINE, size[0]))
1041- # item.connect("activate", self.__im_menu_item_activate_cb, engine)
1042- # submenu.add(item)
1043-
1044- # item = gtk.ImageMenuItem(_("Turn off input method"))
1045- # item.set_image(_icon.IconWidget("gtk-close", size[0]))
1046- # item.connect("activate", self.__im_menu_item_activate_cb, None)
1047- # menu.add(item)
1048-
1049- # menu.show_all()
1050- # menu.set_take_focus(False)
1051- # return menu
1052-
1053- def __create_im_menu(self):
1054- engines = self.__bus.list_active_engines()
1055- current_engine = \
1056- (self.__focus_ic != None and self.__focus_ic.get_engine()) or \
1057- (engines and engines[0]) or \
1058- None
1059-
1060- size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
1061- menu = gtk.Menu()
1062- for i, engine in enumerate(engines):
1063- lang = ibus.get_language_name(engine.language)
1064- item = gtk.ImageMenuItem("%s - %s" % (lang, engine.longname))
1065- if current_engine and current_engine.name == engine.name:
1066- for widget in item.get_children():
1067- if isinstance(widget, gtk.Label):
1068- widget.set_markup("<b>%s</b>" % widget.get_text())
1069- if engine.icon:
1070- item.set_image(_icon.IconWidget(engine.icon, size[0]))
1071- else:
1072- item.set_image(_icon.IconWidget(ICON_ENGINE, size[0]))
1073- item.connect("activate", self.__im_menu_item_activate_cb, engine)
1074- menu.add(item)
1075-
1076- item = gtk.ImageMenuItem(_("Turn off input method"))
1077- item.set_image(_icon.IconWidget("gtk-close", size[0]))
1078- item.connect("activate", self.__im_menu_item_activate_cb, None)
1079- if self.__focus_ic == None or not self.__focus_ic.is_enabled():
1080- item.set_sensitive(False)
1081- menu.add(item)
1082-
1083- menu.show_all()
1084- menu.set_take_focus(False)
1085- return menu
1086-
1087- def __get_im_menu_cb(self, languagebar):
1088- menu = self.__create_im_menu()
1089- return menu
1090-
1091- def __show_engine_about_cb(self, langagebar):
1092- try:
1093- engine = self.__focus_ic.get_engine()
1094- dlg = EngineAbout(engine)
1095- dlg.run()
1096- dlg.destroy()
1097- except:
1098- pass
1099-
1100- def __position_changed_cb(self, langagebar, x, y):
1101- self.__config.set_value("panel", "x", x)
1102- self.__config.set_value("panel", "y", y)
1103-
1104- def __status_icon_popup_menu_cb(self, status_icon, button, active_time):
1105- menu = self.__create_sys_menu()
1106- menu.popup(None, None,
1107- gtk.status_icon_position_menu,
1108- button,
1109- active_time,
1110- self.__status_icon)
1111-
1112- def __status_icon_activate_cb(self, status_icon):
1113- if not self.__focus_ic:
1114- menu = gtk.Menu()
1115- item = gtk.ImageMenuItem(_("No input window"))
1116- size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
1117- item.set_image(_icon.IconWidget("gtk-info", size[0]))
1118- menu.add(item)
1119- menu.show_all()
1120- else:
1121- menu = self.__create_im_menu()
1122- self.__language_bar.create_im_menu(menu)
1123- menu.popup(None, None,
1124- gtk.status_icon_position_menu,
1125- 0,
1126- gtk.get_current_event_time(),
1127- self.__status_icon)
1128-
1129- def __im_menu_item_activate_cb(self, item, engine):
1130- if not self.__focus_ic:
1131- return
1132- if engine:
1133- self.__focus_ic.set_engine(engine)
1134- else:
1135- self.__focus_ic.disable()
1136-
1137- def __sys_menu_item_activate_cb(self, item, command):
1138- if command == gtk.STOCK_PREFERENCES:
1139- self.__start_setup()
1140- elif command == gtk.STOCK_ABOUT:
1141- about_dialog = gtk.AboutDialog()
1142- about_dialog.set_program_name("IBus")
1143- about_dialog.set_version(ibus.get_version())
1144- about_dialog.set_copyright(ibus.get_copyright())
1145- about_dialog.set_license(ibus.get_license())
1146- about_dialog.set_comments(_("IBus is an intelligent input bus for Linux/Unix."))
1147- about_dialog.set_website("http://code.google.com/p/ibus")
1148- about_dialog.set_authors(["Peng Huang <shawn.p.huang@gmail.com>"])
1149- about_dialog.set_documenters(["Peng Huang <shawn.p.huang@gmail.com>"])
1150- about_dialog.set_translator_credits(_("translator-credits"))
1151- about_dialog.set_logo_icon_name("ibus")
1152- about_dialog.set_icon_name("ibus")
1153- about_dialog.run()
1154- about_dialog.destroy()
1155- elif command == gtk.STOCK_QUIT:
1156- self.__bus.exit(False)
1157- elif command == "Restart":
1158- self.__bus.exit(True)
1159- else:
1160- print >> sys.stderr, "Unknown command %s" % command
1161-
1162- def __sigchld_cb(self, sig, sf):
1163- try:
1164- pid, status = os.wait()
1165- if self.__setup_pid == pid:
1166- self.__setup_pid = 0
1167- except:
1168- pass
1169-
1170- def __start_setup(self):
1171- if self.__setup_pid != 0:
1172- pid, state = os.waitpid(self.__setup_pid, os.P_NOWAIT)
1173- if pid != self.__setup_pid:
1174- os.kill(self.__setup_pid, signal.SIGUSR1)
1175- return
1176- self.__setup_pid = 0
1177- self.__setup_pid = os.spawnl(os.P_NOWAIT, self.__setup_cmd, "ibus-setup")
1178-
1179
1180=== removed directory '.pc/06_show_menuitem.patch'
1181=== removed directory '.pc/06_show_menuitem.patch/ui'
1182=== removed directory '.pc/06_show_menuitem.patch/ui/gtk'
1183=== removed file '.pc/06_show_menuitem.patch/ui/gtk/menu.py'
1184--- .pc/06_show_menuitem.patch/ui/gtk/menu.py 2010-08-13 13:48:19 +0000
1185+++ .pc/06_show_menuitem.patch/ui/gtk/menu.py 1970-01-01 00:00:00 +0000
1186@@ -1,278 +0,0 @@
1187-# vim:set et sts=4 sw=4:
1188-#
1189-# ibus - The Input Bus
1190-#
1191-# Copyright(c) 2007-2010 Peng Huang <shawn.p.huang@gmail.com>
1192-# Copyright(c) 2007-2010 Red Hat, Inc.
1193-#
1194-# This library is free software; you can redistribute it and/or
1195-# modify it under the terms of the GNU Lesser General Public
1196-# License as published by the Free Software Foundation; either
1197-# version 2 of the License, or(at your option) any later version.
1198-#
1199-# This library is distributed in the hope that it will be useful,
1200-# but WITHOUT ANY WARRANTY; without even the implied warranty of
1201-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1202-# GNU Lesser General Public License for more details.
1203-#
1204-# You should have received a copy of the GNU Lesser General Public
1205-# License along with this program; if not, write to the
1206-# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
1207-# Boston, MA 02111-1307 USA
1208-
1209-import gtk
1210-import gobject
1211-import ibus
1212-import icon
1213-from propitem import PropItem
1214-
1215-class Menu(gtk.Menu, PropItem):
1216- __gtype_name__ = "IBusMenu"
1217- __gsignals__ = {
1218- "property-activate" :(
1219- gobject.SIGNAL_RUN_FIRST,
1220- gobject.TYPE_NONE,
1221- (gobject.TYPE_STRING, gobject.TYPE_INT)),
1222- }
1223-
1224- def __init__(self, prop):
1225- gtk.Menu.__init__(self)
1226- PropItem.__init__(self, prop)
1227-
1228- self.set_take_focus(False)
1229- self.__create_items(self._prop.sub_props)
1230- self.show_all()
1231- self.set_sensitive(prop.sensitive)
1232-
1233- def __create_items(self, props):
1234- radio_group = None
1235-
1236- for prop in props:
1237- if prop.type == ibus.PROP_TYPE_NORMAL:
1238- item = ImageMenuItem(prop)
1239- elif prop.type == ibus.PROP_TYPE_TOGGLE:
1240- item = CheckMenuItem(prop)
1241- elif prop.type == ibus.PROP_TYPE_RADIO:
1242- item = RadioMenuItem(radio_group, prop)
1243- radio_group = item
1244- elif prop.type == ibus.PROP_TYPE_SEPARATOR:
1245- item = SeparatorMenuItem()
1246- radio_group = None
1247- elif prop.type == ibus.PROP_TYPE_MENU:
1248- item = ImageMenuItem(prop)
1249- if prop.icon:
1250- size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
1251- item.set_image(icon.IconWidget(prop.icon, size[0]))
1252- if prop.label:
1253- item.set_label(prop.label.text)
1254- item.set_submenu(Menu(prop))
1255- else:
1256- assert Fasle
1257-
1258- if prop.tooltip:
1259- item.set_tooltip_text(prop.tooltip.text)
1260- item.set_sensitive(prop.sensitive)
1261- if prop.visible:
1262- item.set_no_show_all(False)
1263- item.show()
1264- else:
1265- item.set_no_show_all(True)
1266- item.hide()
1267-
1268- self.append(item)
1269- self._sub_items.append(item)
1270-
1271- if prop.type not in (ibus.PROP_TYPE_NORMAL, ibus.PROP_TYPE_TOGGLE, ibus.PROP_TYPE_RADIO):
1272- continue
1273- item.connect("property-activate",
1274- lambda w,n,s: self.emit("property-activate", n, s))
1275-
1276- def popup(self, button, active_time, widget):
1277- gtk.Menu.popup(self, None, None, menu_position,
1278- button, active_time, widget)
1279-
1280- def _property_clicked(self, item, prop):
1281- pass
1282-
1283-
1284-class ImageMenuItem(gtk.ImageMenuItem, PropItem):
1285- __gtype_name__ = "IBusImageMenuItem"
1286- __gsignals__ = {
1287- "property-activate" :(
1288- gobject.SIGNAL_RUN_FIRST,
1289- gobject.TYPE_NONE,
1290- (gobject.TYPE_STRING, gobject.TYPE_INT)),
1291- }
1292-
1293- def __init__(self, prop):
1294- gtk.ImageMenuItem.__init__(self)
1295- PropItem.__init__(self, prop)
1296-
1297- if self._prop.icon:
1298- size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
1299- self.set_image(icon.IconWidget(prop.icon, size[0]))
1300- if self._prop.label:
1301- self.set_label(prop.label.text)
1302-
1303- if self._prop.visible:
1304- self.set_no_show_all(False)
1305- self.show_all()
1306- else:
1307- self.set_no_show_all(True)
1308- self.hide_all()
1309-
1310- def do_activate(self):
1311- self.emit("property-activate", self._prop.key, self._prop.state)
1312-
1313- def property_changed(self):
1314- self.set_sensitive(self._prop.sensitive)
1315- if self._prop.visible:
1316- self.set_no_show_all(False)
1317- self.show_all()
1318- else:
1319- self.set_no_show_all(True)
1320- self.hide_all()
1321-
1322-
1323-class CheckMenuItem(gtk.CheckMenuItem, PropItem):
1324- __gtype_name__ = "IBusCheckMenuItem"
1325- __gsignals__ = {
1326- "property-activate" :(
1327- gobject.SIGNAL_RUN_FIRST,
1328- gobject.TYPE_NONE,
1329- (gobject.TYPE_STRING, gobject.TYPE_INT)),
1330- }
1331-
1332- def __init__(self, prop):
1333- gtk.CheckMenuItem.__init__(self, label=prop.label.text)
1334- PropItem.__init__(self, prop)
1335-
1336- self.set_active(self._prop.state == ibus.PROP_STATE_CHECKED)
1337-
1338- if self._prop.visible:
1339- self.set_no_show_all(False)
1340- self.show_all()
1341- else:
1342- self.set_no_show_all(True)
1343- self.hide_all()
1344-
1345- def do_toggled(self):
1346- # Do not send property-activate to engine in case the event is
1347- # sent from engine.
1348- do_emit = False
1349- if self.get_active():
1350- if self._prop.state != ibus.PROP_STATE_CHECKED:
1351- do_emit = True
1352- self._prop.state = ibus.PROP_STATE_CHECKED
1353- else:
1354- if self._prop.state != ibus.PROP_STATE_UNCHECKED:
1355- do_emit = True
1356- self._prop.state = ibus.PROP_STATE_UNCHECKED
1357- if do_emit:
1358- self.emit("property-activate", self._prop.key, self._prop.state)
1359-
1360- def property_changed(self):
1361- self.set_active(self._prop.state == ibus.PROP_STATE_CHECKED)
1362- self.set_sensitive(self._prop.sensitive)
1363- if self._prop.visible:
1364- self.set_no_show_all(False)
1365- self.show_all()
1366- else:
1367- self.set_no_show_all(True)
1368- self.hide_all()
1369-
1370-
1371-class RadioMenuItem(gtk.RadioMenuItem, PropItem):
1372- __gtype_name__ = "IBusRadioMenuItem"
1373- __gsignals__ = {
1374- "property-activate" :(
1375- gobject.SIGNAL_RUN_FIRST,
1376- gobject.TYPE_NONE,
1377- (gobject.TYPE_STRING, gobject.TYPE_INT)),
1378- }
1379-
1380- def __init__(self, group, prop):
1381- gtk.RadioMenuItem.__init__(self, group, label = prop.label.text)
1382- PropItem.__init__(self, prop)
1383-
1384- self.set_active(self._prop.state == ibus.PROP_STATE_CHECKED)
1385-
1386- if prop.visible:
1387- self.set_no_show_all(False)
1388- self.show_all()
1389- else:
1390- self.set_no_show_all(True)
1391- self.hide_all()
1392-
1393- def property_changed(self):
1394- self.set_active(self._prop.state == ibus.PROP_STATE_CHECKED)
1395- self.set_sensitive(self._prop.sensitive)
1396- if self._prop.visible:
1397- self.set_no_show_all(False)
1398- self.show_all()
1399- else:
1400- self.set_no_show_all(True)
1401- self.hide_all()
1402-
1403- def do_toggled(self):
1404- # Do not send property-activate to engine in case the event is
1405- # sent from engine.
1406- do_emit = False
1407- if self.get_active():
1408- if self._prop.state != ibus.PROP_STATE_CHECKED:
1409- do_emit = True
1410- self._prop.state = ibus.PROP_STATE_CHECKED
1411- else:
1412- if self._prop.state != ibus.PROP_STATE_UNCHECKED:
1413- do_emit = True
1414- self._prop.state = ibus.PROP_STATE_UNCHECKED
1415- if do_emit:
1416- self.emit("property-activate", self._prop.key, self._prop.state)
1417-
1418-class SeparatorMenuItem(gtk.SeparatorMenuItem, PropItem):
1419- __gtype_name__ = "IBusSeparatorMenuItem"
1420- __gsignals__ = {
1421- "property-activate" :(
1422- gobject.SIGNAL_RUN_FIRST,
1423- gobject.TYPE_NONE,
1424- (gobject.TYPE_STRING, gobject.TYPE_INT)),
1425- }
1426-
1427- def __init__(self):
1428- gtk.SeparatorMenuItem.__init__(self)
1429- PropItem.__init__(self, None)
1430-
1431-
1432-def menu_position(menu, button):
1433- screen = button.get_screen()
1434- monitor = screen.get_monitor_at_window(button.window)
1435- monitor_allocation = screen.get_monitor_geometry(monitor)
1436-
1437- x, y = button.window.get_origin()
1438- x += button.allocation.x
1439- y += button.allocation.y
1440-
1441- menu_width, menu_height = menu.size_request()
1442-
1443- if x + menu_width >= monitor_allocation.width:
1444- x -= menu_width - button.allocation.width
1445- elif x - menu_width <= 0:
1446- pass
1447- else:
1448- if x <= monitor_allocation.width * 3 / 4:
1449- pass
1450- else:
1451- x -= menu_width - button.allocation.width
1452-
1453- if y + button.allocation.height + menu_height >= monitor_allocation.height:
1454- y -= menu_height
1455- elif y - menu_height <= 0:
1456- y += button.allocation.height
1457- else:
1458- if y <= monitor_allocation.height * 3 / 4:
1459- y += button.allocation.height
1460- else:
1461- y -= menu_height
1462-
1463- return (x, y, False)
1464-
1465
1466=== removed file '.pc/applied-patches'
1467--- .pc/applied-patches 2010-08-20 16:52:18 +0000
1468+++ .pc/applied-patches 1970-01-01 00:00:00 +0000
1469@@ -1,4 +0,0 @@
1470-01_ubuntu_desktop
1471-02_title_update.patch
1472-05_appindicator.patch
1473-06_show_menuitem.patch
1474
1475=== modified file 'bus/ibus.desktop.in'
1476--- bus/ibus.desktop.in 2010-08-06 19:30:57 +0000
1477+++ bus/ibus.desktop.in 2010-11-15 13:38:02 +0000
1478@@ -3,7 +3,6 @@
1479 _Name=IBus
1480 _GenericName=Input Method Framework
1481 _Comment=Start IBus Input Method Framework
1482-X-Ubuntu-Gettext-Domain=ibus
1483 Exec=ibus-daemon --xim
1484 Icon=ibus
1485 Terminal=false
1486
1487=== removed file 'config.guess'
1488--- config.guess 2010-08-06 19:30:57 +0000
1489+++ config.guess 1970-01-01 00:00:00 +0000
1490@@ -1,1533 +0,0 @@
1491-#! /bin/sh
1492-# Attempt to guess a canonical system name.
1493-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
1494-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
1495-# Free Software Foundation, Inc.
1496-
1497-timestamp='2009-06-10'
1498-
1499-# This file is free software; you can redistribute it and/or modify it
1500-# under the terms of the GNU General Public License as published by
1501-# the Free Software Foundation; either version 2 of the License, or
1502-# (at your option) any later version.
1503-#
1504-# This program is distributed in the hope that it will be useful, but
1505-# WITHOUT ANY WARRANTY; without even the implied warranty of
1506-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1507-# General Public License for more details.
1508-#
1509-# You should have received a copy of the GNU General Public License
1510-# along with this program; if not, write to the Free Software
1511-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
1512-# 02110-1301, USA.
1513-#
1514-# As a special exception to the GNU General Public License, if you
1515-# distribute this file as part of a program that contains a
1516-# configuration script generated by Autoconf, you may include it under
1517-# the same distribution terms that you use for the rest of that program.
1518-
1519-
1520-# Originally written by Per Bothner <per@bothner.com>.
1521-# Please send patches to <config-patches@gnu.org>. Submit a context
1522-# diff and a properly formatted ChangeLog entry.
1523-#
1524-# This script attempts to guess a canonical system name similar to
1525-# config.sub. If it succeeds, it prints the system name on stdout, and
1526-# exits with 0. Otherwise, it exits with 1.
1527-#
1528-# The plan is that this can be called by configure scripts if you
1529-# don't specify an explicit build system type.
1530-
1531-me=`echo "$0" | sed -e 's,.*/,,'`
1532-
1533-usage="\
1534-Usage: $0 [OPTION]
1535-
1536-Output the configuration name of the system \`$me' is run on.
1537-
1538-Operation modes:
1539- -h, --help print this help, then exit
1540- -t, --time-stamp print date of last modification, then exit
1541- -v, --version print version number, then exit
1542-
1543-Report bugs and patches to <config-patches@gnu.org>."
1544-
1545-version="\
1546-GNU config.guess ($timestamp)
1547-
1548-Originally written by Per Bothner.
1549-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
1550-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
1551-
1552-This is free software; see the source for copying conditions. There is NO
1553-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
1554-
1555-help="
1556-Try \`$me --help' for more information."
1557-
1558-# Parse command line
1559-while test $# -gt 0 ; do
1560- case $1 in
1561- --time-stamp | --time* | -t )
1562- echo "$timestamp" ; exit ;;
1563- --version | -v )
1564- echo "$version" ; exit ;;
1565- --help | --h* | -h )
1566- echo "$usage"; exit ;;
1567- -- ) # Stop option processing
1568- shift; break ;;
1569- - ) # Use stdin as input.
1570- break ;;
1571- -* )
1572- echo "$me: invalid option $1$help" >&2
1573- exit 1 ;;
1574- * )
1575- break ;;
1576- esac
1577-done
1578-
1579-if test $# != 0; then
1580- echo "$me: too many arguments$help" >&2
1581- exit 1
1582-fi
1583-
1584-trap 'exit 1' 1 2 15
1585-
1586-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
1587-# compiler to aid in system detection is discouraged as it requires
1588-# temporary files to be created and, as you can see below, it is a
1589-# headache to deal with in a portable fashion.
1590-
1591-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
1592-# use `HOST_CC' if defined, but it is deprecated.
1593-
1594-# Portable tmp directory creation inspired by the Autoconf team.
1595-
1596-set_cc_for_build='
1597-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
1598-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
1599-: ${TMPDIR=/tmp} ;
1600- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
1601- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
1602- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
1603- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
1604-dummy=$tmp/dummy ;
1605-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
1606-case $CC_FOR_BUILD,$HOST_CC,$CC in
1607- ,,) echo "int x;" > $dummy.c ;
1608- for c in cc gcc c89 c99 ; do
1609- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
1610- CC_FOR_BUILD="$c"; break ;
1611- fi ;
1612- done ;
1613- if test x"$CC_FOR_BUILD" = x ; then
1614- CC_FOR_BUILD=no_compiler_found ;
1615- fi
1616- ;;
1617- ,,*) CC_FOR_BUILD=$CC ;;
1618- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
1619-esac ; set_cc_for_build= ;'
1620-
1621-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
1622-# (ghazi@noc.rutgers.edu 1994-08-24)
1623-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
1624- PATH=$PATH:/.attbin ; export PATH
1625-fi
1626-
1627-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
1628-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
1629-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
1630-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
1631-
1632-# Note: order is significant - the case branches are not exclusive.
1633-
1634-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
1635- *:NetBSD:*:*)
1636- # NetBSD (nbsd) targets should (where applicable) match one or
1637- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
1638- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
1639- # switched to ELF, *-*-netbsd* would select the old
1640- # object file format. This provides both forward
1641- # compatibility and a consistent mechanism for selecting the
1642- # object file format.
1643- #
1644- # Note: NetBSD doesn't particularly care about the vendor
1645- # portion of the name. We always set it to "unknown".
1646- sysctl="sysctl -n hw.machine_arch"
1647- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
1648- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
1649- case "${UNAME_MACHINE_ARCH}" in
1650- armeb) machine=armeb-unknown ;;
1651- arm*) machine=arm-unknown ;;
1652- sh3el) machine=shl-unknown ;;
1653- sh3eb) machine=sh-unknown ;;
1654- sh5el) machine=sh5le-unknown ;;
1655- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
1656- esac
1657- # The Operating System including object format, if it has switched
1658- # to ELF recently, or will in the future.
1659- case "${UNAME_MACHINE_ARCH}" in
1660- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
1661- eval $set_cc_for_build
1662- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
1663- | grep -q __ELF__
1664- then
1665- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
1666- # Return netbsd for either. FIX?
1667- os=netbsd
1668- else
1669- os=netbsdelf
1670- fi
1671- ;;
1672- *)
1673- os=netbsd
1674- ;;
1675- esac
1676- # The OS release
1677- # Debian GNU/NetBSD machines have a different userland, and
1678- # thus, need a distinct triplet. However, they do not need
1679- # kernel version information, so it can be replaced with a
1680- # suitable tag, in the style of linux-gnu.
1681- case "${UNAME_VERSION}" in
1682- Debian*)
1683- release='-gnu'
1684- ;;
1685- *)
1686- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
1687- ;;
1688- esac
1689- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
1690- # contains redundant information, the shorter form:
1691- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
1692- echo "${machine}-${os}${release}"
1693- exit ;;
1694- *:OpenBSD:*:*)
1695- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
1696- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
1697- exit ;;
1698- *:ekkoBSD:*:*)
1699- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
1700- exit ;;
1701- *:SolidBSD:*:*)
1702- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
1703- exit ;;
1704- macppc:MirBSD:*:*)
1705- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
1706- exit ;;
1707- *:MirBSD:*:*)
1708- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
1709- exit ;;
1710- alpha:OSF1:*:*)
1711- case $UNAME_RELEASE in
1712- *4.0)
1713- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
1714- ;;
1715- *5.*)
1716- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
1717- ;;
1718- esac
1719- # According to Compaq, /usr/sbin/psrinfo has been available on
1720- # OSF/1 and Tru64 systems produced since 1995. I hope that
1721- # covers most systems running today. This code pipes the CPU
1722- # types through head -n 1, so we only detect the type of CPU 0.
1723- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
1724- case "$ALPHA_CPU_TYPE" in
1725- "EV4 (21064)")
1726- UNAME_MACHINE="alpha" ;;
1727- "EV4.5 (21064)")
1728- UNAME_MACHINE="alpha" ;;
1729- "LCA4 (21066/21068)")
1730- UNAME_MACHINE="alpha" ;;
1731- "EV5 (21164)")
1732- UNAME_MACHINE="alphaev5" ;;
1733- "EV5.6 (21164A)")
1734- UNAME_MACHINE="alphaev56" ;;
1735- "EV5.6 (21164PC)")
1736- UNAME_MACHINE="alphapca56" ;;
1737- "EV5.7 (21164PC)")
1738- UNAME_MACHINE="alphapca57" ;;
1739- "EV6 (21264)")
1740- UNAME_MACHINE="alphaev6" ;;
1741- "EV6.7 (21264A)")
1742- UNAME_MACHINE="alphaev67" ;;
1743- "EV6.8CB (21264C)")
1744- UNAME_MACHINE="alphaev68" ;;
1745- "EV6.8AL (21264B)")
1746- UNAME_MACHINE="alphaev68" ;;
1747- "EV6.8CX (21264D)")
1748- UNAME_MACHINE="alphaev68" ;;
1749- "EV6.9A (21264/EV69A)")
1750- UNAME_MACHINE="alphaev69" ;;
1751- "EV7 (21364)")
1752- UNAME_MACHINE="alphaev7" ;;
1753- "EV7.9 (21364A)")
1754- UNAME_MACHINE="alphaev79" ;;
1755- esac
1756- # A Pn.n version is a patched version.
1757- # A Vn.n version is a released version.
1758- # A Tn.n version is a released field test version.
1759- # A Xn.n version is an unreleased experimental baselevel.
1760- # 1.2 uses "1.2" for uname -r.
1761- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
1762- exit ;;
1763- Alpha\ *:Windows_NT*:*)
1764- # How do we know it's Interix rather than the generic POSIX subsystem?
1765- # Should we change UNAME_MACHINE based on the output of uname instead
1766- # of the specific Alpha model?
1767- echo alpha-pc-interix
1768- exit ;;
1769- 21064:Windows_NT:50:3)
1770- echo alpha-dec-winnt3.5
1771- exit ;;
1772- Amiga*:UNIX_System_V:4.0:*)
1773- echo m68k-unknown-sysv4
1774- exit ;;
1775- *:[Aa]miga[Oo][Ss]:*:*)
1776- echo ${UNAME_MACHINE}-unknown-amigaos
1777- exit ;;
1778- *:[Mm]orph[Oo][Ss]:*:*)
1779- echo ${UNAME_MACHINE}-unknown-morphos
1780- exit ;;
1781- *:OS/390:*:*)
1782- echo i370-ibm-openedition
1783- exit ;;
1784- *:z/VM:*:*)
1785- echo s390-ibm-zvmoe
1786- exit ;;
1787- *:OS400:*:*)
1788- echo powerpc-ibm-os400
1789- exit ;;
1790- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
1791- echo arm-acorn-riscix${UNAME_RELEASE}
1792- exit ;;
1793- arm:riscos:*:*|arm:RISCOS:*:*)
1794- echo arm-unknown-riscos
1795- exit ;;
1796- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
1797- echo hppa1.1-hitachi-hiuxmpp
1798- exit ;;
1799- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
1800- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
1801- if test "`(/bin/universe) 2>/dev/null`" = att ; then
1802- echo pyramid-pyramid-sysv3
1803- else
1804- echo pyramid-pyramid-bsd
1805- fi
1806- exit ;;
1807- NILE*:*:*:dcosx)
1808- echo pyramid-pyramid-svr4
1809- exit ;;
1810- DRS?6000:unix:4.0:6*)
1811- echo sparc-icl-nx6
1812- exit ;;
1813- DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
1814- case `/usr/bin/uname -p` in
1815- sparc) echo sparc-icl-nx7; exit ;;
1816- esac ;;
1817- s390x:SunOS:*:*)
1818- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
1819- exit ;;
1820- sun4H:SunOS:5.*:*)
1821- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
1822- exit ;;
1823- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
1824- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
1825- exit ;;
1826- i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
1827- eval $set_cc_for_build
1828- SUN_ARCH="i386"
1829- # If there is a compiler, see if it is configured for 64-bit objects.
1830- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
1831- # This test works for both compilers.
1832- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1833- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
1834- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1835- grep IS_64BIT_ARCH >/dev/null
1836- then
1837- SUN_ARCH="x86_64"
1838- fi
1839- fi
1840- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
1841- exit ;;
1842- sun4*:SunOS:6*:*)
1843- # According to config.sub, this is the proper way to canonicalize
1844- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
1845- # it's likely to be more like Solaris than SunOS4.
1846- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
1847- exit ;;
1848- sun4*:SunOS:*:*)
1849- case "`/usr/bin/arch -k`" in
1850- Series*|S4*)
1851- UNAME_RELEASE=`uname -v`
1852- ;;
1853- esac
1854- # Japanese Language versions have a version number like `4.1.3-JL'.
1855- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
1856- exit ;;
1857- sun3*:SunOS:*:*)
1858- echo m68k-sun-sunos${UNAME_RELEASE}
1859- exit ;;
1860- sun*:*:4.2BSD:*)
1861- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
1862- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
1863- case "`/bin/arch`" in
1864- sun3)
1865- echo m68k-sun-sunos${UNAME_RELEASE}
1866- ;;
1867- sun4)
1868- echo sparc-sun-sunos${UNAME_RELEASE}
1869- ;;
1870- esac
1871- exit ;;
1872- aushp:SunOS:*:*)
1873- echo sparc-auspex-sunos${UNAME_RELEASE}
1874- exit ;;
1875- # The situation for MiNT is a little confusing. The machine name
1876- # can be virtually everything (everything which is not
1877- # "atarist" or "atariste" at least should have a processor
1878- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
1879- # to the lowercase version "mint" (or "freemint"). Finally
1880- # the system name "TOS" denotes a system which is actually not
1881- # MiNT. But MiNT is downward compatible to TOS, so this should
1882- # be no problem.
1883- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
1884- echo m68k-atari-mint${UNAME_RELEASE}
1885- exit ;;
1886- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
1887- echo m68k-atari-mint${UNAME_RELEASE}
1888- exit ;;
1889- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
1890- echo m68k-atari-mint${UNAME_RELEASE}
1891- exit ;;
1892- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
1893- echo m68k-milan-mint${UNAME_RELEASE}
1894- exit ;;
1895- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
1896- echo m68k-hades-mint${UNAME_RELEASE}
1897- exit ;;
1898- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
1899- echo m68k-unknown-mint${UNAME_RELEASE}
1900- exit ;;
1901- m68k:machten:*:*)
1902- echo m68k-apple-machten${UNAME_RELEASE}
1903- exit ;;
1904- powerpc:machten:*:*)
1905- echo powerpc-apple-machten${UNAME_RELEASE}
1906- exit ;;
1907- RISC*:Mach:*:*)
1908- echo mips-dec-mach_bsd4.3
1909- exit ;;
1910- RISC*:ULTRIX:*:*)
1911- echo mips-dec-ultrix${UNAME_RELEASE}
1912- exit ;;
1913- VAX*:ULTRIX*:*:*)
1914- echo vax-dec-ultrix${UNAME_RELEASE}
1915- exit ;;
1916- 2020:CLIX:*:* | 2430:CLIX:*:*)
1917- echo clipper-intergraph-clix${UNAME_RELEASE}
1918- exit ;;
1919- mips:*:*:UMIPS | mips:*:*:RISCos)
1920- eval $set_cc_for_build
1921- sed 's/^ //' << EOF >$dummy.c
1922-#ifdef __cplusplus
1923-#include <stdio.h> /* for printf() prototype */
1924- int main (int argc, char *argv[]) {
1925-#else
1926- int main (argc, argv) int argc; char *argv[]; {
1927-#endif
1928- #if defined (host_mips) && defined (MIPSEB)
1929- #if defined (SYSTYPE_SYSV)
1930- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
1931- #endif
1932- #if defined (SYSTYPE_SVR4)
1933- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
1934- #endif
1935- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
1936- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
1937- #endif
1938- #endif
1939- exit (-1);
1940- }
1941-EOF
1942- $CC_FOR_BUILD -o $dummy $dummy.c &&
1943- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
1944- SYSTEM_NAME=`$dummy $dummyarg` &&
1945- { echo "$SYSTEM_NAME"; exit; }
1946- echo mips-mips-riscos${UNAME_RELEASE}
1947- exit ;;
1948- Motorola:PowerMAX_OS:*:*)
1949- echo powerpc-motorola-powermax
1950- exit ;;
1951- Motorola:*:4.3:PL8-*)
1952- echo powerpc-harris-powermax
1953- exit ;;
1954- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
1955- echo powerpc-harris-powermax
1956- exit ;;
1957- Night_Hawk:Power_UNIX:*:*)
1958- echo powerpc-harris-powerunix
1959- exit ;;
1960- m88k:CX/UX:7*:*)
1961- echo m88k-harris-cxux7
1962- exit ;;
1963- m88k:*:4*:R4*)
1964- echo m88k-motorola-sysv4
1965- exit ;;
1966- m88k:*:3*:R3*)
1967- echo m88k-motorola-sysv3
1968- exit ;;
1969- AViiON:dgux:*:*)
1970- # DG/UX returns AViiON for all architectures
1971- UNAME_PROCESSOR=`/usr/bin/uname -p`
1972- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
1973- then
1974- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
1975- [ ${TARGET_BINARY_INTERFACE}x = x ]
1976- then
1977- echo m88k-dg-dgux${UNAME_RELEASE}
1978- else
1979- echo m88k-dg-dguxbcs${UNAME_RELEASE}
1980- fi
1981- else
1982- echo i586-dg-dgux${UNAME_RELEASE}
1983- fi
1984- exit ;;
1985- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
1986- echo m88k-dolphin-sysv3
1987- exit ;;
1988- M88*:*:R3*:*)
1989- # Delta 88k system running SVR3
1990- echo m88k-motorola-sysv3
1991- exit ;;
1992- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
1993- echo m88k-tektronix-sysv3
1994- exit ;;
1995- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
1996- echo m68k-tektronix-bsd
1997- exit ;;
1998- *:IRIX*:*:*)
1999- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
2000- exit ;;
2001- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
2002- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
2003- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
2004- i*86:AIX:*:*)
2005- echo i386-ibm-aix
2006- exit ;;
2007- ia64:AIX:*:*)
2008- if [ -x /usr/bin/oslevel ] ; then
2009- IBM_REV=`/usr/bin/oslevel`
2010- else
2011- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
2012- fi
2013- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
2014- exit ;;
2015- *:AIX:2:3)
2016- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
2017- eval $set_cc_for_build
2018- sed 's/^ //' << EOF >$dummy.c
2019- #include <sys/systemcfg.h>
2020-
2021- main()
2022- {
2023- if (!__power_pc())
2024- exit(1);
2025- puts("powerpc-ibm-aix3.2.5");
2026- exit(0);
2027- }
2028-EOF
2029- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
2030- then
2031- echo "$SYSTEM_NAME"
2032- else
2033- echo rs6000-ibm-aix3.2.5
2034- fi
2035- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
2036- echo rs6000-ibm-aix3.2.4
2037- else
2038- echo rs6000-ibm-aix3.2
2039- fi
2040- exit ;;
2041- *:AIX:*:[456])
2042- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
2043- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
2044- IBM_ARCH=rs6000
2045- else
2046- IBM_ARCH=powerpc
2047- fi
2048- if [ -x /usr/bin/oslevel ] ; then
2049- IBM_REV=`/usr/bin/oslevel`
2050- else
2051- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
2052- fi
2053- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
2054- exit ;;
2055- *:AIX:*:*)
2056- echo rs6000-ibm-aix
2057- exit ;;
2058- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
2059- echo romp-ibm-bsd4.4
2060- exit ;;
2061- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
2062- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
2063- exit ;; # report: romp-ibm BSD 4.3
2064- *:BOSX:*:*)
2065- echo rs6000-bull-bosx
2066- exit ;;
2067- DPX/2?00:B.O.S.:*:*)
2068- echo m68k-bull-sysv3
2069- exit ;;
2070- 9000/[34]??:4.3bsd:1.*:*)
2071- echo m68k-hp-bsd
2072- exit ;;
2073- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
2074- echo m68k-hp-bsd4.4
2075- exit ;;
2076- 9000/[34678]??:HP-UX:*:*)
2077- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
2078- case "${UNAME_MACHINE}" in
2079- 9000/31? ) HP_ARCH=m68000 ;;
2080- 9000/[34]?? ) HP_ARCH=m68k ;;
2081- 9000/[678][0-9][0-9])
2082- if [ -x /usr/bin/getconf ]; then
2083- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
2084- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
2085- case "${sc_cpu_version}" in
2086- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
2087- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
2088- 532) # CPU_PA_RISC2_0
2089- case "${sc_kernel_bits}" in
2090- 32) HP_ARCH="hppa2.0n" ;;
2091- 64) HP_ARCH="hppa2.0w" ;;
2092- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
2093- esac ;;
2094- esac
2095- fi
2096- if [ "${HP_ARCH}" = "" ]; then
2097- eval $set_cc_for_build
2098- sed 's/^ //' << EOF >$dummy.c
2099-
2100- #define _HPUX_SOURCE
2101- #include <stdlib.h>
2102- #include <unistd.h>
2103-
2104- int main ()
2105- {
2106- #if defined(_SC_KERNEL_BITS)
2107- long bits = sysconf(_SC_KERNEL_BITS);
2108- #endif
2109- long cpu = sysconf (_SC_CPU_VERSION);
2110-
2111- switch (cpu)
2112- {
2113- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
2114- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
2115- case CPU_PA_RISC2_0:
2116- #if defined(_SC_KERNEL_BITS)
2117- switch (bits)
2118- {
2119- case 64: puts ("hppa2.0w"); break;
2120- case 32: puts ("hppa2.0n"); break;
2121- default: puts ("hppa2.0"); break;
2122- } break;
2123- #else /* !defined(_SC_KERNEL_BITS) */
2124- puts ("hppa2.0"); break;
2125- #endif
2126- default: puts ("hppa1.0"); break;
2127- }
2128- exit (0);
2129- }
2130-EOF
2131- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
2132- test -z "$HP_ARCH" && HP_ARCH=hppa
2133- fi ;;
2134- esac
2135- if [ ${HP_ARCH} = "hppa2.0w" ]
2136- then
2137- eval $set_cc_for_build
2138-
2139- # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
2140- # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
2141- # generating 64-bit code. GNU and HP use different nomenclature:
2142- #
2143- # $ CC_FOR_BUILD=cc ./config.guess
2144- # => hppa2.0w-hp-hpux11.23
2145- # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
2146- # => hppa64-hp-hpux11.23
2147-
2148- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
2149- grep -q __LP64__
2150- then
2151- HP_ARCH="hppa2.0w"
2152- else
2153- HP_ARCH="hppa64"
2154- fi
2155- fi
2156- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
2157- exit ;;
2158- ia64:HP-UX:*:*)
2159- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
2160- echo ia64-hp-hpux${HPUX_REV}
2161- exit ;;
2162- 3050*:HI-UX:*:*)
2163- eval $set_cc_for_build
2164- sed 's/^ //' << EOF >$dummy.c
2165- #include <unistd.h>
2166- int
2167- main ()
2168- {
2169- long cpu = sysconf (_SC_CPU_VERSION);
2170- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
2171- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
2172- results, however. */
2173- if (CPU_IS_PA_RISC (cpu))
2174- {
2175- switch (cpu)
2176- {
2177- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
2178- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
2179- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
2180- default: puts ("hppa-hitachi-hiuxwe2"); break;
2181- }
2182- }
2183- else if (CPU_IS_HP_MC68K (cpu))
2184- puts ("m68k-hitachi-hiuxwe2");
2185- else puts ("unknown-hitachi-hiuxwe2");
2186- exit (0);
2187- }
2188-EOF
2189- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
2190- { echo "$SYSTEM_NAME"; exit; }
2191- echo unknown-hitachi-hiuxwe2
2192- exit ;;
2193- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
2194- echo hppa1.1-hp-bsd
2195- exit ;;
2196- 9000/8??:4.3bsd:*:*)
2197- echo hppa1.0-hp-bsd
2198- exit ;;
2199- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
2200- echo hppa1.0-hp-mpeix
2201- exit ;;
2202- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
2203- echo hppa1.1-hp-osf
2204- exit ;;
2205- hp8??:OSF1:*:*)
2206- echo hppa1.0-hp-osf
2207- exit ;;
2208- i*86:OSF1:*:*)
2209- if [ -x /usr/sbin/sysversion ] ; then
2210- echo ${UNAME_MACHINE}-unknown-osf1mk
2211- else
2212- echo ${UNAME_MACHINE}-unknown-osf1
2213- fi
2214- exit ;;
2215- parisc*:Lites*:*:*)
2216- echo hppa1.1-hp-lites
2217- exit ;;
2218- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
2219- echo c1-convex-bsd
2220- exit ;;
2221- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
2222- if getsysinfo -f scalar_acc
2223- then echo c32-convex-bsd
2224- else echo c2-convex-bsd
2225- fi
2226- exit ;;
2227- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
2228- echo c34-convex-bsd
2229- exit ;;
2230- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
2231- echo c38-convex-bsd
2232- exit ;;
2233- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
2234- echo c4-convex-bsd
2235- exit ;;
2236- CRAY*Y-MP:*:*:*)
2237- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
2238- exit ;;
2239- CRAY*[A-Z]90:*:*:*)
2240- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
2241- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
2242- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
2243- -e 's/\.[^.]*$/.X/'
2244- exit ;;
2245- CRAY*TS:*:*:*)
2246- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
2247- exit ;;
2248- CRAY*T3E:*:*:*)
2249- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
2250- exit ;;
2251- CRAY*SV1:*:*:*)
2252- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
2253- exit ;;
2254- *:UNICOS/mp:*:*)
2255- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
2256- exit ;;
2257- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
2258- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
2259- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
2260- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
2261- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
2262- exit ;;
2263- 5000:UNIX_System_V:4.*:*)
2264- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
2265- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
2266- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
2267- exit ;;
2268- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
2269- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
2270- exit ;;
2271- sparc*:BSD/OS:*:*)
2272- echo sparc-unknown-bsdi${UNAME_RELEASE}
2273- exit ;;
2274- *:BSD/OS:*:*)
2275- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
2276- exit ;;
2277- *:FreeBSD:*:*)
2278- case ${UNAME_MACHINE} in
2279- pc98)
2280- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
2281- amd64)
2282- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
2283- *)
2284- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
2285- esac
2286- exit ;;
2287- i*:CYGWIN*:*)
2288- echo ${UNAME_MACHINE}-pc-cygwin
2289- exit ;;
2290- *:MINGW*:*)
2291- echo ${UNAME_MACHINE}-pc-mingw32
2292- exit ;;
2293- i*:windows32*:*)
2294- # uname -m includes "-pc" on this system.
2295- echo ${UNAME_MACHINE}-mingw32
2296- exit ;;
2297- i*:PW*:*)
2298- echo ${UNAME_MACHINE}-pc-pw32
2299- exit ;;
2300- *:Interix*:[3456]*)
2301- case ${UNAME_MACHINE} in
2302- x86)
2303- echo i586-pc-interix${UNAME_RELEASE}
2304- exit ;;
2305- EM64T | authenticamd | genuineintel)
2306- echo x86_64-unknown-interix${UNAME_RELEASE}
2307- exit ;;
2308- IA64)
2309- echo ia64-unknown-interix${UNAME_RELEASE}
2310- exit ;;
2311- esac ;;
2312- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
2313- echo i${UNAME_MACHINE}-pc-mks
2314- exit ;;
2315- 8664:Windows_NT:*)
2316- echo x86_64-pc-mks
2317- exit ;;
2318- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
2319- # How do we know it's Interix rather than the generic POSIX subsystem?
2320- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
2321- # UNAME_MACHINE based on the output of uname instead of i386?
2322- echo i586-pc-interix
2323- exit ;;
2324- i*:UWIN*:*)
2325- echo ${UNAME_MACHINE}-pc-uwin
2326- exit ;;
2327- amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
2328- echo x86_64-unknown-cygwin
2329- exit ;;
2330- p*:CYGWIN*:*)
2331- echo powerpcle-unknown-cygwin
2332- exit ;;
2333- prep*:SunOS:5.*:*)
2334- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
2335- exit ;;
2336- *:GNU:*:*)
2337- # the GNU system
2338- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
2339- exit ;;
2340- *:GNU/*:*:*)
2341- # other systems with GNU libc and userland
2342- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
2343- exit ;;
2344- i*86:Minix:*:*)
2345- echo ${UNAME_MACHINE}-pc-minix
2346- exit ;;
2347- arm*:Linux:*:*)
2348- eval $set_cc_for_build
2349- if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
2350- | grep -q __ARM_EABI__
2351- then
2352- echo ${UNAME_MACHINE}-unknown-linux-gnu
2353- else
2354- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
2355- fi
2356- exit ;;
2357- avr32*:Linux:*:*)
2358- echo ${UNAME_MACHINE}-unknown-linux-gnu
2359- exit ;;
2360- cris:Linux:*:*)
2361- echo cris-axis-linux-gnu
2362- exit ;;
2363- crisv32:Linux:*:*)
2364- echo crisv32-axis-linux-gnu
2365- exit ;;
2366- frv:Linux:*:*)
2367- echo frv-unknown-linux-gnu
2368- exit ;;
2369- ia64:Linux:*:*)
2370- echo ${UNAME_MACHINE}-unknown-linux-gnu
2371- exit ;;
2372- m32r*:Linux:*:*)
2373- echo ${UNAME_MACHINE}-unknown-linux-gnu
2374- exit ;;
2375- m68*:Linux:*:*)
2376- echo ${UNAME_MACHINE}-unknown-linux-gnu
2377- exit ;;
2378- mips:Linux:*:* | mips64:Linux:*:*)
2379- eval $set_cc_for_build
2380- sed 's/^ //' << EOF >$dummy.c
2381- #undef CPU
2382- #undef ${UNAME_MACHINE}
2383- #undef ${UNAME_MACHINE}el
2384- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
2385- CPU=${UNAME_MACHINE}el
2386- #else
2387- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
2388- CPU=${UNAME_MACHINE}
2389- #else
2390- CPU=
2391- #endif
2392- #endif
2393-EOF
2394- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
2395- /^CPU/{
2396- s: ::g
2397- p
2398- }'`"
2399- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
2400- ;;
2401- or32:Linux:*:*)
2402- echo or32-unknown-linux-gnu
2403- exit ;;
2404- ppc:Linux:*:*)
2405- echo powerpc-unknown-linux-gnu
2406- exit ;;
2407- ppc64:Linux:*:*)
2408- echo powerpc64-unknown-linux-gnu
2409- exit ;;
2410- alpha:Linux:*:*)
2411- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
2412- EV5) UNAME_MACHINE=alphaev5 ;;
2413- EV56) UNAME_MACHINE=alphaev56 ;;
2414- PCA56) UNAME_MACHINE=alphapca56 ;;
2415- PCA57) UNAME_MACHINE=alphapca56 ;;
2416- EV6) UNAME_MACHINE=alphaev6 ;;
2417- EV67) UNAME_MACHINE=alphaev67 ;;
2418- EV68*) UNAME_MACHINE=alphaev68 ;;
2419- esac
2420- objdump --private-headers /bin/sh | grep -q ld.so.1
2421- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
2422- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
2423- exit ;;
2424- padre:Linux:*:*)
2425- echo sparc-unknown-linux-gnu
2426- exit ;;
2427- parisc:Linux:*:* | hppa:Linux:*:*)
2428- # Look for CPU level
2429- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
2430- PA7*) echo hppa1.1-unknown-linux-gnu ;;
2431- PA8*) echo hppa2.0-unknown-linux-gnu ;;
2432- *) echo hppa-unknown-linux-gnu ;;
2433- esac
2434- exit ;;
2435- parisc64:Linux:*:* | hppa64:Linux:*:*)
2436- echo hppa64-unknown-linux-gnu
2437- exit ;;
2438- s390:Linux:*:* | s390x:Linux:*:*)
2439- echo ${UNAME_MACHINE}-ibm-linux
2440- exit ;;
2441- sh64*:Linux:*:*)
2442- echo ${UNAME_MACHINE}-unknown-linux-gnu
2443- exit ;;
2444- sh*:Linux:*:*)
2445- echo ${UNAME_MACHINE}-unknown-linux-gnu
2446- exit ;;
2447- sparc:Linux:*:* | sparc64:Linux:*:*)
2448- echo ${UNAME_MACHINE}-unknown-linux-gnu
2449- exit ;;
2450- vax:Linux:*:*)
2451- echo ${UNAME_MACHINE}-dec-linux-gnu
2452- exit ;;
2453- x86_64:Linux:*:*)
2454- echo x86_64-unknown-linux-gnu
2455- exit ;;
2456- xtensa*:Linux:*:*)
2457- echo ${UNAME_MACHINE}-unknown-linux-gnu
2458- exit ;;
2459- i*86:Linux:*:*)
2460- # The BFD linker knows what the default object file format is, so
2461- # first see if it will tell us. cd to the root directory to prevent
2462- # problems with other programs or directories called `ld' in the path.
2463- # Set LC_ALL=C to ensure ld outputs messages in English.
2464- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
2465- | sed -ne '/supported targets:/!d
2466- s/[ ][ ]*/ /g
2467- s/.*supported targets: *//
2468- s/ .*//
2469- p'`
2470- case "$ld_supported_targets" in
2471- elf32-i386)
2472- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
2473- ;;
2474- esac
2475- # Determine whether the default compiler is a.out or elf
2476- eval $set_cc_for_build
2477- sed 's/^ //' << EOF >$dummy.c
2478- #include <features.h>
2479- #ifdef __ELF__
2480- # ifdef __GLIBC__
2481- # if __GLIBC__ >= 2
2482- LIBC=gnu
2483- # else
2484- LIBC=gnulibc1
2485- # endif
2486- # else
2487- LIBC=gnulibc1
2488- # endif
2489- #else
2490- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
2491- LIBC=gnu
2492- #else
2493- LIBC=gnuaout
2494- #endif
2495- #endif
2496- #ifdef __dietlibc__
2497- LIBC=dietlibc
2498- #endif
2499-EOF
2500- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
2501- /^LIBC/{
2502- s: ::g
2503- p
2504- }'`"
2505- test x"${LIBC}" != x && {
2506- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
2507- exit
2508- }
2509- test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
2510- ;;
2511- i*86:DYNIX/ptx:4*:*)
2512- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
2513- # earlier versions are messed up and put the nodename in both
2514- # sysname and nodename.
2515- echo i386-sequent-sysv4
2516- exit ;;
2517- i*86:UNIX_SV:4.2MP:2.*)
2518- # Unixware is an offshoot of SVR4, but it has its own version
2519- # number series starting with 2...
2520- # I am not positive that other SVR4 systems won't match this,
2521- # I just have to hope. -- rms.
2522- # Use sysv4.2uw... so that sysv4* matches it.
2523- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
2524- exit ;;
2525- i*86:OS/2:*:*)
2526- # If we were able to find `uname', then EMX Unix compatibility
2527- # is probably installed.
2528- echo ${UNAME_MACHINE}-pc-os2-emx
2529- exit ;;
2530- i*86:XTS-300:*:STOP)
2531- echo ${UNAME_MACHINE}-unknown-stop
2532- exit ;;
2533- i*86:atheos:*:*)
2534- echo ${UNAME_MACHINE}-unknown-atheos
2535- exit ;;
2536- i*86:syllable:*:*)
2537- echo ${UNAME_MACHINE}-pc-syllable
2538- exit ;;
2539- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
2540- echo i386-unknown-lynxos${UNAME_RELEASE}
2541- exit ;;
2542- i*86:*DOS:*:*)
2543- echo ${UNAME_MACHINE}-pc-msdosdjgpp
2544- exit ;;
2545- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
2546- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
2547- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
2548- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
2549- else
2550- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
2551- fi
2552- exit ;;
2553- i*86:*:5:[678]*)
2554- # UnixWare 7.x, OpenUNIX and OpenServer 6.
2555- case `/bin/uname -X | grep "^Machine"` in
2556- *486*) UNAME_MACHINE=i486 ;;
2557- *Pentium) UNAME_MACHINE=i586 ;;
2558- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
2559- esac
2560- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
2561- exit ;;
2562- i*86:*:3.2:*)
2563- if test -f /usr/options/cb.name; then
2564- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
2565- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
2566- elif /bin/uname -X 2>/dev/null >/dev/null ; then
2567- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
2568- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
2569- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
2570- && UNAME_MACHINE=i586
2571- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
2572- && UNAME_MACHINE=i686
2573- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
2574- && UNAME_MACHINE=i686
2575- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
2576- else
2577- echo ${UNAME_MACHINE}-pc-sysv32
2578- fi
2579- exit ;;
2580- pc:*:*:*)
2581- # Left here for compatibility:
2582- # uname -m prints for DJGPP always 'pc', but it prints nothing about
2583- # the processor, so we play safe by assuming i586.
2584- # Note: whatever this is, it MUST be the same as what config.sub
2585- # prints for the "djgpp" host, or else GDB configury will decide that
2586- # this is a cross-build.
2587- echo i586-pc-msdosdjgpp
2588- exit ;;
2589- Intel:Mach:3*:*)
2590- echo i386-pc-mach3
2591- exit ;;
2592- paragon:*:*:*)
2593- echo i860-intel-osf1
2594- exit ;;
2595- i860:*:4.*:*) # i860-SVR4
2596- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
2597- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
2598- else # Add other i860-SVR4 vendors below as they are discovered.
2599- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
2600- fi
2601- exit ;;
2602- mini*:CTIX:SYS*5:*)
2603- # "miniframe"
2604- echo m68010-convergent-sysv
2605- exit ;;
2606- mc68k:UNIX:SYSTEM5:3.51m)
2607- echo m68k-convergent-sysv
2608- exit ;;
2609- M680?0:D-NIX:5.3:*)
2610- echo m68k-diab-dnix
2611- exit ;;
2612- M68*:*:R3V[5678]*:*)
2613- test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
2614- 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)
2615- OS_REL=''
2616- test -r /etc/.relid \
2617- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
2618- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
2619- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
2620- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
2621- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
2622- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
2623- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
2624- && { echo i486-ncr-sysv4; exit; } ;;
2625- NCR*:*:4.2:* | MPRAS*:*:4.2:*)
2626- OS_REL='.3'
2627- test -r /etc/.relid \
2628- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
2629- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
2630- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
2631- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
2632- && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
2633- /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
2634- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
2635- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
2636- echo m68k-unknown-lynxos${UNAME_RELEASE}
2637- exit ;;
2638- mc68030:UNIX_System_V:4.*:*)
2639- echo m68k-atari-sysv4
2640- exit ;;
2641- TSUNAMI:LynxOS:2.*:*)
2642- echo sparc-unknown-lynxos${UNAME_RELEASE}
2643- exit ;;
2644- rs6000:LynxOS:2.*:*)
2645- echo rs6000-unknown-lynxos${UNAME_RELEASE}
2646- exit ;;
2647- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
2648- echo powerpc-unknown-lynxos${UNAME_RELEASE}
2649- exit ;;
2650- SM[BE]S:UNIX_SV:*:*)
2651- echo mips-dde-sysv${UNAME_RELEASE}
2652- exit ;;
2653- RM*:ReliantUNIX-*:*:*)
2654- echo mips-sni-sysv4
2655- exit ;;
2656- RM*:SINIX-*:*:*)
2657- echo mips-sni-sysv4
2658- exit ;;
2659- *:SINIX-*:*:*)
2660- if uname -p 2>/dev/null >/dev/null ; then
2661- UNAME_MACHINE=`(uname -p) 2>/dev/null`
2662- echo ${UNAME_MACHINE}-sni-sysv4
2663- else
2664- echo ns32k-sni-sysv
2665- fi
2666- exit ;;
2667- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
2668- # says <Richard.M.Bartel@ccMail.Census.GOV>
2669- echo i586-unisys-sysv4
2670- exit ;;
2671- *:UNIX_System_V:4*:FTX*)
2672- # From Gerald Hewes <hewes@openmarket.com>.
2673- # How about differentiating between stratus architectures? -djm
2674- echo hppa1.1-stratus-sysv4
2675- exit ;;
2676- *:*:*:FTX*)
2677- # From seanf@swdc.stratus.com.
2678- echo i860-stratus-sysv4
2679- exit ;;
2680- i*86:VOS:*:*)
2681- # From Paul.Green@stratus.com.
2682- echo ${UNAME_MACHINE}-stratus-vos
2683- exit ;;
2684- *:VOS:*:*)
2685- # From Paul.Green@stratus.com.
2686- echo hppa1.1-stratus-vos
2687- exit ;;
2688- mc68*:A/UX:*:*)
2689- echo m68k-apple-aux${UNAME_RELEASE}
2690- exit ;;
2691- news*:NEWS-OS:6*:*)
2692- echo mips-sony-newsos6
2693- exit ;;
2694- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
2695- if [ -d /usr/nec ]; then
2696- echo mips-nec-sysv${UNAME_RELEASE}
2697- else
2698- echo mips-unknown-sysv${UNAME_RELEASE}
2699- fi
2700- exit ;;
2701- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
2702- echo powerpc-be-beos
2703- exit ;;
2704- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
2705- echo powerpc-apple-beos
2706- exit ;;
2707- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
2708- echo i586-pc-beos
2709- exit ;;
2710- BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
2711- echo i586-pc-haiku
2712- exit ;;
2713- SX-4:SUPER-UX:*:*)
2714- echo sx4-nec-superux${UNAME_RELEASE}
2715- exit ;;
2716- SX-5:SUPER-UX:*:*)
2717- echo sx5-nec-superux${UNAME_RELEASE}
2718- exit ;;
2719- SX-6:SUPER-UX:*:*)
2720- echo sx6-nec-superux${UNAME_RELEASE}
2721- exit ;;
2722- SX-7:SUPER-UX:*:*)
2723- echo sx7-nec-superux${UNAME_RELEASE}
2724- exit ;;
2725- SX-8:SUPER-UX:*:*)
2726- echo sx8-nec-superux${UNAME_RELEASE}
2727- exit ;;
2728- SX-8R:SUPER-UX:*:*)
2729- echo sx8r-nec-superux${UNAME_RELEASE}
2730- exit ;;
2731- Power*:Rhapsody:*:*)
2732- echo powerpc-apple-rhapsody${UNAME_RELEASE}
2733- exit ;;
2734- *:Rhapsody:*:*)
2735- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
2736- exit ;;
2737- *:Darwin:*:*)
2738- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
2739- case $UNAME_PROCESSOR in
2740- unknown) UNAME_PROCESSOR=powerpc ;;
2741- esac
2742- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
2743- exit ;;
2744- *:procnto*:*:* | *:QNX:[0123456789]*:*)
2745- UNAME_PROCESSOR=`uname -p`
2746- if test "$UNAME_PROCESSOR" = "x86"; then
2747- UNAME_PROCESSOR=i386
2748- UNAME_MACHINE=pc
2749- fi
2750- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
2751- exit ;;
2752- *:QNX:*:4*)
2753- echo i386-pc-qnx
2754- exit ;;
2755- NSE-?:NONSTOP_KERNEL:*:*)
2756- echo nse-tandem-nsk${UNAME_RELEASE}
2757- exit ;;
2758- NSR-?:NONSTOP_KERNEL:*:*)
2759- echo nsr-tandem-nsk${UNAME_RELEASE}
2760- exit ;;
2761- *:NonStop-UX:*:*)
2762- echo mips-compaq-nonstopux
2763- exit ;;
2764- BS2000:POSIX*:*:*)
2765- echo bs2000-siemens-sysv
2766- exit ;;
2767- DS/*:UNIX_System_V:*:*)
2768- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
2769- exit ;;
2770- *:Plan9:*:*)
2771- # "uname -m" is not consistent, so use $cputype instead. 386
2772- # is converted to i386 for consistency with other x86
2773- # operating systems.
2774- if test "$cputype" = "386"; then
2775- UNAME_MACHINE=i386
2776- else
2777- UNAME_MACHINE="$cputype"
2778- fi
2779- echo ${UNAME_MACHINE}-unknown-plan9
2780- exit ;;
2781- *:TOPS-10:*:*)
2782- echo pdp10-unknown-tops10
2783- exit ;;
2784- *:TENEX:*:*)
2785- echo pdp10-unknown-tenex
2786- exit ;;
2787- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
2788- echo pdp10-dec-tops20
2789- exit ;;
2790- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
2791- echo pdp10-xkl-tops20
2792- exit ;;
2793- *:TOPS-20:*:*)
2794- echo pdp10-unknown-tops20
2795- exit ;;
2796- *:ITS:*:*)
2797- echo pdp10-unknown-its
2798- exit ;;
2799- SEI:*:*:SEIUX)
2800- echo mips-sei-seiux${UNAME_RELEASE}
2801- exit ;;
2802- *:DragonFly:*:*)
2803- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
2804- exit ;;
2805- *:*VMS:*:*)
2806- UNAME_MACHINE=`(uname -p) 2>/dev/null`
2807- case "${UNAME_MACHINE}" in
2808- A*) echo alpha-dec-vms ; exit ;;
2809- I*) echo ia64-dec-vms ; exit ;;
2810- V*) echo vax-dec-vms ; exit ;;
2811- esac ;;
2812- *:XENIX:*:SysV)
2813- echo i386-pc-xenix
2814- exit ;;
2815- i*86:skyos:*:*)
2816- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
2817- exit ;;
2818- i*86:rdos:*:*)
2819- echo ${UNAME_MACHINE}-pc-rdos
2820- exit ;;
2821- i*86:AROS:*:*)
2822- echo ${UNAME_MACHINE}-pc-aros
2823- exit ;;
2824-esac
2825-
2826-#echo '(No uname command or uname output not recognized.)' 1>&2
2827-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
2828-
2829-eval $set_cc_for_build
2830-cat >$dummy.c <<EOF
2831-#ifdef _SEQUENT_
2832-# include <sys/types.h>
2833-# include <sys/utsname.h>
2834-#endif
2835-main ()
2836-{
2837-#if defined (sony)
2838-#if defined (MIPSEB)
2839- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
2840- I don't know.... */
2841- printf ("mips-sony-bsd\n"); exit (0);
2842-#else
2843-#include <sys/param.h>
2844- printf ("m68k-sony-newsos%s\n",
2845-#ifdef NEWSOS4
2846- "4"
2847-#else
2848- ""
2849-#endif
2850- ); exit (0);
2851-#endif
2852-#endif
2853-
2854-#if defined (__arm) && defined (__acorn) && defined (__unix)
2855- printf ("arm-acorn-riscix\n"); exit (0);
2856-#endif
2857-
2858-#if defined (hp300) && !defined (hpux)
2859- printf ("m68k-hp-bsd\n"); exit (0);
2860-#endif
2861-
2862-#if defined (NeXT)
2863-#if !defined (__ARCHITECTURE__)
2864-#define __ARCHITECTURE__ "m68k"
2865-#endif
2866- int version;
2867- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
2868- if (version < 4)
2869- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
2870- else
2871- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
2872- exit (0);
2873-#endif
2874-
2875-#if defined (MULTIMAX) || defined (n16)
2876-#if defined (UMAXV)
2877- printf ("ns32k-encore-sysv\n"); exit (0);
2878-#else
2879-#if defined (CMU)
2880- printf ("ns32k-encore-mach\n"); exit (0);
2881-#else
2882- printf ("ns32k-encore-bsd\n"); exit (0);
2883-#endif
2884-#endif
2885-#endif
2886-
2887-#if defined (__386BSD__)
2888- printf ("i386-pc-bsd\n"); exit (0);
2889-#endif
2890-
2891-#if defined (sequent)
2892-#if defined (i386)
2893- printf ("i386-sequent-dynix\n"); exit (0);
2894-#endif
2895-#if defined (ns32000)
2896- printf ("ns32k-sequent-dynix\n"); exit (0);
2897-#endif
2898-#endif
2899-
2900-#if defined (_SEQUENT_)
2901- struct utsname un;
2902-
2903- uname(&un);
2904-
2905- if (strncmp(un.version, "V2", 2) == 0) {
2906- printf ("i386-sequent-ptx2\n"); exit (0);
2907- }
2908- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
2909- printf ("i386-sequent-ptx1\n"); exit (0);
2910- }
2911- printf ("i386-sequent-ptx\n"); exit (0);
2912-
2913-#endif
2914-
2915-#if defined (vax)
2916-# if !defined (ultrix)
2917-# include <sys/param.h>
2918-# if defined (BSD)
2919-# if BSD == 43
2920- printf ("vax-dec-bsd4.3\n"); exit (0);
2921-# else
2922-# if BSD == 199006
2923- printf ("vax-dec-bsd4.3reno\n"); exit (0);
2924-# else
2925- printf ("vax-dec-bsd\n"); exit (0);
2926-# endif
2927-# endif
2928-# else
2929- printf ("vax-dec-bsd\n"); exit (0);
2930-# endif
2931-# else
2932- printf ("vax-dec-ultrix\n"); exit (0);
2933-# endif
2934-#endif
2935-
2936-#if defined (alliant) && defined (i860)
2937- printf ("i860-alliant-bsd\n"); exit (0);
2938-#endif
2939-
2940- exit (1);
2941-}
2942-EOF
2943-
2944-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
2945- { echo "$SYSTEM_NAME"; exit; }
2946-
2947-# Apollos put the system type in the environment.
2948-
2949-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
2950-
2951-# Convex versions that predate uname can use getsysinfo(1)
2952-
2953-if [ -x /usr/convex/getsysinfo ]
2954-then
2955- case `getsysinfo -f cpu_type` in
2956- c1*)
2957- echo c1-convex-bsd
2958- exit ;;
2959- c2*)
2960- if getsysinfo -f scalar_acc
2961- then echo c32-convex-bsd
2962- else echo c2-convex-bsd
2963- fi
2964- exit ;;
2965- c34*)
2966- echo c34-convex-bsd
2967- exit ;;
2968- c38*)
2969- echo c38-convex-bsd
2970- exit ;;
2971- c4*)
2972- echo c4-convex-bsd
2973- exit ;;
2974- esac
2975-fi
2976-
2977-cat >&2 <<EOF
2978-$0: unable to guess system type
2979-
2980-This script, last modified $timestamp, has failed to recognize
2981-the operating system you are using. It is advised that you
2982-download the most up to date version of the config scripts from
2983-
2984- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
2985-and
2986- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
2987-
2988-If the version you run ($0) is already up to date, please
2989-send the following data and any information you think might be
2990-pertinent to <config-patches@gnu.org> in order to provide the needed
2991-information to handle your system.
2992-
2993-config.guess timestamp = $timestamp
2994-
2995-uname -m = `(uname -m) 2>/dev/null || echo unknown`
2996-uname -r = `(uname -r) 2>/dev/null || echo unknown`
2997-uname -s = `(uname -s) 2>/dev/null || echo unknown`
2998-uname -v = `(uname -v) 2>/dev/null || echo unknown`
2999-
3000-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
3001-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
3002-
3003-hostinfo = `(hostinfo) 2>/dev/null`
3004-/bin/universe = `(/bin/universe) 2>/dev/null`
3005-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
3006-/bin/arch = `(/bin/arch) 2>/dev/null`
3007-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
3008-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
3009-
3010-UNAME_MACHINE = ${UNAME_MACHINE}
3011-UNAME_RELEASE = ${UNAME_RELEASE}
3012-UNAME_SYSTEM = ${UNAME_SYSTEM}
3013-UNAME_VERSION = ${UNAME_VERSION}
3014-EOF
3015-
3016-exit 1
3017-
3018-# Local variables:
3019-# eval: (add-hook 'write-file-hooks 'time-stamp)
3020-# time-stamp-start: "timestamp='"
3021-# time-stamp-format: "%:y-%02m-%02d"
3022-# time-stamp-end: "'"
3023-# End:
3024
3025=== removed file 'config.sub'
3026--- config.sub 2010-08-06 19:30:57 +0000
3027+++ config.sub 1970-01-01 00:00:00 +0000
3028@@ -1,1693 +0,0 @@
3029-#! /bin/sh
3030-# Configuration validation subroutine script.
3031-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
3032-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
3033-# Free Software Foundation, Inc.
3034-
3035-timestamp='2009-06-11'
3036-
3037-# This file is (in principle) common to ALL GNU software.
3038-# The presence of a machine in this file suggests that SOME GNU software
3039-# can handle that machine. It does not imply ALL GNU software can.
3040-#
3041-# This file is free software; you can redistribute it and/or modify
3042-# it under the terms of the GNU General Public License as published by
3043-# the Free Software Foundation; either version 2 of the License, or
3044-# (at your option) any later version.
3045-#
3046-# This program is distributed in the hope that it will be useful,
3047-# but WITHOUT ANY WARRANTY; without even the implied warranty of
3048-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3049-# GNU General Public License for more details.
3050-#
3051-# You should have received a copy of the GNU General Public License
3052-# along with this program; if not, write to the Free Software
3053-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
3054-# 02110-1301, USA.
3055-#
3056-# As a special exception to the GNU General Public License, if you
3057-# distribute this file as part of a program that contains a
3058-# configuration script generated by Autoconf, you may include it under
3059-# the same distribution terms that you use for the rest of that program.
3060-
3061-
3062-# Please send patches to <config-patches@gnu.org>. Submit a context
3063-# diff and a properly formatted ChangeLog entry.
3064-#
3065-# Configuration subroutine to validate and canonicalize a configuration type.
3066-# Supply the specified configuration type as an argument.
3067-# If it is invalid, we print an error message on stderr and exit with code 1.
3068-# Otherwise, we print the canonical config type on stdout and succeed.
3069-
3070-# This file is supposed to be the same for all GNU packages
3071-# and recognize all the CPU types, system types and aliases
3072-# that are meaningful with *any* GNU software.
3073-# Each package is responsible for reporting which valid configurations
3074-# it does not support. The user should be able to distinguish
3075-# a failure to support a valid configuration from a meaningless
3076-# configuration.
3077-
3078-# The goal of this file is to map all the various variations of a given
3079-# machine specification into a single specification in the form:
3080-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
3081-# or in some cases, the newer four-part form:
3082-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
3083-# It is wrong to echo any other type of specification.
3084-
3085-me=`echo "$0" | sed -e 's,.*/,,'`
3086-
3087-usage="\
3088-Usage: $0 [OPTION] CPU-MFR-OPSYS
3089- $0 [OPTION] ALIAS
3090-
3091-Canonicalize a configuration name.
3092-
3093-Operation modes:
3094- -h, --help print this help, then exit
3095- -t, --time-stamp print date of last modification, then exit
3096- -v, --version print version number, then exit
3097-
3098-Report bugs and patches to <config-patches@gnu.org>."
3099-
3100-version="\
3101-GNU config.sub ($timestamp)
3102-
3103-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
3104-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
3105-
3106-This is free software; see the source for copying conditions. There is NO
3107-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
3108-
3109-help="
3110-Try \`$me --help' for more information."
3111-
3112-# Parse command line
3113-while test $# -gt 0 ; do
3114- case $1 in
3115- --time-stamp | --time* | -t )
3116- echo "$timestamp" ; exit ;;
3117- --version | -v )
3118- echo "$version" ; exit ;;
3119- --help | --h* | -h )
3120- echo "$usage"; exit ;;
3121- -- ) # Stop option processing
3122- shift; break ;;
3123- - ) # Use stdin as input.
3124- break ;;
3125- -* )
3126- echo "$me: invalid option $1$help"
3127- exit 1 ;;
3128-
3129- *local*)
3130- # First pass through any local machine types.
3131- echo $1
3132- exit ;;
3133-
3134- * )
3135- break ;;
3136- esac
3137-done
3138-
3139-case $# in
3140- 0) echo "$me: missing argument$help" >&2
3141- exit 1;;
3142- 1) ;;
3143- *) echo "$me: too many arguments$help" >&2
3144- exit 1;;
3145-esac
3146-
3147-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
3148-# Here we must recognize all the valid KERNEL-OS combinations.
3149-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
3150-case $maybe_os in
3151- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
3152- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
3153- kopensolaris*-gnu* | \
3154- storm-chaos* | os2-emx* | rtmk-nova*)
3155- os=-$maybe_os
3156- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
3157- ;;
3158- *)
3159- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
3160- if [ $basic_machine != $1 ]
3161- then os=`echo $1 | sed 's/.*-/-/'`
3162- else os=; fi
3163- ;;
3164-esac
3165-
3166-### Let's recognize common machines as not being operating systems so
3167-### that things like config.sub decstation-3100 work. We also
3168-### recognize some manufacturers as not being operating systems, so we
3169-### can provide default operating systems below.
3170-case $os in
3171- -sun*os*)
3172- # Prevent following clause from handling this invalid input.
3173- ;;
3174- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
3175- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
3176- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
3177- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
3178- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
3179- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
3180- -apple | -axis | -knuth | -cray)
3181- os=
3182- basic_machine=$1
3183- ;;
3184- -bluegene*)
3185- os=-cnk
3186- ;;
3187- -sim | -cisco | -oki | -wec | -winbond)
3188- os=
3189- basic_machine=$1
3190- ;;
3191- -scout)
3192- ;;
3193- -wrs)
3194- os=-vxworks
3195- basic_machine=$1
3196- ;;
3197- -chorusos*)
3198- os=-chorusos
3199- basic_machine=$1
3200- ;;
3201- -chorusrdb)
3202- os=-chorusrdb
3203- basic_machine=$1
3204- ;;
3205- -hiux*)
3206- os=-hiuxwe2
3207- ;;
3208- -sco6)
3209- os=-sco5v6
3210- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
3211- ;;
3212- -sco5)
3213- os=-sco3.2v5
3214- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
3215- ;;
3216- -sco4)
3217- os=-sco3.2v4
3218- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
3219- ;;
3220- -sco3.2.[4-9]*)
3221- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
3222- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
3223- ;;
3224- -sco3.2v[4-9]*)
3225- # Don't forget version if it is 3.2v4 or newer.
3226- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
3227- ;;
3228- -sco5v6*)
3229- # Don't forget version if it is 3.2v4 or newer.
3230- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
3231- ;;
3232- -sco*)
3233- os=-sco3.2v2
3234- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
3235- ;;
3236- -udk*)
3237- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
3238- ;;
3239- -isc)
3240- os=-isc2.2
3241- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
3242- ;;
3243- -clix*)
3244- basic_machine=clipper-intergraph
3245- ;;
3246- -isc*)
3247- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
3248- ;;
3249- -lynx*)
3250- os=-lynxos
3251- ;;
3252- -ptx*)
3253- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
3254- ;;
3255- -windowsnt*)
3256- os=`echo $os | sed -e 's/windowsnt/winnt/'`
3257- ;;
3258- -psos*)
3259- os=-psos
3260- ;;
3261- -mint | -mint[0-9]*)
3262- basic_machine=m68k-atari
3263- os=-mint
3264- ;;
3265-esac
3266-
3267-# Decode aliases for certain CPU-COMPANY combinations.
3268-case $basic_machine in
3269- # Recognize the basic CPU types without company name.
3270- # Some are omitted here because they have special meanings below.
3271- 1750a | 580 \
3272- | a29k \
3273- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
3274- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
3275- | am33_2.0 \
3276- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
3277- | bfin \
3278- | c4x | clipper \
3279- | d10v | d30v | dlx | dsp16xx \
3280- | fido | fr30 | frv \
3281- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
3282- | i370 | i860 | i960 | ia64 \
3283- | ip2k | iq2000 \
3284- | lm32 \
3285- | m32c | m32r | m32rle | m68000 | m68k | m88k \
3286- | maxq | mb | microblaze | mcore | mep | metag \
3287- | mips | mipsbe | mipseb | mipsel | mipsle \
3288- | mips16 \
3289- | mips64 | mips64el \
3290- | mips64octeon | mips64octeonel \
3291- | mips64orion | mips64orionel \
3292- | mips64r5900 | mips64r5900el \
3293- | mips64vr | mips64vrel \
3294- | mips64vr4100 | mips64vr4100el \
3295- | mips64vr4300 | mips64vr4300el \
3296- | mips64vr5000 | mips64vr5000el \
3297- | mips64vr5900 | mips64vr5900el \
3298- | mipsisa32 | mipsisa32el \
3299- | mipsisa32r2 | mipsisa32r2el \
3300- | mipsisa64 | mipsisa64el \
3301- | mipsisa64r2 | mipsisa64r2el \
3302- | mipsisa64sb1 | mipsisa64sb1el \
3303- | mipsisa64sr71k | mipsisa64sr71kel \
3304- | mipstx39 | mipstx39el \
3305- | mn10200 | mn10300 \
3306- | moxie \
3307- | mt \
3308- | msp430 \
3309- | nios | nios2 \
3310- | ns16k | ns32k \
3311- | or32 \
3312- | pdp10 | pdp11 | pj | pjl \
3313- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
3314- | pyramid \
3315- | score \
3316- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
3317- | sh64 | sh64le \
3318- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
3319- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
3320- | spu | strongarm \
3321- | tahoe | thumb | tic4x | tic80 | tron \
3322- | v850 | v850e \
3323- | we32k \
3324- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
3325- | z8k | z80)
3326- basic_machine=$basic_machine-unknown
3327- ;;
3328- m6811 | m68hc11 | m6812 | m68hc12)
3329- # Motorola 68HC11/12.
3330- basic_machine=$basic_machine-unknown
3331- os=-none
3332- ;;
3333- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3334- ;;
3335- ms1)
3336- basic_machine=mt-unknown
3337- ;;
3338-
3339- # We use `pc' rather than `unknown'
3340- # because (1) that's what they normally are, and
3341- # (2) the word "unknown" tends to confuse beginning users.
3342- i*86 | x86_64)
3343- basic_machine=$basic_machine-pc
3344- ;;
3345- # Object if more than one company name word.
3346- *-*-*)
3347- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3348- exit 1
3349- ;;
3350- # Recognize the basic CPU types with company name.
3351- 580-* \
3352- | a29k-* \
3353- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3354- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3355- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3356- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
3357- | avr-* | avr32-* \
3358- | bfin-* | bs2000-* \
3359- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
3360- | clipper-* | craynv-* | cydra-* \
3361- | d10v-* | d30v-* | dlx-* \
3362- | elxsi-* \
3363- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3364- | h8300-* | h8500-* \
3365- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3366- | i*86-* | i860-* | i960-* | ia64-* \
3367- | ip2k-* | iq2000-* \
3368- | lm32-* \
3369- | m32c-* | m32r-* | m32rle-* \
3370- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3371- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
3372- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3373- | mips16-* \
3374- | mips64-* | mips64el-* \
3375- | mips64octeon-* | mips64octeonel-* \
3376- | mips64orion-* | mips64orionel-* \
3377- | mips64r5900-* | mips64r5900el-* \
3378- | mips64vr-* | mips64vrel-* \
3379- | mips64vr4100-* | mips64vr4100el-* \
3380- | mips64vr4300-* | mips64vr4300el-* \
3381- | mips64vr5000-* | mips64vr5000el-* \
3382- | mips64vr5900-* | mips64vr5900el-* \
3383- | mipsisa32-* | mipsisa32el-* \
3384- | mipsisa32r2-* | mipsisa32r2el-* \
3385- | mipsisa64-* | mipsisa64el-* \
3386- | mipsisa64r2-* | mipsisa64r2el-* \
3387- | mipsisa64sb1-* | mipsisa64sb1el-* \
3388- | mipsisa64sr71k-* | mipsisa64sr71kel-* \
3389- | mipstx39-* | mipstx39el-* \
3390- | mmix-* \
3391- | mt-* \
3392- | msp430-* \
3393- | nios-* | nios2-* \
3394- | none-* | np1-* | ns16k-* | ns32k-* \
3395- | orion-* \
3396- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3397- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3398- | pyramid-* \
3399- | romp-* | rs6000-* \
3400- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3401- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3402- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3403- | sparclite-* \
3404- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3405- | tahoe-* | thumb-* \
3406- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
3407- | tron-* \
3408- | v850-* | v850e-* | vax-* \
3409- | we32k-* \
3410- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
3411- | xstormy16-* | xtensa*-* \
3412- | ymp-* \
3413- | z8k-* | z80-*)
3414- ;;
3415- # Recognize the basic CPU types without company name, with glob match.
3416- xtensa*)
3417- basic_machine=$basic_machine-unknown
3418- ;;
3419- # Recognize the various machine names and aliases which stand
3420- # for a CPU type and a company and sometimes even an OS.
3421- 386bsd)
3422- basic_machine=i386-unknown
3423- os=-bsd
3424- ;;
3425- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
3426- basic_machine=m68000-att
3427- ;;
3428- 3b*)
3429- basic_machine=we32k-att
3430- ;;
3431- a29khif)
3432- basic_machine=a29k-amd
3433- os=-udi
3434- ;;
3435- abacus)
3436- basic_machine=abacus-unknown
3437- ;;
3438- adobe68k)
3439- basic_machine=m68010-adobe
3440- os=-scout
3441- ;;
3442- alliant | fx80)
3443- basic_machine=fx80-alliant
3444- ;;
3445- altos | altos3068)
3446- basic_machine=m68k-altos
3447- ;;
3448- am29k)
3449- basic_machine=a29k-none
3450- os=-bsd
3451- ;;
3452- amd64)
3453- basic_machine=x86_64-pc
3454- ;;
3455- amd64-*)
3456- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
3457- ;;
3458- amdahl)
3459- basic_machine=580-amdahl
3460- os=-sysv
3461- ;;
3462- amiga | amiga-*)
3463- basic_machine=m68k-unknown
3464- ;;
3465- amigaos | amigados)
3466- basic_machine=m68k-unknown
3467- os=-amigaos
3468- ;;
3469- amigaunix | amix)
3470- basic_machine=m68k-unknown
3471- os=-sysv4
3472- ;;
3473- apollo68)
3474- basic_machine=m68k-apollo
3475- os=-sysv
3476- ;;
3477- apollo68bsd)
3478- basic_machine=m68k-apollo
3479- os=-bsd
3480- ;;
3481- aros)
3482- basic_machine=i386-pc
3483- os=-aros
3484- ;;
3485- aux)
3486- basic_machine=m68k-apple
3487- os=-aux
3488- ;;
3489- balance)
3490- basic_machine=ns32k-sequent
3491- os=-dynix
3492- ;;
3493- blackfin)
3494- basic_machine=bfin-unknown
3495- os=-linux
3496- ;;
3497- blackfin-*)
3498- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
3499- os=-linux
3500- ;;
3501- bluegene*)
3502- basic_machine=powerpc-ibm
3503- os=-cnk
3504- ;;
3505- c90)
3506- basic_machine=c90-cray
3507- os=-unicos
3508- ;;
3509- cegcc)
3510- basic_machine=arm-unknown
3511- os=-cegcc
3512- ;;
3513- convex-c1)
3514- basic_machine=c1-convex
3515- os=-bsd
3516- ;;
3517- convex-c2)
3518- basic_machine=c2-convex
3519- os=-bsd
3520- ;;
3521- convex-c32)
3522- basic_machine=c32-convex
3523- os=-bsd
3524- ;;
3525- convex-c34)
3526- basic_machine=c34-convex
3527- os=-bsd
3528- ;;
3529- convex-c38)
3530- basic_machine=c38-convex
3531- os=-bsd
3532- ;;
3533- cray | j90)
3534- basic_machine=j90-cray
3535- os=-unicos
3536- ;;
3537- craynv)
3538- basic_machine=craynv-cray
3539- os=-unicosmp
3540- ;;
3541- cr16)
3542- basic_machine=cr16-unknown
3543- os=-elf
3544- ;;
3545- crds | unos)
3546- basic_machine=m68k-crds
3547- ;;
3548- crisv32 | crisv32-* | etraxfs*)
3549- basic_machine=crisv32-axis
3550- ;;
3551- cris | cris-* | etrax*)
3552- basic_machine=cris-axis
3553- ;;
3554- crx)
3555- basic_machine=crx-unknown
3556- os=-elf
3557- ;;
3558- da30 | da30-*)
3559- basic_machine=m68k-da30
3560- ;;
3561- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
3562- basic_machine=mips-dec
3563- ;;
3564- decsystem10* | dec10*)
3565- basic_machine=pdp10-dec
3566- os=-tops10
3567- ;;
3568- decsystem20* | dec20*)
3569- basic_machine=pdp10-dec
3570- os=-tops20
3571- ;;
3572- delta | 3300 | motorola-3300 | motorola-delta \
3573- | 3300-motorola | delta-motorola)
3574- basic_machine=m68k-motorola
3575- ;;
3576- delta88)
3577- basic_machine=m88k-motorola
3578- os=-sysv3
3579- ;;
3580- dicos)
3581- basic_machine=i686-pc
3582- os=-dicos
3583- ;;
3584- djgpp)
3585- basic_machine=i586-pc
3586- os=-msdosdjgpp
3587- ;;
3588- dpx20 | dpx20-*)
3589- basic_machine=rs6000-bull
3590- os=-bosx
3591- ;;
3592- dpx2* | dpx2*-bull)
3593- basic_machine=m68k-bull
3594- os=-sysv3
3595- ;;
3596- ebmon29k)
3597- basic_machine=a29k-amd
3598- os=-ebmon
3599- ;;
3600- elxsi)
3601- basic_machine=elxsi-elxsi
3602- os=-bsd
3603- ;;
3604- encore | umax | mmax)
3605- basic_machine=ns32k-encore
3606- ;;
3607- es1800 | OSE68k | ose68k | ose | OSE)
3608- basic_machine=m68k-ericsson
3609- os=-ose
3610- ;;
3611- fx2800)
3612- basic_machine=i860-alliant
3613- ;;
3614- genix)
3615- basic_machine=ns32k-ns
3616- ;;
3617- gmicro)
3618- basic_machine=tron-gmicro
3619- os=-sysv
3620- ;;
3621- go32)
3622- basic_machine=i386-pc
3623- os=-go32
3624- ;;
3625- h3050r* | hiux*)
3626- basic_machine=hppa1.1-hitachi
3627- os=-hiuxwe2
3628- ;;
3629- h8300hms)
3630- basic_machine=h8300-hitachi
3631- os=-hms
3632- ;;
3633- h8300xray)
3634- basic_machine=h8300-hitachi
3635- os=-xray
3636- ;;
3637- h8500hms)
3638- basic_machine=h8500-hitachi
3639- os=-hms
3640- ;;
3641- harris)
3642- basic_machine=m88k-harris
3643- os=-sysv3
3644- ;;
3645- hp300-*)
3646- basic_machine=m68k-hp
3647- ;;
3648- hp300bsd)
3649- basic_machine=m68k-hp
3650- os=-bsd
3651- ;;
3652- hp300hpux)
3653- basic_machine=m68k-hp
3654- os=-hpux
3655- ;;
3656- hp3k9[0-9][0-9] | hp9[0-9][0-9])
3657- basic_machine=hppa1.0-hp
3658- ;;
3659- hp9k2[0-9][0-9] | hp9k31[0-9])
3660- basic_machine=m68000-hp
3661- ;;
3662- hp9k3[2-9][0-9])
3663- basic_machine=m68k-hp
3664- ;;
3665- hp9k6[0-9][0-9] | hp6[0-9][0-9])
3666- basic_machine=hppa1.0-hp
3667- ;;
3668- hp9k7[0-79][0-9] | hp7[0-79][0-9])
3669- basic_machine=hppa1.1-hp
3670- ;;
3671- hp9k78[0-9] | hp78[0-9])
3672- # FIXME: really hppa2.0-hp
3673- basic_machine=hppa1.1-hp
3674- ;;
3675- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
3676- # FIXME: really hppa2.0-hp
3677- basic_machine=hppa1.1-hp
3678- ;;
3679- hp9k8[0-9][13679] | hp8[0-9][13679])
3680- basic_machine=hppa1.1-hp
3681- ;;
3682- hp9k8[0-9][0-9] | hp8[0-9][0-9])
3683- basic_machine=hppa1.0-hp
3684- ;;
3685- hppa-next)
3686- os=-nextstep3
3687- ;;
3688- hppaosf)
3689- basic_machine=hppa1.1-hp
3690- os=-osf
3691- ;;
3692- hppro)
3693- basic_machine=hppa1.1-hp
3694- os=-proelf
3695- ;;
3696- i370-ibm* | ibm*)
3697- basic_machine=i370-ibm
3698- ;;
3699-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
3700- i*86v32)
3701- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
3702- os=-sysv32
3703- ;;
3704- i*86v4*)
3705- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
3706- os=-sysv4
3707- ;;
3708- i*86v)
3709- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
3710- os=-sysv
3711- ;;
3712- i*86sol2)
3713- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
3714- os=-solaris2
3715- ;;
3716- i386mach)
3717- basic_machine=i386-mach
3718- os=-mach
3719- ;;
3720- i386-vsta | vsta)
3721- basic_machine=i386-unknown
3722- os=-vsta
3723- ;;
3724- iris | iris4d)
3725- basic_machine=mips-sgi
3726- case $os in
3727- -irix*)
3728- ;;
3729- *)
3730- os=-irix4
3731- ;;
3732- esac
3733- ;;
3734- isi68 | isi)
3735- basic_machine=m68k-isi
3736- os=-sysv
3737- ;;
3738- m68knommu)
3739- basic_machine=m68k-unknown
3740- os=-linux
3741- ;;
3742- m68knommu-*)
3743- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
3744- os=-linux
3745- ;;
3746- m88k-omron*)
3747- basic_machine=m88k-omron
3748- ;;
3749- magnum | m3230)
3750- basic_machine=mips-mips
3751- os=-sysv
3752- ;;
3753- merlin)
3754- basic_machine=ns32k-utek
3755- os=-sysv
3756- ;;
3757- mingw32)
3758- basic_machine=i386-pc
3759- os=-mingw32
3760- ;;
3761- mingw32ce)
3762- basic_machine=arm-unknown
3763- os=-mingw32ce
3764- ;;
3765- miniframe)
3766- basic_machine=m68000-convergent
3767- ;;
3768- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
3769- basic_machine=m68k-atari
3770- os=-mint
3771- ;;
3772- mips3*-*)
3773- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
3774- ;;
3775- mips3*)
3776- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
3777- ;;
3778- monitor)
3779- basic_machine=m68k-rom68k
3780- os=-coff
3781- ;;
3782- morphos)
3783- basic_machine=powerpc-unknown
3784- os=-morphos
3785- ;;
3786- msdos)
3787- basic_machine=i386-pc
3788- os=-msdos
3789- ;;
3790- ms1-*)
3791- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
3792- ;;
3793- mvs)
3794- basic_machine=i370-ibm
3795- os=-mvs
3796- ;;
3797- ncr3000)
3798- basic_machine=i486-ncr
3799- os=-sysv4
3800- ;;
3801- netbsd386)
3802- basic_machine=i386-unknown
3803- os=-netbsd
3804- ;;
3805- netwinder)
3806- basic_machine=armv4l-rebel
3807- os=-linux
3808- ;;
3809- news | news700 | news800 | news900)
3810- basic_machine=m68k-sony
3811- os=-newsos
3812- ;;
3813- news1000)
3814- basic_machine=m68030-sony
3815- os=-newsos
3816- ;;
3817- news-3600 | risc-news)
3818- basic_machine=mips-sony
3819- os=-newsos
3820- ;;
3821- necv70)
3822- basic_machine=v70-nec
3823- os=-sysv
3824- ;;
3825- next | m*-next )
3826- basic_machine=m68k-next
3827- case $os in
3828- -nextstep* )
3829- ;;
3830- -ns2*)
3831- os=-nextstep2
3832- ;;
3833- *)
3834- os=-nextstep3
3835- ;;
3836- esac
3837- ;;
3838- nh3000)
3839- basic_machine=m68k-harris
3840- os=-cxux
3841- ;;
3842- nh[45]000)
3843- basic_machine=m88k-harris
3844- os=-cxux
3845- ;;
3846- nindy960)
3847- basic_machine=i960-intel
3848- os=-nindy
3849- ;;
3850- mon960)
3851- basic_machine=i960-intel
3852- os=-mon960
3853- ;;
3854- nonstopux)
3855- basic_machine=mips-compaq
3856- os=-nonstopux
3857- ;;
3858- np1)
3859- basic_machine=np1-gould
3860- ;;
3861- nsr-tandem)
3862- basic_machine=nsr-tandem
3863- ;;
3864- op50n-* | op60c-*)
3865- basic_machine=hppa1.1-oki
3866- os=-proelf
3867- ;;
3868- openrisc | openrisc-*)
3869- basic_machine=or32-unknown
3870- ;;
3871- os400)
3872- basic_machine=powerpc-ibm
3873- os=-os400
3874- ;;
3875- OSE68000 | ose68000)
3876- basic_machine=m68000-ericsson
3877- os=-ose
3878- ;;
3879- os68k)
3880- basic_machine=m68k-none
3881- os=-os68k
3882- ;;
3883- pa-hitachi)
3884- basic_machine=hppa1.1-hitachi
3885- os=-hiuxwe2
3886- ;;
3887- paragon)
3888- basic_machine=i860-intel
3889- os=-osf
3890- ;;
3891- parisc)
3892- basic_machine=hppa-unknown
3893- os=-linux
3894- ;;
3895- parisc-*)
3896- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
3897- os=-linux
3898- ;;
3899- pbd)
3900- basic_machine=sparc-tti
3901- ;;
3902- pbb)
3903- basic_machine=m68k-tti
3904- ;;
3905- pc532 | pc532-*)
3906- basic_machine=ns32k-pc532
3907- ;;
3908- pc98)
3909- basic_machine=i386-pc
3910- ;;
3911- pc98-*)
3912- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
3913- ;;
3914- pentium | p5 | k5 | k6 | nexgen | viac3)
3915- basic_machine=i586-pc
3916- ;;
3917- pentiumpro | p6 | 6x86 | athlon | athlon_*)
3918- basic_machine=i686-pc
3919- ;;
3920- pentiumii | pentium2 | pentiumiii | pentium3)
3921- basic_machine=i686-pc
3922- ;;
3923- pentium4)
3924- basic_machine=i786-pc
3925- ;;
3926- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
3927- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
3928- ;;
3929- pentiumpro-* | p6-* | 6x86-* | athlon-*)
3930- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
3931- ;;
3932- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
3933- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
3934- ;;
3935- pentium4-*)
3936- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
3937- ;;
3938- pn)
3939- basic_machine=pn-gould
3940- ;;
3941- power) basic_machine=power-ibm
3942- ;;
3943- ppc) basic_machine=powerpc-unknown
3944- ;;
3945- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
3946- ;;
3947- ppcle | powerpclittle | ppc-le | powerpc-little)
3948- basic_machine=powerpcle-unknown
3949- ;;
3950- ppcle-* | powerpclittle-*)
3951- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
3952- ;;
3953- ppc64) basic_machine=powerpc64-unknown
3954- ;;
3955- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
3956- ;;
3957- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
3958- basic_machine=powerpc64le-unknown
3959- ;;
3960- ppc64le-* | powerpc64little-*)
3961- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
3962- ;;
3963- ps2)
3964- basic_machine=i386-ibm
3965- ;;
3966- pw32)
3967- basic_machine=i586-unknown
3968- os=-pw32
3969- ;;
3970- rdos)
3971- basic_machine=i386-pc
3972- os=-rdos
3973- ;;
3974- rom68k)
3975- basic_machine=m68k-rom68k
3976- os=-coff
3977- ;;
3978- rm[46]00)
3979- basic_machine=mips-siemens
3980- ;;
3981- rtpc | rtpc-*)
3982- basic_machine=romp-ibm
3983- ;;
3984- s390 | s390-*)
3985- basic_machine=s390-ibm
3986- ;;
3987- s390x | s390x-*)
3988- basic_machine=s390x-ibm
3989- ;;
3990- sa29200)
3991- basic_machine=a29k-amd
3992- os=-udi
3993- ;;
3994- sb1)
3995- basic_machine=mipsisa64sb1-unknown
3996- ;;
3997- sb1el)
3998- basic_machine=mipsisa64sb1el-unknown
3999- ;;
4000- sde)
4001- basic_machine=mipsisa32-sde
4002- os=-elf
4003- ;;
4004- sei)
4005- basic_machine=mips-sei
4006- os=-seiux
4007- ;;
4008- sequent)
4009- basic_machine=i386-sequent
4010- ;;
4011- sh)
4012- basic_machine=sh-hitachi
4013- os=-hms
4014- ;;
4015- sh5el)
4016- basic_machine=sh5le-unknown
4017- ;;
4018- sh64)
4019- basic_machine=sh64-unknown
4020- ;;
4021- sparclite-wrs | simso-wrs)
4022- basic_machine=sparclite-wrs
4023- os=-vxworks
4024- ;;
4025- sps7)
4026- basic_machine=m68k-bull
4027- os=-sysv2
4028- ;;
4029- spur)
4030- basic_machine=spur-unknown
4031- ;;
4032- st2000)
4033- basic_machine=m68k-tandem
4034- ;;
4035- stratus)
4036- basic_machine=i860-stratus
4037- os=-sysv4
4038- ;;
4039- sun2)
4040- basic_machine=m68000-sun
4041- ;;
4042- sun2os3)
4043- basic_machine=m68000-sun
4044- os=-sunos3
4045- ;;
4046- sun2os4)
4047- basic_machine=m68000-sun
4048- os=-sunos4
4049- ;;
4050- sun3os3)
4051- basic_machine=m68k-sun
4052- os=-sunos3
4053- ;;
4054- sun3os4)
4055- basic_machine=m68k-sun
4056- os=-sunos4
4057- ;;
4058- sun4os3)
4059- basic_machine=sparc-sun
4060- os=-sunos3
4061- ;;
4062- sun4os4)
4063- basic_machine=sparc-sun
4064- os=-sunos4
4065- ;;
4066- sun4sol2)
4067- basic_machine=sparc-sun
4068- os=-solaris2
4069- ;;
4070- sun3 | sun3-*)
4071- basic_machine=m68k-sun
4072- ;;
4073- sun4)
4074- basic_machine=sparc-sun
4075- ;;
4076- sun386 | sun386i | roadrunner)
4077- basic_machine=i386-sun
4078- ;;
4079- sv1)
4080- basic_machine=sv1-cray
4081- os=-unicos
4082- ;;
4083- symmetry)
4084- basic_machine=i386-sequent
4085- os=-dynix
4086- ;;
4087- t3e)
4088- basic_machine=alphaev5-cray
4089- os=-unicos
4090- ;;
4091- t90)
4092- basic_machine=t90-cray
4093- os=-unicos
4094- ;;
4095- tic54x | c54x*)
4096- basic_machine=tic54x-unknown
4097- os=-coff
4098- ;;
4099- tic55x | c55x*)
4100- basic_machine=tic55x-unknown
4101- os=-coff
4102- ;;
4103- tic6x | c6x*)
4104- basic_machine=tic6x-unknown
4105- os=-coff
4106- ;;
4107- tile*)
4108- basic_machine=tile-unknown
4109- os=-linux-gnu
4110- ;;
4111- tx39)
4112- basic_machine=mipstx39-unknown
4113- ;;
4114- tx39el)
4115- basic_machine=mipstx39el-unknown
4116- ;;
4117- toad1)
4118- basic_machine=pdp10-xkl
4119- os=-tops20
4120- ;;
4121- tower | tower-32)
4122- basic_machine=m68k-ncr
4123- ;;
4124- tpf)
4125- basic_machine=s390x-ibm
4126- os=-tpf
4127- ;;
4128- udi29k)
4129- basic_machine=a29k-amd
4130- os=-udi
4131- ;;
4132- ultra3)
4133- basic_machine=a29k-nyu
4134- os=-sym1
4135- ;;
4136- v810 | necv810)
4137- basic_machine=v810-nec
4138- os=-none
4139- ;;
4140- vaxv)
4141- basic_machine=vax-dec
4142- os=-sysv
4143- ;;
4144- vms)
4145- basic_machine=vax-dec
4146- os=-vms
4147- ;;
4148- vpp*|vx|vx-*)
4149- basic_machine=f301-fujitsu
4150- ;;
4151- vxworks960)
4152- basic_machine=i960-wrs
4153- os=-vxworks
4154- ;;
4155- vxworks68)
4156- basic_machine=m68k-wrs
4157- os=-vxworks
4158- ;;
4159- vxworks29k)
4160- basic_machine=a29k-wrs
4161- os=-vxworks
4162- ;;
4163- w65*)
4164- basic_machine=w65-wdc
4165- os=-none
4166- ;;
4167- w89k-*)
4168- basic_machine=hppa1.1-winbond
4169- os=-proelf
4170- ;;
4171- xbox)
4172- basic_machine=i686-pc
4173- os=-mingw32
4174- ;;
4175- xps | xps100)
4176- basic_machine=xps100-honeywell
4177- ;;
4178- ymp)
4179- basic_machine=ymp-cray
4180- os=-unicos
4181- ;;
4182- z8k-*-coff)
4183- basic_machine=z8k-unknown
4184- os=-sim
4185- ;;
4186- z80-*-coff)
4187- basic_machine=z80-unknown
4188- os=-sim
4189- ;;
4190- none)
4191- basic_machine=none-none
4192- os=-none
4193- ;;
4194-
4195-# Here we handle the default manufacturer of certain CPU types. It is in
4196-# some cases the only manufacturer, in others, it is the most popular.
4197- w89k)
4198- basic_machine=hppa1.1-winbond
4199- ;;
4200- op50n)
4201- basic_machine=hppa1.1-oki
4202- ;;
4203- op60c)
4204- basic_machine=hppa1.1-oki
4205- ;;
4206- romp)
4207- basic_machine=romp-ibm
4208- ;;
4209- mmix)
4210- basic_machine=mmix-knuth
4211- ;;
4212- rs6000)
4213- basic_machine=rs6000-ibm
4214- ;;
4215- vax)
4216- basic_machine=vax-dec
4217- ;;
4218- pdp10)
4219- # there are many clones, so DEC is not a safe bet
4220- basic_machine=pdp10-unknown
4221- ;;
4222- pdp11)
4223- basic_machine=pdp11-dec
4224- ;;
4225- we32k)
4226- basic_machine=we32k-att
4227- ;;
4228- sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
4229- basic_machine=sh-unknown
4230- ;;
4231- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
4232- basic_machine=sparc-sun
4233- ;;
4234- cydra)
4235- basic_machine=cydra-cydrome
4236- ;;
4237- orion)
4238- basic_machine=orion-highlevel
4239- ;;
4240- orion105)
4241- basic_machine=clipper-highlevel
4242- ;;
4243- mac | mpw | mac-mpw)
4244- basic_machine=m68k-apple
4245- ;;
4246- pmac | pmac-mpw)
4247- basic_machine=powerpc-apple
4248- ;;
4249- *-unknown)
4250- # Make sure to match an already-canonicalized machine name.
4251- ;;
4252- *)
4253- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
4254- exit 1
4255- ;;
4256-esac
4257-
4258-# Here we canonicalize certain aliases for manufacturers.
4259-case $basic_machine in
4260- *-digital*)
4261- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
4262- ;;
4263- *-commodore*)
4264- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
4265- ;;
4266- *)
4267- ;;
4268-esac
4269-
4270-# Decode manufacturer-specific aliases for certain operating systems.
4271-
4272-if [ x"$os" != x"" ]
4273-then
4274-case $os in
4275- # First match some system type aliases
4276- # that might get confused with valid system types.
4277- # -solaris* is a basic system type, with this one exception.
4278- -solaris1 | -solaris1.*)
4279- os=`echo $os | sed -e 's|solaris1|sunos4|'`
4280- ;;
4281- -solaris)
4282- os=-solaris2
4283- ;;
4284- -svr4*)
4285- os=-sysv4
4286- ;;
4287- -unixware*)
4288- os=-sysv4.2uw
4289- ;;
4290- -gnu/linux*)
4291- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
4292- ;;
4293- # First accept the basic system types.
4294- # The portable systems comes first.
4295- # Each alternative MUST END IN A *, to match a version number.
4296- # -sysv* is not here because it comes later, after sysvr4.
4297- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
4298- | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
4299- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
4300- | -kopensolaris* \
4301- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
4302- | -aos* | -aros* \
4303- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
4304- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
4305- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
4306- | -openbsd* | -solidbsd* \
4307- | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
4308- | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
4309- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
4310- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
4311- | -chorusos* | -chorusrdb* | -cegcc* \
4312- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
4313- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
4314- | -uxpv* | -beos* | -mpeix* | -udk* \
4315- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
4316- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
4317- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
4318- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
4319- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
4320- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
4321- | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
4322- # Remember, each alternative MUST END IN *, to match a version number.
4323- ;;
4324- -qnx*)
4325- case $basic_machine in
4326- x86-* | i*86-*)
4327- ;;
4328- *)
4329- os=-nto$os
4330- ;;
4331- esac
4332- ;;
4333- -nto-qnx*)
4334- ;;
4335- -nto*)
4336- os=`echo $os | sed -e 's|nto|nto-qnx|'`
4337- ;;
4338- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
4339- | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
4340- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
4341- ;;
4342- -mac*)
4343- os=`echo $os | sed -e 's|mac|macos|'`
4344- ;;
4345- -linux-dietlibc)
4346- os=-linux-dietlibc
4347- ;;
4348- -linux*)
4349- os=`echo $os | sed -e 's|linux|linux-gnu|'`
4350- ;;
4351- -sunos5*)
4352- os=`echo $os | sed -e 's|sunos5|solaris2|'`
4353- ;;
4354- -sunos6*)
4355- os=`echo $os | sed -e 's|sunos6|solaris3|'`
4356- ;;
4357- -opened*)
4358- os=-openedition
4359- ;;
4360- -os400*)
4361- os=-os400
4362- ;;
4363- -wince*)
4364- os=-wince
4365- ;;
4366- -osfrose*)
4367- os=-osfrose
4368- ;;
4369- -osf*)
4370- os=-osf
4371- ;;
4372- -utek*)
4373- os=-bsd
4374- ;;
4375- -dynix*)
4376- os=-bsd
4377- ;;
4378- -acis*)
4379- os=-aos
4380- ;;
4381- -atheos*)
4382- os=-atheos
4383- ;;
4384- -syllable*)
4385- os=-syllable
4386- ;;
4387- -386bsd)
4388- os=-bsd
4389- ;;
4390- -ctix* | -uts*)
4391- os=-sysv
4392- ;;
4393- -nova*)
4394- os=-rtmk-nova
4395- ;;
4396- -ns2 )
4397- os=-nextstep2
4398- ;;
4399- -nsk*)
4400- os=-nsk
4401- ;;
4402- # Preserve the version number of sinix5.
4403- -sinix5.*)
4404- os=`echo $os | sed -e 's|sinix|sysv|'`
4405- ;;
4406- -sinix*)
4407- os=-sysv4
4408- ;;
4409- -tpf*)
4410- os=-tpf
4411- ;;
4412- -triton*)
4413- os=-sysv3
4414- ;;
4415- -oss*)
4416- os=-sysv3
4417- ;;
4418- -svr4)
4419- os=-sysv4
4420- ;;
4421- -svr3)
4422- os=-sysv3
4423- ;;
4424- -sysvr4)
4425- os=-sysv4
4426- ;;
4427- # This must come after -sysvr4.
4428- -sysv*)
4429- ;;
4430- -ose*)
4431- os=-ose
4432- ;;
4433- -es1800*)
4434- os=-ose
4435- ;;
4436- -xenix)
4437- os=-xenix
4438- ;;
4439- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
4440- os=-mint
4441- ;;
4442- -aros*)
4443- os=-aros
4444- ;;
4445- -kaos*)
4446- os=-kaos
4447- ;;
4448- -zvmoe)
4449- os=-zvmoe
4450- ;;
4451- -dicos*)
4452- os=-dicos
4453- ;;
4454- -none)
4455- ;;
4456- *)
4457- # Get rid of the `-' at the beginning of $os.
4458- os=`echo $os | sed 's/[^-]*-//'`
4459- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
4460- exit 1
4461- ;;
4462-esac
4463-else
4464-
4465-# Here we handle the default operating systems that come with various machines.
4466-# The value should be what the vendor currently ships out the door with their
4467-# machine or put another way, the most popular os provided with the machine.
4468-
4469-# Note that if you're going to try to match "-MANUFACTURER" here (say,
4470-# "-sun"), then you have to tell the case statement up towards the top
4471-# that MANUFACTURER isn't an operating system. Otherwise, code above
4472-# will signal an error saying that MANUFACTURER isn't an operating
4473-# system, and we'll never get to this point.
4474-
4475-case $basic_machine in
4476- score-*)
4477- os=-elf
4478- ;;
4479- spu-*)
4480- os=-elf
4481- ;;
4482- *-acorn)
4483- os=-riscix1.2
4484- ;;
4485- arm*-rebel)
4486- os=-linux
4487- ;;
4488- arm*-semi)
4489- os=-aout
4490- ;;
4491- c4x-* | tic4x-*)
4492- os=-coff
4493- ;;
4494- # This must come before the *-dec entry.
4495- pdp10-*)
4496- os=-tops20
4497- ;;
4498- pdp11-*)
4499- os=-none
4500- ;;
4501- *-dec | vax-*)
4502- os=-ultrix4.2
4503- ;;
4504- m68*-apollo)
4505- os=-domain
4506- ;;
4507- i386-sun)
4508- os=-sunos4.0.2
4509- ;;
4510- m68000-sun)
4511- os=-sunos3
4512- # This also exists in the configure program, but was not the
4513- # default.
4514- # os=-sunos4
4515- ;;
4516- m68*-cisco)
4517- os=-aout
4518- ;;
4519- mep-*)
4520- os=-elf
4521- ;;
4522- mips*-cisco)
4523- os=-elf
4524- ;;
4525- mips*-*)
4526- os=-elf
4527- ;;
4528- or32-*)
4529- os=-coff
4530- ;;
4531- *-tti) # must be before sparc entry or we get the wrong os.
4532- os=-sysv3
4533- ;;
4534- sparc-* | *-sun)
4535- os=-sunos4.1.1
4536- ;;
4537- *-be)
4538- os=-beos
4539- ;;
4540- *-haiku)
4541- os=-haiku
4542- ;;
4543- *-ibm)
4544- os=-aix
4545- ;;
4546- *-knuth)
4547- os=-mmixware
4548- ;;
4549- *-wec)
4550- os=-proelf
4551- ;;
4552- *-winbond)
4553- os=-proelf
4554- ;;
4555- *-oki)
4556- os=-proelf
4557- ;;
4558- *-hp)
4559- os=-hpux
4560- ;;
4561- *-hitachi)
4562- os=-hiux
4563- ;;
4564- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
4565- os=-sysv
4566- ;;
4567- *-cbm)
4568- os=-amigaos
4569- ;;
4570- *-dg)
4571- os=-dgux
4572- ;;
4573- *-dolphin)
4574- os=-sysv3
4575- ;;
4576- m68k-ccur)
4577- os=-rtu
4578- ;;
4579- m88k-omron*)
4580- os=-luna
4581- ;;
4582- *-next )
4583- os=-nextstep
4584- ;;
4585- *-sequent)
4586- os=-ptx
4587- ;;
4588- *-crds)
4589- os=-unos
4590- ;;
4591- *-ns)
4592- os=-genix
4593- ;;
4594- i370-*)
4595- os=-mvs
4596- ;;
4597- *-next)
4598- os=-nextstep3
4599- ;;
4600- *-gould)
4601- os=-sysv
4602- ;;
4603- *-highlevel)
4604- os=-bsd
4605- ;;
4606- *-encore)
4607- os=-bsd
4608- ;;
4609- *-sgi)
4610- os=-irix
4611- ;;
4612- *-siemens)
4613- os=-sysv4
4614- ;;
4615- *-masscomp)
4616- os=-rtu
4617- ;;
4618- f30[01]-fujitsu | f700-fujitsu)
4619- os=-uxpv
4620- ;;
4621- *-rom68k)
4622- os=-coff
4623- ;;
4624- *-*bug)
4625- os=-coff
4626- ;;
4627- *-apple)
4628- os=-macos
4629- ;;
4630- *-atari*)
4631- os=-mint
4632- ;;
4633- *)
4634- os=-none
4635- ;;
4636-esac
4637-fi
4638-
4639-# Here we handle the case where we know the os, and the CPU type, but not the
4640-# manufacturer. We pick the logical manufacturer.
4641-vendor=unknown
4642-case $basic_machine in
4643- *-unknown)
4644- case $os in
4645- -riscix*)
4646- vendor=acorn
4647- ;;
4648- -sunos*)
4649- vendor=sun
4650- ;;
4651- -cnk*|-aix*)
4652- vendor=ibm
4653- ;;
4654- -beos*)
4655- vendor=be
4656- ;;
4657- -hpux*)
4658- vendor=hp
4659- ;;
4660- -mpeix*)
4661- vendor=hp
4662- ;;
4663- -hiux*)
4664- vendor=hitachi
4665- ;;
4666- -unos*)
4667- vendor=crds
4668- ;;
4669- -dgux*)
4670- vendor=dg
4671- ;;
4672- -luna*)
4673- vendor=omron
4674- ;;
4675- -genix*)
4676- vendor=ns
4677- ;;
4678- -mvs* | -opened*)
4679- vendor=ibm
4680- ;;
4681- -os400*)
4682- vendor=ibm
4683- ;;
4684- -ptx*)
4685- vendor=sequent
4686- ;;
4687- -tpf*)
4688- vendor=ibm
4689- ;;
4690- -vxsim* | -vxworks* | -windiss*)
4691- vendor=wrs
4692- ;;
4693- -aux*)
4694- vendor=apple
4695- ;;
4696- -hms*)
4697- vendor=hitachi
4698- ;;
4699- -mpw* | -macos*)
4700- vendor=apple
4701- ;;
4702- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
4703- vendor=atari
4704- ;;
4705- -vos*)
4706- vendor=stratus
4707- ;;
4708- esac
4709- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
4710- ;;
4711-esac
4712-
4713-echo $basic_machine$os
4714-exit
4715-
4716-# Local variables:
4717-# eval: (add-hook 'write-file-hooks 'time-stamp)
4718-# time-stamp-start: "timestamp='"
4719-# time-stamp-format: "%:y-%02m-%02d"
4720-# time-stamp-end: "'"
4721-# End:
4722
4723=== modified file 'debian/changelog'
4724--- debian/changelog 2010-08-20 16:52:18 +0000
4725+++ debian/changelog 2010-11-15 13:38:02 +0000
4726@@ -1,3 +1,34 @@
4727+ibus (1.3.7-1ubuntu5) maverick; urgency=low
4728+
4729+ * debia/patches/05_appindicator.patch
4730+ - Fixed unresponsive menu, Bug #645724
4731+ - Fixed 100% cpu usage properly, Bug #637671
4732+ - Fixed focus tracking issue, Bug #522079
4733+ * debian/patches/07_disable_introspection.patch
4734+ - Added better control over the introspection build and disabled it by default
4735+
4736+ -- Karl Lattimer <karl@qdh.org.uk> Mon, 15 Nov 2010 10:32:13 +0100
4737+
4738+ibus (1.3.7-1ubuntu4) UNRELEASED; urgency=low
4739+
4740+ * debian/patches/03_fix1104.patch
4741+ - Removed part of the patch that wasn't needed and caused a build failure
4742+ - Renamed reference to removed __sigchld_cb to callback to __child_watch_cb
4743+ * debian/patches/05_appindicator.patch:
4744+ - Renamed reference to removed __sigchld_cb to callback to __child_watch_cb
4745+
4746+ [Ikuya Awashiro]
4747+ * debian/patches/03_fix1104.patch: added.
4748+ - http://code.google.com/p/ibus/issues/detail?id=1104
4749+ - This patch fixed (LP: #637671) finally.
4750+
4751+ [Karl Lattimer]
4752+ * debian/patches/05_appindicator.patch:
4753+ - Partial fix for strange python 100% cpu usage bug from sigchld_cb in
4754+ panel.py (LP: #637671)
4755+
4756+ -- Ken VanDine <ken.vandine@canonical.com> Thu, 28 Oct 2010 09:36:18 -0400
4757+
4758 ibus (1.3.7-1ubuntu3) maverick; urgency=low
4759
4760 * debian/patches/05_appindicator.patch:
4761
4762=== modified file 'debian/ibus.install'
4763--- debian/ibus.install 2010-07-06 16:02:22 +0000
4764+++ debian/ibus.install 2010-11-15 13:38:02 +0000
4765@@ -8,3 +8,5 @@
4766 debian/tmp/usr/share/icons/*
4767 debian/tmp/usr/share/locale/*
4768 debian/tmp/usr/share/pixmaps
4769+debian/tmp/usr/lib/girepository-1.0/IBus-1.0.typelib
4770+debian/tmp/usr/share/gir-1.0/IBus-1.0.gir
4771
4772=== modified file 'debian/patches/01_ubuntu_desktop'
4773--- debian/patches/01_ubuntu_desktop 2010-07-06 16:02:22 +0000
4774+++ debian/patches/01_ubuntu_desktop 2010-11-15 13:38:02 +0000
4775@@ -1,5 +1,6 @@
4776---- a/bus/ibus.desktop.in
4777-+++ b/bus/ibus.desktop.in
4778+=== modified file 'bus/ibus.desktop.in'
4779+--- old/bus/ibus.desktop.in 2010-11-15 11:00:08 +0000
4780++++ new/bus/ibus.desktop.in 2010-11-15 13:19:51 +0000
4781 @@ -3,6 +3,7 @@
4782 _Name=IBus
4783 _GenericName=Input Method Framework
4784@@ -8,9 +9,12 @@
4785 Exec=ibus-daemon --xim
4786 Icon=ibus
4787 Terminal=false
4788---- a/setup/ibus-setup.desktop.in
4789-+++ b/setup/ibus-setup.desktop.in
4790-@@ -2,6 +2,7 @@
4791+
4792+=== modified file 'setup/ibus-setup.desktop.in'
4793+--- old/setup/ibus-setup.desktop.in 2010-11-15 13:18:28 +0000
4794++++ new/setup/ibus-setup.desktop.in 2010-11-15 13:20:39 +0000
4795+@@ -1,7 +1,8 @@
4796+ [Desktop Entry]
4797 Encoding=UTF-8
4798 _Name=IBus Preferences
4799 _Comment=Set IBus Preferences
4800
4801=== added file 'debian/patches/03_fix1104.patch'
4802--- debian/patches/03_fix1104.patch 1970-01-01 00:00:00 +0000
4803+++ debian/patches/03_fix1104.patch 2010-11-15 13:38:02 +0000
4804@@ -0,0 +1,61 @@
4805+diff -uNr -x .pc ibus-1.3.7.orig//ui/gtk/panel.py ibus-1.3.7.1104//ui/gtk/panel.py
4806+--- ibus-1.3.7.orig//ui/gtk/panel.py 2010-11-15 12:39:28.000000000 +0100
4807++++ ibus-1.3.7.1104//ui/gtk/panel.py 2010-11-15 12:45:09.000000000 +0100
4808+@@ -23,6 +23,7 @@
4809+ import gtk
4810+ import gtk.gdk as gdk
4811+ import gobject
4812++import glib
4813+ import ibus
4814+ import icon as _icon
4815+ import os
4816+@@ -63,15 +64,12 @@
4817+ self.__bus = bus
4818+ self.__config = self.__bus.get_config()
4819+ self.__focus_ic = None
4820+- self.__setup_pid = 0
4821++ self.__setup_pid = None
4822+ self.__prefix = os.getenv("IBUS_PREFIX")
4823+ self.__data_dir = path.join(self.__prefix, "share", "ibus")
4824+ # self.__icons_dir = path.join(self.__data_dir, "icons")
4825+ self.__setup_cmd = path.join(self.__prefix, "bin", "ibus-setup")
4826+
4827+- # hanlder signal
4828+- signal.signal(signal.SIGCHLD, self.__sigchld_cb)
4829+-
4830+ # connect bus signal
4831+ self.__config.connect("value-changed", self.__config_value_changed_cb)
4832+ self.__config.connect("reloaded", self.__config_reloaded_cb)
4833+@@ -501,20 +499,18 @@
4834+ else:
4835+ print >> sys.stderr, "Unknown command %s" % command
4836+
4837+- def __sigchld_cb(self, sig, sf):
4838+- try:
4839+- pid, status = os.wait()
4840+- if self.__setup_pid == pid:
4841+- self.__setup_pid = 0
4842+- except:
4843+- pass
4844++ def __child_watch_cb(self, pid, status):
4845++ self.__setup_pid.close()
4846++ self.__setup_pid = None
4847+
4848+ def __start_setup(self):
4849+- if self.__setup_pid != 0:
4850+- pid, state = os.waitpid(self.__setup_pid, os.P_NOWAIT)
4851+- if pid != self.__setup_pid:
4852+- os.kill(self.__setup_pid, signal.SIGUSR1)
4853+- return
4854+- self.__setup_pid = 0
4855+- self.__setup_pid = os.spawnl(os.P_NOWAIT, self.__setup_cmd, "ibus-setup")
4856++ if self.__setup_pid:
4857++ # if setup dialog is running, bring the dialog to front by SIGUSR1
4858++ self.__setup_pid.close()
4859++ self.__setup_pid = None
4860++ return
4861++
4862++ pid = glib.spawn_async(argv=[self.__setup_cmd], flags=glib.SPAWN_DO_NOT_REAP_CHILD)[0]
4863++ self.__setup_pid = pid
4864++ glib.child_watch_add(self.__setup_pid, self.__child_watch_cb)
4865+
4866
4867=== modified file 'debian/patches/05_appindicator.patch'
4868--- debian/patches/05_appindicator.patch 2010-08-20 16:52:18 +0000
4869+++ debian/patches/05_appindicator.patch 2010-11-15 13:38:02 +0000
4870@@ -1,6 +1,6 @@
4871-diff -uNr ibus-1.3.7.orig/ui/gtk/main.py ibus-1.3.7/ui/gtk/main.py
4872---- ibus-1.3.7.orig/ui/gtk/main.py 2010-08-20 11:54:10.439738002 +0100
4873-+++ ibus-1.3.7/ui/gtk/main.py 2010-08-20 10:50:35.000000000 +0100
4874+diff -uNr -x .pc ibus-1.3.7.1104/ui/gtk/main.py ibus-1.3.7/ui/gtk/main.py
4875+--- ibus-1.3.7.1104/ui/gtk/main.py 2010-11-15 12:39:20.000000000 +0100
4876++++ ibus-1.3.7/ui/gtk/main.py 2010-11-15 12:33:59.000000000 +0100
4877 @@ -58,9 +58,11 @@
4878 "Please restart ibus input platform."), \
4879 "ibus")
4880@@ -16,31 +16,30 @@
4881
4882 def __restart_cb(self, notify, action, data):
4883 if action == "restart":
4884-diff -uNr ibus-1.3.7.orig/ui/gtk/panel.py ibus-1.3.7/ui/gtk/panel.py
4885---- ibus-1.3.7.orig/ui/gtk/panel.py 2010-08-20 11:54:10.429738002 +0100
4886-+++ ibus-1.3.7/ui/gtk/panel.py 2010-08-20 12:11:38.339738002 +0100
4887-@@ -34,6 +34,11 @@
4888+diff -uNr -x .pc ibus-1.3.7.1104/ui/gtk/panel.py ibus-1.3.7/ui/gtk/panel.py
4889+--- ibus-1.3.7.1104/ui/gtk/panel.py 2010-11-15 12:45:09.000000000 +0100
4890++++ ibus-1.3.7/ui/gtk/panel.py 2010-11-15 12:47:05.000000000 +0100
4891+@@ -35,6 +35,11 @@
4892 from candidatepanel import CandidatePanel
4893 from engineabout import EngineAbout
4894
4895 +try:
4896 + import appindicator
4897 +except:
4898-+ pass
4899++ appindicator = None
4900 +
4901 from gettext import dgettext
4902 _ = lambda a : dgettext("ibus", a)
4903 N_ = lambda a : a
4904-@@ -68,7 +73,7 @@
4905+@@ -65,6 +70,7 @@
4906+ self.__config = self.__bus.get_config()
4907+ self.__focus_ic = None
4908+ self.__setup_pid = None
4909++ self.__block_activate = False
4910+ self.__prefix = os.getenv("IBUS_PREFIX")
4911 self.__data_dir = path.join(self.__prefix, "share", "ibus")
4912 # self.__icons_dir = path.join(self.__data_dir, "icons")
4913- self.__setup_cmd = path.join(self.__prefix, "bin", "ibus-setup")
4914--
4915-+
4916- # hanlder signal
4917- signal.signal(signal.SIGCHLD, self.__sigchld_cb)
4918-
4919-@@ -106,12 +111,22 @@
4920+@@ -104,12 +110,22 @@
4921 lambda widget, index, button, state: self.candidate_clicked(index, button, state))
4922
4923
4924@@ -69,7 +68,7 @@
4925
4926 self.__config_load_lookup_table_orientation()
4927 self.__config_load_show()
4928-@@ -188,10 +203,13 @@
4929+@@ -186,10 +202,13 @@
4930 if not icon_name:
4931 icon_name = ICON_ENGINE
4932 self.__language_bar.set_im_icon(icon_name)
4933@@ -86,17 +85,32 @@
4934
4935 def __set_im_name(self, name):
4936 self.__language_bar.set_im_name(name)
4937-@@ -214,6 +232,9 @@
4938+@@ -211,15 +230,24 @@
4939+ else:
4940 self.__set_im_icon(ICON_KEYBOARD)
4941 self.__set_im_name(None)
4942++
4943 self.__language_bar.focus_in()
4944++ while gtk.events_pending():
4945++ gtk.main_iteration(False)
4946 + if self.__appindicator:
4947-+ self.__previous_focus_ic = self.__focus_ic
4948 + self.__appindicator_update_menu()
4949
4950 def focus_out(self, ic):
4951 self.reset()
4952-@@ -290,7 +311,13 @@
4953++ self.__previous_focus_ic = self.__focus_ic
4954+ self.__focus_ic = None
4955+ self.__language_bar.set_enabled(False)
4956+ self.__language_bar.focus_out()
4957+ self.__set_im_icon(ICON_KEYBOARD)
4958+ self.__set_im_name(None)
4959++
4960++ while gtk.events_pending():
4961++ gtk.main_iteration(False)
4962+
4963+ def state_changed(self):
4964+ if not self.__focus_ic:
4965+@@ -288,7 +316,13 @@
4966
4967 def __config_load_show_icon_on_systray(self):
4968 value = self.__config.get_value("panel", "show_icon_on_systray", True)
4969@@ -111,7 +125,7 @@
4970
4971 def __config_load_show_im_name(self):
4972 value = self.__config.get_value("panel", "show_im_name", False)
4973-@@ -317,8 +344,7 @@
4974+@@ -315,8 +349,7 @@
4975 def __config_reloaded_cb(self, bus):
4976 pass
4977
4978@@ -121,7 +135,7 @@
4979 item = gtk.ImageMenuItem(gtk.STOCK_PREFERENCES)
4980 item.connect("activate",
4981 self.__sys_menu_item_activate_cb, gtk.STOCK_PREFERENCES)
4982-@@ -337,8 +363,6 @@
4983+@@ -335,8 +368,6 @@
4984 self.__sys_menu_item_activate_cb, gtk.STOCK_QUIT)
4985 menu.add(item)
4986
4987@@ -130,10 +144,11 @@
4988 return menu
4989
4990 # def __create_im_menu(self):
4991-@@ -401,33 +425,47 @@
4992+@@ -399,33 +430,50 @@
4993
4994 size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
4995 menu = gtk.Menu()
4996++
4997 + group = None
4998 for i, engine in enumerate(engines):
4999 lang = ibus.get_language_name(engine.language)
5000@@ -155,8 +170,8 @@
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: