drivel-3.0.5/0000755000175000017500000000000012164124030007776 500000000000000drivel-3.0.5/ChangeLog0000644000175000017500000031277511731020574011516 000000000000002012-03-17 Neil Williams * configure.ac: Bump to 3.0.4 po/fr.po: Updated translation po/*: Refresh the PO files, some seemed to be outdated. 2011-05-07 Neil Williams * configure.ac: Bump to 3.0.3 * src/drivel-gtk.glade: Fix location of the toolbar and menu bars to be consistently placed. * Fix variables which are retained for debugging support but which gcc-4.6 claims are not used. 2010-05-23 Neil Williams * configure.ac: Bump to 3.0.2 * po/pt.po: Updated translation. 2010-05-12 Neil Williams * src/drivel-gtk.glade: Add tooltips to toolbar buttons * src/journal.c: 2010-03-06 Neil Williams * src/drivel-gtk.glade: Add spellcheck toggle tool button. * src/drivel.h: Add toggle button to DrivelClient struct. * src/journal.c: Toggling button toggles menu and vice versa. 2010-03-06 Neil Williams * src/drivel-gtk.glade: Add a toolbar to the journal editor. (Closes: #162813) * src/journal.c: Add signal connections for the toolbar. 2009-11-05 Neil Williams * src/network.c (got_chunk_cb): Handle a potential content_length of zero and limit percentage to a max of 1.0. (Fixes Blogger login crash.) 2009-11-04 Neil Williams * configure.ac: Add -Wl,--no-add-needed in extra-compile-warning mode to catch missing linkages. Bump to 3.0.1 * src/Makefile.am: Add -ldl to drivel LDFLAGS. 2009-10-02 Neil Williams * NEWS: 3.0.0 announcement * README: Update for 3.0 * TODO: Add tasks for the 3.0 series. * src/Makefile.am: Drop text/html+livejournal addon that took up space but doesn't work with gtksourceview2 * src/journal.c: Omit support for livejournal.lang * src/livejournal.lang (deleted): Dropped file. 2009-09-26 Neil Williams * src/blog_mt.c: Add soup_xmlrpc_message_end_param call before mt.publishPost for s9 compatibility. * src/network.c: Always add User-Agent. Handle another drupal6 bug. 2009-09-25 Neil Williams * src/blog_mt.c: Separate handling for mt_tags and mt_keywords so that WordPress can have Tags but call them keywords. * src/network.c: Work around a bug in drupal6 so that drivel can at least avoid an infinite loop. Drupal6 still cannot post using 3.0. Probably needs to wait for GValue soup support instead of soup_xmlrpc. 2009-09-25 Neil Williams * src/blog_lj.c: Handle broken LJ XMLRPC Spec and add back support for LJ taglist. Props now post using XMLRPC. * src/blog_lj.h: Get tags from UI * src/dialogs.c: * src/journal.c: Pass tags from UI to LJ. 2009-09-20 Neil Williams * src/blog_lj.c: Check the livejournal URI and add the xmlrpc interface if not already specified. Set some test code for soup2.4 compliance and disable props in LJ as neither the 2.4 nor 2.2 code can set the properties. * src/blog_mt.c : Don't use publish boolean - allows serendipity and wp to be more operational without affecting MT. * src/blog_blogger.c: Add Subject support (called title in blogger) * src/blog_blogger.h: retrieve subject from UI * src/journal.c: pass subject and show subject box. 2009-09-08 Neil Williams * src/blog_atom.c: Output the XMLRPC in verbose mode. * src/blog_blogger.c: Output the XMLRPC in verbose mode. * src/blog_lj.c: Generalise the print_xmlrpc calls. * src/blog_mt.c: * src/journal.c: read tags in from draft files. * src/main.c: Accept local and relative file locations. * src/utils.c: * src/utils.h: 2009-09-08 Neil Williams * autogen.sh: ignore gnome-autogen.sh errors. (allows use of autogen within anjuta) * src/drivel-gtk.glade: Add default liststores to silence GtkBuilder messages at startup. * src/journal.c: Enable mood and music iterators to set the user selection. 2009-09-07 Neil Williams * src/Makefile.am: Drop md5. Use support in GLib 2.16 * src/blog_lj.c: Use g_checksum * src/utils.c: Drop md5 code. * src/utils.h: Drop md5 functions. * src/md5.c (deleted): * src/md5.h (deleted): 2009-09-06 Neil Williams * HACKING: Add more advice on LJ * debian/copyright: Add details of libsoup2.2 code * src/blog_lj.c: Add more debug support * src/login.c: Allow login to LJ via XMLRPC * src/network.c: Add debug code * src/soup-xmlrpc-response.c: Debug support. 2009-09-03 Neil Williams patch by: Mario Blättermann * help/Makefile.am: Add de to DOC_LINGUAS * help/de (added): * help/de/de.po (added): German translation of Drivel Manual/ 2009-09-01 Neil Williams * src/blog_mt.c: Set taglist as a property so that it can be retrieved from recent entries. Change from mt_keywords to mt_tags for MT compatibility. (May add mt_keywords in 3.0.1.) * src/drivel-gtk.glade: Add separate tag box for MT * src/journal.c: raise the tag box for MT and LJ separately. 2009-09-01 Neil Williams * src/drivel-gtk.glade: remove duplicate id's. * src/login.c: Patch from Emmanuele Bassi to fix GtkRecentChooser filtering. 2009-08-31 Neil Williams * TODO: Update * src/blog_advogato.c: Tell the user what is happening via the journal status bar and use the journal progress bar. * src/blog_advogato.h: No need to return DrivelRequest* anymore (only ever returning NULL and return values are ignored anyway). * src/blog_atom.c: Use update_status_msg at each stage * src/blog_atom.h: * src/blog_blogger.c: * src/blog_blogger.h: * src/blog_lj.c: * src/blog_lj.h: * src/blog_mt.c: * src/blog_mt.h: * src/drivel-gtk.glade: Implement login status bar and journal status and progress bars. * src/drivel.h: * src/journal.c: * src/login.c: * src/network.c: Add remaining types to update_status_msg. * src/network.h: Expose update_status_msg for use in each blog client. 2009-08-31 Neil Williams * src/drivel.h: Migrate RecentChooser support into DrivelClient * src/journal.c: Refresh the recent chooser at logout * src/login.c: Handle recent chooser during login/logout. * src/login.h: * src/main.c: * src/tray.c: 2009-08-30 Neil Williams * configure.ac: Enable -Werror and -Wall along with some optional extra compiler warning settings * src/blog_atom.c: Fix signed/unsigned comparisons * src/gtkdateentry.c: fix compiler warning * src/journal.c: missing initialisers * src/login.c: fix compiler warnings * src/network.c: * src/query_music_players.c: * src/soup-xmlrpc-response.c: * src/utils.c: 2009-08-30 Neil Williams * src/drivel.h: GtkRecent instead of libegg. * src/journal.c: Implement GtkRecentManager support to replace libegg. src/libegg removed. * src/main.c: Re-enable command line arguments. 2009-08-30 Neil Williams * src/drivel-gtk.glade: The status bar has actually always been a progress bar - synchronise. * src/drivel.h: * src/journal.c: * src/login.c: * src/network.c: Convert from Gnome status bar to a GtkStatusBar. * src/tray.c: Use GtkStatusIcon to replace libegg. 2009-08-28 Neil Williams * configure.ac: Drop libglade2 requirement * src/login.c: No need for glade.h now. 2009-08-28 Neil Williams * src/dialogs.c: Change the "clear text" confirmation dialog text to be clearer about what it is doing. Complete transition from ItemFactory to GtkBuilder by using stock buttons on confirmation dialogs. * src/drivel-gtk.glade: Set the theme font as default until the user changes it. * src/journal.c: GtkSourceView2.0 handles undo, cut, copy, paste and redo via context menus - remove from our Edit menu and use a GtkSourceBuffer instead of a GtkTextBuffer. Set a blank string instead of a NULL when clearing tag entry. Shorten the ghelp calls to avoid creating a temporary string. Add the journal menu to the journal window. 2009-08-25 Neil Williams * AUTHORS: Add Homebank author for experimental gtkdateentry support to replace part of libegg. * Makefile.am: Migrate pixmaps to glade directories. * autogen.sh: Remove intltool-*.in * pixmaps/Makefile.am: GtkBuilder support. * src/Makefile.am: Pixmap relocations. * src/about.c: Pixmap relocations. * src/dialogs.c: Pixmap relocations. * src/drivel-gtk.glade: Reorientate lots of vboxes to let the dialogs show up correctly within Glade itself. Move icons from ItemFactory to GtkBuilder. Adjust some shortcuts to remove some obvious duplicates. * src/drivel.h: Pixmap relocations. * src/gtkdateentry.c: New file from homebank (GPL-2+) * src/gtkdateentry.h: New file from homebank (GPL-2+) * src/insert_poll_dialog.c: Pixmap relocations. * src/journal.c: GtkDateEntry experiments. Pixmap relocations. * src/login.c: Pixmap relocations. * src/main.c: Remove GtkItemFactory code and adjust to GtkBuilder relocations. * src/query_music_players.c: Pixmap relocations. * src/tray.c: Pixmap relocations. * src/utils.c: Pixmap relocations. * src/gtkdateentry.c (added): * src/gtkdateentry.h (added): 2009-08-20 Neil Williams * src/about.c: fix how to close the about box. * src/journal.c: Replace gnome_help_display * src/login.c: Replace gnome_help_display 2009-08-20 Neil Williams * HACKING: Add notes about Debian builds. * src/blog_advogato.c: Fix build warnings * src/blog_atom.c: * src/blog_blogger.c: * src/dialogs.c: Drop deprecated functions * src/msg_queue.c: * src/query_music_players.c: Handle deprecated g_strcasecmp. 2009-08-20 Neil Williams * configure.ac: Remove libcurl - handled by libsoup now instead. * src/Makefile.am: * src/atom.c: * src/blog_lj.c: Note that the only remaining use of curl should be easily replaceable via GLib. * src/dialogs.c: * src/drivel.h: * src/journal.c: * src/login.c: * src/main.c: 2009-08-20 Neil Williams * src/drivel-gtk.glade: Silence warnings of deprecated GtkSpinButton PageSize properties * src/journal.c: Fixup gtksourceview use for 2.0 but livejournal extensions no longer operate. * src/livejournal.lang: Temporary file - if extensions are not wanted, remove it. 2009-08-20 Neil Williams * configure.ac: replace popt with GOptionContext * src/Makefile.am: drop POPT_LIBS * src/drivel-gtk.glade: Replace the menu in the login window. Add status bar. * src/login.c: Load the GtkUIManager menu 2009-08-20 Neil Williams * src/about.c: Convert to GtkAboutDialog. * src/atom.c: use BAD_CAST to silence a signing mismatch warning. * src/drivel-gtk.glade: Port the journal and login windows from bonobo to GtkBuilder. * src/drivel.h: Change to recent_entries to GPtrArray * src/main.c: Use GOptionContext and gtk_init instead of gnome_program_init. 2009-08-19 Neil Williams * src/dialogs.c: * src/drivel-gtk.glade: * src/drivel.h: * src/journal.c: * src/main.c: Implement font selection dialog. (Closes: #361666) 2009-08-19 Neil Williams * src/Makefile.am: Drop ephyspinner - not supported by GtkBuilder. * src/msg_queue.c: Omit ephyspinner. 2009-08-19 Neil Williams * src/about.h: Update FSF address in GPL notices. * src/atom.c: * src/atom.h: * src/blog_advogato.c: * src/blog_advogato.h: * src/blog_atom.h: * src/blog_blogger.h: * src/blog_lj.h: * src/blog_mt.h: * src/blog_offline.h: * src/dialogs.h: * src/drivel_request.c: * src/drivel_request.h: * src/insert_poll_dialog.h: * src/journal.h: * src/msg_queue.h: * src/network.h: * src/query_music_players.h: * src/tray.h: * src/xmlrpc.c: * src/xmlrpc.h: 2009-08-19 Neil Williams * configure.ac: Migration to Gtk3.0, bump to 3.0.0 (Closes: #151855) * src/Makefile.am: Drop ligegg (Closes: #349307) * src/about.c: * src/blog_atom.c: * src/blog_blogger.c: * src/blog_lj.c: * src/blog_mt.c: * src/blog_offline.c: * src/dialogs.c: * src/drivel-gtk.glade: * src/drivel.h: * src/insert_poll_dialog.c: * src/journal.c: * src/login.c: * src/login.h: * src/main.c: * src/msg_queue.c: * src/network.c: * src/query_music_players.c: * src/tray.c: * src/utils.c: * src/utils.h: Remove libgnome* and libbonobo, comment out libegg and GnomeApp code. * src/drivel-gtk.glade (added): GtkBuilder version 2009-07-12 Neil Williams patch by: Dan Winship (Closes: #513301) drivel doesn't compile against libsoup 2.4 * configure.ac, src/Makefile.am, src/blog_atom.c, src/blog_lj.c, src/blog_mt.c, src/drivel.glade, src/network.c, src/network.h, src/soup-xmlrpc-message.c, src/soup-xmlrpc-message.h, src/soup-xmlrpc-response.c, src/soup-xmlrpc-response.h, src/xmlrpc.c, src/xmlrpc.h, src/soup-xmlrpc-message.c (added), src/soup-xmlrpc-message.h (added), src/soup-xmlrpc-response.c (added), src/soup-xmlrpc-response.h (added): libsoup2.2 changes ported to libsoup2.4. 2009-06-26 Neil Williams patch from: Carlos Martin Nieto Allow setting tags on MT posts. Updated for trunk. (Closes: 538410) * src/blog_mt.c: * src/blog_mt.h: * src/drivel.glade: * src/drivel.h: * src/journal.c: 2009-04-19 Neil Williams patch by: Nuno Pedrosa * src/blog_blogger.c: Fix problems with blogs.sapo.pt (Closes: #530000) 2009-04-17 Neil Williams * po/LINGUAS: Add newly added languages. * src/Makefile.am: make distcheck support from branch. patch by: Jess Little * src/blog_advogato.c, src/blog_atom.c, src/blog_blogger.c, * src/blog_lj.c, src/blog_lj.h, src/blog_mt.c, src/drivel.glade, * src/drivel.h, src/journal.c, src/journal.h: Add Tag support for LiveJournal - migrated from branch. patch by: Tobias Mueller * src/libegg/egg-recent-view-bonobo.c: Memory leak in egg-recent-view-bonobo.c - migrated from branch. patch by: Carlos Martín Nieto * src/blog_atom.c, src/blog_blogger.c, src/blog_lj.c, src/blog_mt.c, src/drivel.h, src/journal.c, src/main.c: Should use GPtrArray instead of GArray - from branch. 2009-04-17 Neil Williams * INSTALL, Makefile.am, NEWS, autogen.sh, configure.ac, * data/gnome-drivel.desktop.in, debian/changelog, help/C/drivel.xml, * help/Makefile.am, po/LINGUAS, po/Makefile.in.in, po/bg.po, * po/ca.po, po/cs.po, po/el.po, po/it.po, po/no.po, m4 (added), * debian (added), help/ChangeLog (added), help/drivel.omf.in (added), * po/no.po (added), po/it.po (added), po/LINGUAS (added): Migrate build system changes from 2.0.4 branch into trunk. 2008-09-16 Theppitak Karoonboonyanan * configure.ac: Added 'th' (Thai) to ALL_LINGUAS. 2007-10-14 Yannig Marchegay * configure.ac: Added 'oc' to ALL_LINGUAS. 2007-03-19 Pema Geyleg * configure.ac: Added 'dz' to the list 2006-12-21 Todd Kulesza * src/drivel.glade: * src/drivel.h: * src/journal.c: * src/login.c: * src/network.c: - Begin to implement new progress bar code. 2006-12-13 Todd Kulesza * src/blog_lj.c: * src/journal.c: - Fix parsing of the journal title and description. 2006-12-13 Todd Kulesza * src/blog_lj.c: * src/main.c: - Fix the XML-RPC code to handle metadata properties. - Clear up a few warnings. * src/xmlrpc.[ch]: - Add methods for working with nested structs. 2006-12-08 Todd Kulesza * src/blog_lj.c: - Cleanup some compile warnings. * src/xmlrpc.[ch]: - Remove unused code. 2006-12-08 Todd Kulesza * src/atom.c: * src/blog_atom.c: - Port the Atom code from v0.3 to v1.0 of the Atom spec. Thus far, I've only tested it with Google's implementation of Atom. 2006-12-05 Todd Kulesza * src/drivel.h: * src/main.c: * src/network.c: - Remove unused code. 2006-11-30 Todd Kulesza * src/atom.c: * src/blog_atom.c: - Begin to port the Atom code from v0.3 to v1.0 of the Atom spec. 2006-11-29 Todd Kulesza * src/blog_mt.[ch]: - Implement the mt.supportedMethods feature of MovableType. This allows us to use the MetaWeblog codebase with MT extensions when appropriate. The MetaWeblog module is now known to work with MovableType, Wordpress, and LifeType. Based off of a patch from Riccardo Setti . 2006-11-22 Todd Kulesza * src/blog_atom.c: - Implement Google's clientlogin. * src/network.[ch]: - Add wrapper for requeueing a message. 2006-11-21 Todd Kulesza * src/blog_atom.c: - Begin to work out a system to login to both standard Atom blogs (HTTP Basic Auth) as well as the Google's Blogger Beta. 2006-11-19 Todd Kulesza * src/blog_atom.c: - Begin to port Atom to libsoup. * src/network.c: - Implement a 401 authentication callback. - Cleanup some more unused code. 2006-11-18 Todd Kulesza * src/blog_mt.[ch]: - Finish the port to libsoup. - Cleanup the unused public methods. 2006-11-18 Todd Kulesza * src/blog_mt.c: - Port the category and publish methods to libsoup. * src/xmlrpc.[ch]: - Add helper functions for dealing with arrays. 2006-11-18 Todd Kulesza * src/blog_mt.c: - Port the login, newPost, and editPost methods to libsoup. * src/msg_queue.c: - Remove the handoff_request() method. * src/xmlrpc.[ch]: - Add helper functions for dealing with structs. 2006-11-14 Todd Kulesza * src/*.[ch]: - Remove or comment out unneeded references to DrivelRequest. * src/network.c: - Remove much of the unused old network code. 2006-11-14 Todd Kulesza * src/blog_lj.[ch]: - Port the getfriends and editfriends methods to libsoup. * src/xmlrpc.[ch]: - Add methods for abstracting array handling. * src/main.c: - Add debugging code to compare_usernames(). 2006-11-13 Todd Kulesza * src/blog_lj.c: - Add debugging statements. - Fix the getevents method. 2006-11-13 Todd Kulesza * src/blog_lj.[ch]: - Port the getdaycounts function to libsoup. 2006-11-13 Todd Kulesza * configure.ac: * src/Makefile.am: - Remove libcurl dependancy. - Require libsoup >= 2.2.97. * src/*.[ch]: - Comment out or remove old libcurl code. 2006-10-27 Todd Kulesza * src/blog_lj.[ch]: - Continue porting LiveJournal to XML-RPC. 2006-10-26 Todd Kulesza * src/blog_lj.[ch]: - Port the postevent method to libsoup. 2006-10-26 Todd Kulesza * src/blog_lj.[ch]: - Port the getpictures method to libsoup. 2006-10-25 Todd Kulesza * src/blog_lj.c: - Port the login function to libsoup's XML-RPC code. * src/network.c: - Disable net_enqueue_request(). 2006-10-24 Todd Kulesza * src/blog_lj.[ch]: - Begin to port from the flat POST interface to the XML-RPC interface. - Base new code around libsoup. * src/msg_queue.c: * src/network.c: - Make updates needed to keep these inline with the changing internal LiveJournal API. 2006-10-24 Todd Kulesza * src/blog_blogger.[ch]: - Complete the port to libsoup's XML-RPC code. * src/drivel.h: * src/blog_mt.c: - Change the date_posted element to be of type time_t. * src/main.c: - Disable the thread protections, the new network code is no longer multithreaded. * src/xmlrpc.[ch]: - Add xmlrpc_add_bool_param() method. 2006-10-23 Todd Kulesza * src/blog_advogato.[ch]: - Cleanup the code organization. - Remove public functions which are not needed under the new single-thread network system. * src/blog_blogger.[ch]: - Port the login method to the new libsoup network system. * src/msg_queue.c: * src/network.c: - Disable DrivelRequest-related Blogger code. 2006-10-20 Todd Kulesza * src/blog_advogato.[ch]: - Replace the DrivelRequest data struct with libsoup's SoupMessage. * src/blog_lj.c: * src/msg_queue.c: - Make necessary updates to keep these inline with the move away from DrivelRequest to SoupMessage. * src/network.[ch]: - Remove some old code and reorganize the remaining code. - Add a new enqueue method for dealing with SoupMessages instead of DrivelRequests, plus other support methods. * src/xmlrpc.[ch]: - Add some convenience methods for dealing with libsoup's XML-RPC code. 2006-10-17 Todd Kulesza * src/blog_lj.c: * src/network.c: - Fix the challenge authentication method so that it works using the new XMLRPC interface. 2006-10-05 Kjartan Maraas * configure.ac: Remove "no" from ALL_LINGUAS. 2006-08-28 Abel Cheung * configure.ac: Added 'zh_HK' to ALL_LINGUAS. 2006-08-15 Todd Kulesza * src/network.c: - Retrieve a challenge token from LiveJournal for authentication before every LJ network transaction. 2006-08-14 Todd Kulesza * src/blog_advogato.c: * src/blog_atom.c: * src/blog_blogger.c: * src/blog_mt.c: * src/drivel_request.h: * src/network.c: - Change the DrivelRequestProtocol type so that it is based on HTTP methods rather than the combination of methods and higher-level protocols. This removes the need for separate networking code for Atom and allows it to use the existing XML-RPC/POST code. 2006-08-13 Todd Kulesza * src/login.c: - Fix the URL for Advogato. * src/main.c: * src/network.[ch]: - Port XML-RPC/POST and HTTP/GET methods to use libsoup. - Disable the libcurl networking thread, the libsoup backend will use signals/callbacks rather than a separate thread. - Move the hand_off_request() method into network.c. 2006-08-10 Todd Kulesza * configure.ac: - Add libsoup to list of required modules. * src/network.c: - Begin porting the network code to libsoup. - Attempt to consolidate the multiple perform_* functions down to a single perform_transaction () method. * src/drivel_requst.h: * src/blog_atom.c: - Add a REQUEST_PROTOCOL_DELETE method type. 2006-08-10 Todd Kulesza * po/ne.po: * po/ru.po: - Imported missing translations from the drivel-2-0 branch. 2006-08-08 Todd Kulesza * configure.ac: - Bump version to 2.1.1 * TODO: - Updated for the first time in years :p 2006-08-08 Todd Kulesza - Replace CVS HEAD with the drivel-2-0 branch. All recent development, translating, and bugfixing has occured solely on the branch. 2006-08-06 Todd Kulesza * configure.ac: - Bump version to 2.0.4 * src/xmlrpc.c: - Fix va_list build problem reported by Neil McGovern. 2006-08-06 Todd Kulesza * data/gnome-drivel.desktop.in: - Change 'False' to 'false' 2006-08-04 Todd Kulesza * src/atom.c: - Fix some compatibility problems with the Atom interface. * src/network.c: - Improve debugging output. - Accept the entire range of HTTP 2XX status codes as successfull. 2006-08-03 Todd Kulesza * src/drivel.glade: - Fix some duplicate mnemonics in the Insert Poll dialog. 2006-08-03 Todd Kulesza * data/mime/drivel.xml.in: - Update priority of Drivel Drafts. Patch from Tom Parker. Closes #336500. 2006-08-03 Todd Kulesza * acsite.m4: * acinclude.m4: - Update autoconf macros to acsite.m4. * src/dialogs.c: * src/journal.c: * src/main.c: - Fix GdkPixbuf warnings. Patch from Tom Parker. Closes #336510. 2006-08-02 Todd Kulesza * src/query_music_players.c: - Support music detection via D-Bus. Patch from Andrei Yurkevich. Closes #342747. 2006-08-02 Todd Kulesza * src/network.c: - Support HTTP redirections. Patch from Tom Parker. Closes #347024. 2006-08-02 Todd Kulesza * src/blog_blogger.c: * src/blog_mt.c: * src/dialogs.c: * src/journal.c: * src/main.c: * src/query_music_players.c: * src/xmlrpc.c: - Cleanup some compiler warnings. Includes patch from bugant@openbeer.it. 2006-08-01 Todd Kulesza * src/atom.c: * src/blog_atom.c: * src/network.c: * src/utils.c: * src/xmlrpc.c: - Cleanup some compiler warnings. 2006-04-23 Todd Kulesza * configure.ac: * po/fr.po: - Added French translation from Jeff Coquery. 2006-04-23 Todd Kulesza * src/network.c: - Remove leading whitespace from from network response. Patch from Tom Parker. 2006-04-23 Todd Kulesza * configure.ac: - Bump version to 2.0.3. * help/C/drivel.xml: - Remove the manrevision entity, it was pretty pointless in retrospect. Closes #323338. * src/journal.c: - Resolve accellerator collision. Patch from Tom Parker. Closes #323344. - Call the refresh callback after posting a new entry. Patch from Tom Parker. Closes #323339. - Fix mnemonic problem with MT options. Patch from Tom Parker. Closes #323336. * src/dialogs.c: - Fix mnemonic for dictionary language. Patch from Tom Parker. Closes #323340. * src/dialogs.c: * src/drivel.h: * src/drivel.glade: - Add a View Journal button to the LiveJournal Friends dialog. Patch from Andrey Tatarinov. Closes #320224. * src/msg_queue.c: * src/journal.c: - Fix double-semicolon bug which prevented compilation under GCC 2.95. Patch from Koop Mast. Closes #316511. * src/main.c: - Allow @ and . as valid username characters. Patch from Tom Parker. Closes #312732. 2006-04-22 Todd Kulesza * src/blog_blogger.c: * src/blog_mt.c: - Fix compiliation problems for OpenBSD 3.8. Patch from bugant@gmail.com. Closes #335704. * src/blog_lj.c: - Fix messed up attributes when fetching recent entries. Patch from Tom Parker. Closes #332858. 2006-03-19 Ilkka Tuohela * configure.ac: Added 'fi' to ALL_LINGUAS. 2006-02-03 Clytie Siddall * configure.ac: Added vi in ALL_LINGUAS line. 2006-01-29 Josep Puigdemont i Casamajó * configuew.ac: Added 'ca' to ALL_LINGUAS. 2005-11-11 Žygimantas Beručka * configure.ac: Added Lithuanian to ALL_LINGUAS. 2005-08-24 Pawan Chitrakar * configure.ac : Added nepali ne in ALL_LINGUAS 2005-07-09 Todd Kulesza * src/drivel.glade: - Set the rules hint on the History dialog's entry list. 2005-07-08 Matt T. Proud * src/drivel.glade: - Renamed history_cancel_button to history_close_button - Changed the associated stock type from cancel to close * src/dialogs.c: - Changed the response handling of the history_window not to close upon editting an entry * src/main.c: - Initialize dc->edit_history_window to NULL 2005-07-08 Todd Kulesza * po/pl.po: * configure.ac: - Added Polish translation from Michał Kastelik. 2005-07-04 Todd Kulesza * Backported translation updates from CVS HEAD. 2005-07-01 Chao-Hsiung Liao * configure.ac: Added "zh_TW" to LINGUAS. 2005-06-25 Todd Kulesza * src/dialogs.c: - Fix a memory corruption when inserting an image URL (#308954). * configure.ac: - Bump version to 2.0.2. 2005-06-25 Todd Kulesza * src/blog_lj.[ch]: * src/journal.c: - Include the LiveJournal backdate option when setting an entry to a past date (#308788). 2005-06-19 Todd Kulesza Release 2.0.1 2005-06-19 Todd Kulesza * src/login.c: * src/journal.c: * help/C/drivel.xml: - Add a Frequently Asked Questions section to the documentation. 2005-06-19 Todd Kulesza * src/utils.c: - Fix the title extraction algorithm to deal with HTML more robustly (#307126). 2005-06-19 Todd Kulesza * src/atom.c: - Remove debugging function. * src/journal.c: - Add a call to gtk_ui_manager_get_ui() which seems to fix the incorrect placement of the Refresh button in the Recent Entries menu. 2005-06-19 Todd Kulesza * src/atom.c: * src/journal.c: * src/xmlrpc.c: - Replace all xmlDocDumpFormatMemory() calls with xmlDocDumpFormatMemoryEnc() calls and force UTF-8 encoding (#308033). 2005-06-18 Todd Kulesza * src/main.c: - Allow the hyphen character (-) in usernames (#307938). 2005-06-18 Todd Kulesza * src/journal.c: - Fix default HTML highlighting state (#307542). 2005-06-13 Todd Kulesza * src/about.c: - Corrected Jess's name. 2005-06-13 Todd Kulesza * src/login.c: - Bump max length of login from 15 to 50 characters, suggested value from . 2005-06-12 Jeremy Katz * data/gnome-drivel.desktop.in (Terminal): Terminal is True/False not 0/1 2005-06-08 Todd Kulesza Release 2.0 2005-06-05 Todd Kulesza Release 1.3.91 (Drivel 2.0 Release Candidate 1) 2005-06-05 Todd Kulesza * src/journal.c: - Don't publish a MovableType post twice. 2005-06-03 Alexander Shopov * configure.ac: Added "bg" (Bulgarian) to ALL_LINGUAS 2005-06-02 Todd Kulesza * src/network.c: - Fix a typo. - Fix a bug in the IPv6 handling code. 2005-05-30 Todd Kulesza * HACKING: * TODO: - Updated. * pixmaps/community.png: * pixmaps/drivel-24.png: * pixmaps/drivel-48.png: * pixmaps/feed.png: * pixmaps/user.png: - Updated artwork. 2005-05-30 Todd Kulesza * pixmaps/advogato.png: * pixmaps/atom.png: * pixmaps/drivel-24.png: * pixmaps/drivel-48.png: * pixmaps/doublearrow.png: * pixmaps/leftarrow.png: * pixmaps/rightarrow.png: - New artwork! 2005-05-30 Todd Kulesza * pixmaps/Makefile.am: * pixmaps/drivel-24.png: * pixmaps/drivel-48.png: - New logo! * pixmaps/drivel_splash_small.png: - Removed (replaced by new logo in the About dialog). * src/login.c: * src/journal.c: * src/main.c: * src/about.c: - Use the new Drivel icon in place of the old, generic LiveJournal icon. 2005-05-29 Todd Kulesza * README: - Added BUGS section. * help/C/drivel.xml: - Updated documentation. * pixmaps/Makefile.am: - Install the small version of the splash screen. * src/drivel.h: * src/main.c: * src/network.c: - Respect the GConf key for disabling proxy user authentication. - Add a debuging statement to the proxy code. * src/journal.c: - Hide the "View More Options" menu command when in Offline mode. * src/login.c: - Add "Blogger 2.0" to the "Atom" journal type to help make it clear that Atom is supported by Blogger. 2005-05-29 Todd Kulesza * configure.ac: - Post-release version bump. * help/C/drivel.xml: - Updated for the 2.0 release. 2005-05-28 Todd Kulesza Release 1.3.90 (Drivel 2.0 Beta 1) 2005-05-28 Todd Kulesza * src/journal.c: - Fix a crash during the autosave method. 2005-05-28 Todd Kulesza * src/journal.c: - Fix a crash when posting to non-LJ journals. 2005-05-28 Todd Kulesza * src/blog_lj.[ch]: - Support fetching more security group information. * src/drivel.glade: - Design a Security Group dialog. * src/drivel_request.h: * src/msg_queue.c: * src/network.c: - Support GETFRIENDGROUPS/SETFRIENDGROUPS types. * src/drivel.h: * src/menu.c: - Add data stores for security groups. * src/dialogs.c: * src/journal.c: - Add UI for viewing security groups (currently disabled). 2005-05-19 Todd Kulesza * src/blog_blogger.c: * src/blog_lj.c: * src/blog_mt.c: - Handle subject lines properly. * src/journal.c: * src/utils.[ch]: - Build an intelligent Recent Entry label from an entry's content if no title is set. 2005-05-18 Todd Kulesza * src/utils.[ch]: - Add methods to simply searching the Security Group GtkListStore. * src/dialogs.c: * src/drivel.h: * src/journal.c: * src/main.c: - Hook up the Default Security Group preference to the new GtkListStore. - Use the new utility Security Group methods. 2005-05-18 Todd Kulesza * src/blog_lj.c: * src/drivel.h: * src/journal.c: * src/main.c: * src/utils.[ch]: - Use a GtkListStore for custom security groups. - Support custom security groups when posting to LiveJournal. * src/blog_mt.c: - Use an enum for GtkListStore indices. 2005-05-17 Todd Kulesza * src/drivel.h: * src/main.c: - Begin to implement store for LiveJournal security groups. * src/drivel.h: * src/journal.c: - Move the Recent Drafts list into a submenu. * src/libegg/egg-recent-item.c: - Synched with latest libegg code. 2005-05-17 Todd Kulesza * src/Makefile.am: * src/sha1.[ch]: * src/utils.c: - Remove unused SHA-1 algorithm. 2005-05-17 Todd Kulesza * src/dialogs.c: * src/drivel.glade: * src/drivel.h: * src/journal.c: * src/main.c: * src/network.c: - Removed Preferences controls for setting default Mood and Music. (Left the GConf controls just incase someone really likes these). - Added Preferences control for pinging Technorati. 2005-05-17 Todd Kulesza * src/main.c: - Sort the category list alphabetically. 2005-05-17 Todd Kulesza * README: - Updated with generic journal information. * pixmaps/drivel_splash.png: * pixmaps/drivel_splash_small.png: - Updated splash screen for Drivel 2.0 (Artistc aid from Margot Pearce ). * src/about.c: - Use a smaller version of the splash screen in the About dialog. * src/main.c: - When scaling user pictures, preserve the ratio of their dimensions. 2005-05-16 Todd Kulesza * src/about.c: - Remove specific reference to LiveJournal. * src/blog_*.c: * src/drivel_request.h: * src/msg_queue.c: * src/network.[ch]: * src/utils.[ch]: - Ping Technorati after successful posts and updates. * src/drivel.h: * src/main.c: * src/journal.c: - Support a GConf key for disabling Technorati pings. * src/blog_mt.c: - Remove unused RSD code. * src/login.c: - Alphabetize list of journal types. - Prepend "http://" to server URLs if no protocol is specified. 2005-05-15 Todd Kulesza * src/main.c: * src/journal.c: - Handle removing elements from GArrays correctly. * src/journal.c: - Add a "Refresh" button to the Recent Entries menu. 2005-05-15 Todd Kulesza * src/journal.c: - Make work when posting and updating journal entries. 2005-05-15 Kostas Papadimas * configure.ac: Added "el" to ALL_LINGUAS. 2005-05-15 Todd Kulesza * src/blog_mt.c: * src/journal.c: - Implement a Recent Entries menu for MovableType journals. 2005-05-15 Todd Kulesza * src/blog_mt.[ch]: * src/drivel_request.h: * src/journal.c: * src/msg_queue.c: * src/network.c: - Improve handling of MovableType categories. 2005-05-12 Todd Kulesza * src/blog_mt.[ch]: * src/journal.c: * src/msg_queue.c: - Support editing MovableType entries. - Support deleting MovableType entries. 2005-05-11 Todd Kulesza * src/blog_mt.[ch]: - Use a string to hold the postid value; integers could overflow for frequently-used blogs. * src/blog_mt.[ch]: * src/msg_queue.c: - Begin to implement metaWeblog.editPost. - Continue to implement metaWeblog.getRecentPosts. 2005-05-11 Todd Kulesza * configure.ac: - Post-release version bump. * src/blog_blogger.[ch]: * src/blog_mt.[ch]: * src/journal.c: * src/utils.[ch]: - Use a string to hold the blogid value; integers could overflow for popular sites like blogger.com. * src/blog_mt.[ch]: - Begin to implement metaWeblog.getRecentPosts. 2005-05-10 Todd Kulesza Release 1.3.4 2005-05-10 Todd Kulesza * src/blog_atom.c: - Fix a link problem that resulted in edited entries getting posted as new entries. 2005-05-10 Todd Kulesza * src/blog_atom.[ch]: * src/journal.c: * src/msg_queue.c: * src/network.c: - Support deleting entries for Atom journals. * src/blog_blogger.c: - Increase titles in Recent Entries menu to 40 characters. * src/blog_lj.c: * src/journal.c: - Implement a Recent Entries menu for LiveJournal. 2005-05-10 Todd Kulesza * src/msg_queue.c: - Include number of pending requests when calculating progress percentage. 2005-05-10 Todd Kulesza * src/blog_atom.[ch]: * src/drivel.h: * src/journal.c: - Implement a Recent Entries menu for Atom. * src/blog_blogger.c: - Cosmetic fixes. 2005-05-09 Todd Kulesza * src/drivel_request.h: * src/network.c: - Implement framework for deleting journal entries. * src/blog_blogger.[ch]: * src/journal.c: * src/msg_queue.c: - Support deleting entries from Blogger journals. 2005-05-09 Todd Kulesza * src/blog_blogger.c: * src/journal.c: - Support editing the most-recent entry. * src/journal.h: - Cosmetic fixes. 2005-05-08 Todd Kulesza * src/blog_blogger.[ch]: - Support editing previous entries. - Remove support for Blogger titles, it breaks when editing entries. * src/drivel.h: * src/journal.[ch]: * src/main.c: * src/msg_queue.c: - Properly hide Subject control and View More Options menu item for journals that don't support those features. - Implement a Recent Entries menu for Blogger. 2005-05-08 Todd Kulesza * src/blog_advogato.c: * src/blog_blogger.c: * src/blog_mt.c: * src/xmlrpc.c: - Convert the names of XML-RPC name/value pairs to lower-case ascii. * src/drivel.h: * src/journal.c: - Expand the DrivelJournalEntry to hold all necessary entry information - Add DrivelJournalProp type for LJ metadata. * src/journal.c: - Add structure for Recent Entries menu. * src/blog_blogger.[ch]: * src/msg_queue.c: - Fetch the 15 most recent posts durin login. 2005-05-07 Todd Kulesza * src/blog_blogger.[ch]: - Begin to implement recent entry support. * src/drivel.h: * src/journal.c: - Desensitize the Delete button and menu entry for journals that don't support deleting old posts. - Desensitize the Active Journal menu for journals that don't support multiple journals for a single user account. * src/libegg/* - Sync with latest version of libegg code. 2005-05-01 Todd Kulesza * configure.ac: - Post-release version bump. * src/blog_mt.[ch]: - Get categories for each journal and store them in a single GtkListStore. * src/drivel.h: * src/main.c: - Create a filtered GtkTreeModel to only display categories for the selected journal. * journal.c: - Refilter the GtkTreeModel whenever the user selects a new journal. 2005-05-01 Todd Kulesza Release 1.3.3 2005-05-01 Todd Kulesza * src/atom.c: * src/blog_atom.c: - Support untitled entries. * src/journal.c: - Remove the super-annoying "save_file" debug message. * src/utils.c: - Use UTC timestamps with Atom. 2005-05-01 Todd Kulesza * src/drivel.h: * src/journal.c: * src/main.c: - Added GConf keys for remembering the user's last active journal. - Automatically select the user's last active journal upon logging in. 2005-04-29 Todd Kulesza * src/blog_atom.[ch]: * src/journal.c: * src/login.c: - Support SSL + HTTP Basic authentication. - Support editing the user's last Atom entry. * src/main.c: - Initial SSL in libcurl. * src/network.c: - Support HTTP PUT requests. - Support HTTP Basic authentication. - Remove WSSE support. 2005-04-28 Todd Kulesza * src/blog_advogato.[ch]: * src/journal.c: * src/msg_queue.c: - Support editing the user's last Advogato entry. - Convert HTML breaks to new-lines when retrieving entries from the server. 2005-04-26 Todd Kulesza * configure.ac: - Formatting touch-up. * src/dialogs.c: - Correctly mark editing a history item as a non-undoable action in the GTK+ Undo/Redo framework. Patch from Jess Little . * src/blog_mt.c: * src/journal.c: * src/utils.c: * src/xmlrpc.c: - Use GNOME-VFS and xmlReadMemory rather than xmlParseMemory and xmlParseFile so we can eliminate blank XML nodes. 2005-04-17 Todd Kulesza * INSTALL: - Updated to latest standard GNU version. * Makefile.am: * configure.ac: * data/Makefile.am: * data/mime/Makefile.am: * src/Makefile.am: - Finally pass "make distcheck". - Build bzip2 archives in addition to gzip archives. - Don't run update-*-database during "make install" if DESTDIR is set. - Don't install GConf schemas during "make install" if DESTDIR is set. 2005-04-11 Todd Kulesza * src/journal.c: - Support XHTML 1.0 tags. Patch from Kurt McKee . 2005-04-11 Todd Kulesza * src/dialogs.c: - Remove duplicate protocol during Insert Image operation. Patch from Jess Little . - Clean up formating of tag. 2005-04-11 Todd Kulesza * src/dialogs.c: * src/insert_poll_dialog.c: * src/journal.c: * src/msg_queue.c: - Resolve a crash when editing an entry from the History dialog and clean up some old vestigal function calls. Patch from Jess Little . 2005-04-11 Todd Kulesza * src/insert_poll_dialog.c: - Prevent a crash via smarter use of gtk_combo_box_set_active(). Patch from Jess Little . 2005-04-08 Bryan Forbes * src/blog_mt.c: - Send a string for blogid and postid instead of integers as per the MovableType API. 2005-04-01 Steve Murphy * configure.in: Added "rw" to ALL_LINGUAS. 2005-03-06 Todd Kulesza * configure.ac: - Post-release version bump. * src/atom.[ch]: * src/drivel.h: * src/main.c: - Store an AtomEntry's link and id. - Strip out tags from retrieved AtomEntries. - Convert
tags to line-breaks in retrieved AtomEntries. * src/blog_atom.[ch]: * src/blog_lj.c: * src/journal.[ch]: * src/msg_queue.c: - Support retrieving the most recent AtomEntry from an Atom feed. * src/network.c: - Remove extra white-space. 2005-02-01 Todd Kulesza Release 1.3.2 2005-02-01 Todd Kulesza * src/blog_atom.[ch]: - Begin to implement getevents support. * src/drivel.glade: - Move the separator between the post button and post options into the expander control, effectively hiding it when it is not needed. * src/journal.c: - Check that the picture table exists before trying to fetch a value from it. - Hide the Security menu for non-LiveJournal blogs. 2005-01-29 Todd Kulesza * src/atom.[ch]: - Fix up AtomEntry generator to match Blogger's beta-API. * src/blog_atom.[ch]: - Eliminate duplicate journal listings. * src/blog_advogato.c: * src/blog_blogger.c: * src/blog_mt.c: - Use drivel_request_item_* rather than drivel_request_value_* to avoid conflicts with value tables holding post results. * src/msg_queue.c: * src/network.c: - Support posting to Atom journals. 2005-01-29 Todd Kulesza * src/blog_atom.[ch]: - Use libxml2 for parsing both XML and HTML Atom responses. (Why what I never informed of libxml's HTML parsing??) * src/blog_lj.c: * src/blog_mt.c: - Remove the spurious "url" DrivelRequest item. * src/journal.c: - Build the title correctly for Atom journals. - Include the correct URI for Atom posting. * src/login.c: - Include the username and password when logging into Atom. - Change the default Atom URL to http://www.blogger.com/atom/. * src/main.c: - Initialze the XML parser from the main thread. * src/network.c: - Support Atom WSSE authentication. * src/utils.[ch]: - Add uri_post and uri_feed fields to DrivelJournal. 2005-01-28 Todd Kulesza * src/utils.[ch]: - Add a basic nonce generator. - Add a convenience function for building w3 timestamps. - Fix the base64 encoder to work with non-displayable characters. 2005-01-27 Todd Kulesza * src/utils.[ch]: - Support base4 encoding, required for Atom authorication. 2005-01-21 Davyd Madeley * libegg/egg-datetime.[ch]: Update-from-Egg * libegg/egg-recent-item.c: * libegg/egg-recent-model.c: Use modified versions from GEdit (speeds up login time) 2005-01-18 Todd Kulesza * src/Makefile.am: * src/network.c: * src/utils.[ch]: * src/sha1.[ch]: - Support SHA-1 hashing, required for Atom authorization. 2005-01-13 Todd Kulesza * src/Makefile.am: * src/atom.[ch]: * src/blog_atom.[ch]: * src/drivel_request.h: * src/journal.c: * src/network.c: - Begin to add support for building AtomEntry requests. 2005-01-11 Todd Kulesza * src/blog_atom.c: - Support the latest Atom draft spec for fetching a journal's POST URI. - Fetch the journal's title and it to the journal list. * src/journal.c: - Display a title for Atom journals. 2005-01-11 Todd Kulesza * src/dialogs.c: - Fix issue loading previous dictionary language (patch from Isak Savo). * src/about.c: - Use a hyphen rather than an underscore for "translator-credits" as per #150106. * src/blog_advogato.[ch]: * src/blog_atom.c: * src/blog_blogger.[ch]: * src/blog_lj.[ch]: * src/blog_mt.[ch]: * src/dialogs.c: * src/drivel_request.[ch]: * src/journal.c: * src/login.c: * src/network.c: * src/tray.c: - Pass the server URI to the network layer as part of the DrivelRequest. This both eliminates a possible race-condition with the dc->user->server variable and makes Atom's multiple- URI support feasable. 2005-01-10 Todd Kulesza * src/dialogs.c: * src/drivel.h: * src/journal.[ch]: - Add UI for changing the spell-checking language (Patch from Isak Savo ). 2005-01-10 Todd Kulesza * src/*.c - Add #include to the top of every .c file. * pixmaps/Makefile.am: * pixmaps/atom.png: * src/Makefile.am: * src/atom.[ch]: * src/drivel_request.h: * src/login.c: - Begin to add Atom support. 2005-01-09 Todd Kulesza * configure.ac: - Bump version to 1.3.2. * data/drivel.spec.in: - Remove calls to ldconfig. 2005-01-09 Todd Kulesza Release Drivel 1.3.1 2005-01-09 Todd Kulesza * src/about.c: - Translate the "Translators" field of the About dialog (#163380). Patch from Isak Savo. 2005-01-09 Todd Kulesza * src/blog_advogato.c: - Convert line-breaks to HTML breaks when posting, since Advogato doesn't do this by itself. 2005-01-09 Todd Kulesza * src/about.c: - Small fixes to the About dialog. 2005-01-09 Todd Kulesza * src/network.c: - Mark progress dialog strings as translatable (#163379). 2005-01-08 Todd Kulesza * src/blog_advogato.[ch]: * src/blog_blogger.c: - Add support for entry titles. * src/drivel.glade: - Add UI stub for changing the spell-checking language. * src/drivel.h: * src/journal.[ch]: * src/main.c: - Add backend-support for changing the spell-checking language (Patch from Isak Savo ). * src/about.c: - Add Isak to list of code contributors. 2005-01-08 Todd Kulesza * configure.ac: * data/Makefile.am: - Add --disable-mime-update configure option. - Add --disable-desktop-update configure option. 2005-01-06 Todd Kulesza * src/blog_mt.[ch]: * src/drivel_request.h: * src/msg_queue.c: * src/network.c: - Add methods for setting post categories and publishing. * src/drivel.glade: * src/drivel.h: * src/journal.c: - Remove the "Author" stuff from yesterday, that was crack. - Hook up the "Category" control to the Movable Type API. 2005-01-05 Todd Kulesza * src/blog_advogato.c: - Use the username as the journal title. * src/blog_blogger.c: * src/login.c * src/network.c: - Add debugging statements. * src/blog_mt.[ch]: - Add support for fetching categories. * src/drivel.h: * src/drivel_request.h: * src/drivel.glade: * src/journal.c: * src/main.c: - Add "Author" and "Category" controls for Movable Type. - Hide unused controls for each API. - Add debugging statements. * src/libegg/* - Synced with libegg. 2005-01-03 Todd Kulesza * src/Makefile.am: * src/blog_advogato.[ch]: * src/login.c: * src/journal.c: * src/msg_queue.c: * src/network.c: * pixmaps/advogato.png: * pixmaps/Makefile.am: - Add support for posting to Advogato. * src/utils.[ch]: - Add a "cookie" field to the DrivelUser data structure. * src/xmlrpc.c: - Fix a general problem with parsing XML which includes extraneous fields. 2005-01-03 Todd Kulesza * src/blog_blogger.c: - Support entry titles. - Reset the journal window after a successful post. * src/blog_mt.c: - Reset the journal window after a successful post. * src/drivel.h: - Fix the Blogger appkey. * src/journal.[ch]: * src/blog_lj.c: - Pull the code for resetting the journal window after a successful post from blog_lj.c and put it in journal.c. * src/xmlrpc.c: - Use '1' and '0' rather than 'true' and 'false' for boolean values. (fixes #162782 and #162813). - Fix the XML parsing code to not overwrite previous struct values (fixes #162783). 2005-01-03 Todd Kulesza * data/Makefile.am: * data/drivel.spec.in: - Run update-desktop-database after installation. * data/gnome-drivel.desktop.in: - Remove Drivel from the "Utilities" category. * po/POTFILES.in: - Add missing files. * src/requests.[ch]: - Remove from repository. * src/about.c: - Update copyright. 2005-01-03 Todd Kulesza * data/Makefile.am: * data/drivel.desktop.in: * data/gnome-drivel.desktop.in: - Namespace the .desktop entry. - Add Bugzilla infomation. - Support the GNOME 2.8+ MIME system. * data/mime/drivel.keys.in: * pixmaps/Makefile.am: * pixmaps/gnome-mime-application-x-drivel.png: * pixmaps/gnome-application-x-drivel.png: - Put the MIME icon in the proper place ($datadir/icons/gnome) * src/drivel.h: * src/tray.c: - Remove unused code. * src/journal.c: * src/main.c: - Allow the user to specify a filename on the command line. 2005-01-01 Todd Kulesza * configure.ac: - Bumped version to 1.3.1. * src/blog_lj.c: * src/dialogs.c: * src/journal.c: * src/tray.[ch]: - Refactor the Notification Tray icon to only appear when a user's Friends Page has been updated. - Enable the Friends Page check by default. * src/query_music_players.c: - Remove an unneeded warning. * src/drivel.glade: - Fix some broken Insert stock buttons. * src/libegg/* - Synced with latest libegg code. 2004-12-31 Todd Kulesza Release Drivel 1.3.0 2004-12-31 Todd Kulesza * pixmaps/blogger.png: * pixmaps/Makefile.am: - Added a Blogger icon. * src/blog_blogger.[ch]: * src/msg_queue.c: * src/network.c: * src/Makefile.am: - Added basic Blogger API post support. * src/drivel_request.h: - Added Blogger API type. * src/journal.c: * src/login.c: - Allow users to login and post using the Blogger API. * src/xmlrpc.c: - Use '1' and '0' for boolean values. - Don't format the memory dumps used for network transactions. - Fix a crash in the XML parsing code. 2004-12-30 Todd Kulesza * src/drivel.h: * src/dialogs.c: - Removed some cruft from display_edit_preferences_dialog(). - Make use of the root node in glade_xml_new(). * src/drivel.glade: - Removed the prototype Account Dialog. * src/utils.[ch]: - Make use of the root node in glade_xml_new(). This appears to fix some significant memory leaks during UI creation. - Enable Glade's autoconnect signal feature. * src/msg_queue.c: * src/login.c: * src/journal.c: * src/insert_poll_dialog.c: - Make use of the root node in glade_xml_new(). 2004-12-21 Todd Kulesza * src/blog_mt.[ch]: * src/journal.c: * src/msg_queue.c: - Add basic support for posting to Movable Type journals. * src/login.c: - Remember the most-recent user account when rebuilding the account list. * src/xmlrpc.[ch]: - More modularization work. 2004-12-20 Todd Kulesza * src/xmlrpc.[ch]: - Modularize the system for generating XML-RPC packets, allow for building structs and arrays. 2004-12-19 Todd Kulesza * src/blog_mt.[ch]: - Stub out posting method. * src/journal.c: - Hook up the (unfinished) Movable Type posting method. 2004-12-19 Todd Kulesza * pixmaps/Makefile.am: - Install livejournal.png to DATADIR/pixmaps/drivel/. * src/journal.c: - Add a missing 'break' statement to the set_journal_title() method. - Set the active_journal to NULL on logout. * src/login.c: - Use the Movable Type icon for MT usernames. - Update the username/password/api/server settings when a user is selected from the list of saved user accounts. - Erase password when username is edited. 2004-12-18 Todd Kulesza * src/blog_lj.[ch]: - Switch to new DrivelJournal data struct. - Abstract saving user accounts with add_account_to_list() method. * src/blog_mt.c: * src/xmlrpc.c: - Finish implementing the blogger.getUsersBlogs() XML-RPC call. * src/blog_offline.c: * src/dialogs.c: * src/drivel.h: * src/journal.c: - Switch to new DrivelJournal data struct. * src/main.c: - Added add_account_to_list() and sort_journals() methods. * src/network.c: * src/query_music_players.c: - Remove unnecessary warnings. * src/utils.[ch]: - Add DrivelJournal data struct. 2004-12-16 Todd Kulesza * src/xmlrpc.[ch]: - Added parsing of XML-RPC responses. * src/network.c: - Parse XML-RPC responses. * src/journal.c: - Consolidate error-checking code in open_file(). * src/drivel_request.[ch]: - Allow the hash table to be replaced by a user-defined table. * src/blot_mt.c: - Check for a valid login. 2004-12-16 Todd Kulesza * README: * COPYING-DOCS: - Updated. 2004-12-16 Todd Kulesza * src/blog_mt.[ch]: - Began to implement the blogger.getUsersBlogs class. * src/msg_queue.c: - Added support for Movable Type. * src/network.c: - Added support for XML-RPC via HTTP/POST. - Changed the user-agent header to "GNOME-Drivel". - Cleaned up some error-reporting code. * src/xmlrpc.c: - Handle basic errors in parse_parameter_types(). 2004-12-15 Todd Kulesza * pixmaps/mood.png: * pixmaps/music.png: - Removed (unused since 1.0.x). * pixmaps/mt.png: * src/blog_mt.[ch]: * src/xmlrpc.[ch]: - Added blog_mt files (start of Movable Type support). - Added xmlrpc files. These are designed for creating the payload of XML-RPC packets, which can then be transferred over HTTP via libcurl. * src/Makefile.am: * pixmaps/Makefile.am: - Updated to reflect added/removed files. * src/blog_lj.c: * src/main.c: - Use drivel_user_new() method. * src/dialogs.c: - Small stdarg cleanup. * src/drivel.h: - Added Blogger appkey. * src/login.c: - Began to add Movable Type support. - Use drivel_user_new() method. * src/utils.h: * src/utils.c: - Added "rsd" field to DrivelUser struct. - Added drivel_user_new() method. 2004-12-14 Todd Kulesza * src/dialogs.c: * src/drivel.h: * src/journal.c: * src/main.c: - Removed lots of un-used variables. 2004-11-25 Todd Kulesza * src/dialogs.c: - Fix double-protocol insertion in Insert Image dialog. * configure.ac: * data/drivel.spec.in: - Updated Scrollkeeper stuff. 2004-11-22 Todd Kulesza * src/login.c: * src/journal.c: - Make menus translatable (patch from Isak Savo) 2004-11-22 Todd Kulesza * src/journal.c: - Fix restoration of window size. - Make the Save Draft button work in Offline mode. * src/main.c: * src/drivel.glade: - Add a stock Save Draft item. 2004-11-21 Todd Kulesza * src/drivel.h: * src/login.c: * src/journal.c: - Remove unused key_press_cb() method. - Properly sensitize menus based on online/offline state. 2004-11-20 Todd Kulesza * src/query_music_players.c: - Add support for Beep Media Player (patch from Adam Gregoire) * src/journal.c: - Fix mnemonic in Format menu (patch from Adam Gregoire) 2004-11-19 Todd Kulesza * src/Makefile.am: * src/blog_offline.[ch]: * src/drivel.glade: * src/drivel.h: * src/drivel_request.h: * src/journal.c: * src/login.c: - First pass at offline support. 2004-10-30 Davyd Madeley * src/drivel.glade: * src/journal.c: Clean up interfaces and remove workaround due to resolution of Glade bugs. Mark all non-translatable strings as such (Glade should now respect this). 2004-10-29 Davyd Madeley * src/journal.c: Make it possible for drivel to read drafts larger then 4K in size by reiterating through gnome_vfs_read as many times as required. 2004-10-21 Todd Kulesza * acinclude.m4: - Make the libcurl test check for >= curl-7.11.1. 2004-10-08 Kjartan Maraas * configure.ac: Add «nb» to ALL_LINGUAS. 2004-09-26 Todd Kulesza * src/drivel_request.h: * src/login.c: - Begin to work out the infrastructure for Movable Type support. * src/network.c: - Verify a DrivelRequest is valid before enqueueing it. 2004-09-26 Todd Kulesza * src/drivel.glade: - Remove the item list from the default_picture and security GtkComboBoxes. This should clear up the last of our GTK+ warning messages during run-time. * src/drivel.h: * src/journal.c: - Change the internal "FileMenu" reference to "JournalMenu". - Add a "View" menu for controlling syntax highlighting and spellchecking. This means F7 now toggles spellcheck! 2004-09-25 Todd Kulesza * src/main.c: - Check that we have picture names and numbers before creating the picture list. * src/login.c: - Libglade automatically sets the GtkComboBoxEntry's text column to 0, and it can't be changed after creation. Work around this by making our text column the 0'th item in the GtkListStore. - Do the autologin stuff last, should fix a crash. * src/drivel.glade: - Remove the item list from the prefs_default_picture and prefs_default_security GtkComboBoxes. 2004-09-24 Davyd Madeley * src/login.c: - Fix some memory leaks, refactor code so that it makes leaks harder to take place. Try to fix GTK+-2.5 problems... fail. Need to find out if code is behaving properly under GTK+-2.4. 2004-09-11 Todd Kulesza * configure.ac: * src/Makefile.am: * src/libegg/*: - Move all libegg files into src/libegg/. - Build a single libegg.a library to link with the Drivel object files. - Add "regenerate-built-sources" target for updating libegg components. * src/libegg/update-from-egg.sh: - Add a script to automatically update the libegg components. * src/recent-files/*: * src/datetime/*: * src/eggtrayicon.[ch]: - Moved into src/libegg/. 2004-09-07 Todd Kulesza * autogen.sh: * omf.make: * xmldocs.make: * src/Makefile.am: - Require automake-1.7 instead of automake-1.4; this seemed to be a better choice than automake-1.9 as GTK+ and most of GNOME use 1.7. It was really past time to push Drivel's automake system into the 21st century. 2004-09-07 Todd Kulesza * src/blog_lj.c: * src/journal.c: * src/login.c: * src/main.c: - Build the user-specific GConf key paths when the user logs in and when the user clicks "Edit->Preferences" in the Login window. * src/drivel.h: * src/drivel.glade: * src/dialogs.c: - Remove the Network section from the Preferences dialog since it's now integrated into the Login window. 2004-09-07 Todd Kulesza * src/blog_lj.c: * src/drivel.h: * src/journal.c: * src/login.c: - Added a "Remove Account" menu item to delete old accounts. - Update the user list following a successful login. - Use our generic error dialog when a user clicks "Edit->Preferences" but has not yet selected a user account. - Load the last user account by default on start-up. 2004-09-06 Todd Kulesza * src/utils.[ch]: - Finish up the user account load/save code. - Add a wrapper function for generating an MD5 hash. * src/drivel.h: * src/*.c: - Remove *lots* of unused data members from DrivelClient. - Move user account information data from DrivelClient to the DrivelUser member of DrivelClient. - Since the proxy GConf keys are static, remove them from the list of dynamically-generated keys. - Get the Login window and networking layer working with the new user account system. 2004-09-06 Todd Kulesza * src/drivel.h: * src/main.c: - Remove some unused data members. * src/journal.c: - Fix a bug where the journal server was not correctly updated. 2004-09-06 Todd Kulesza * po/ja.po: * po/pa.po: * configure.ac: - Added Japanese and Punjabi translations from Satoru Satoh and Amanpreet Singh Alam. 2004-09-06 Todd Kulesza * src/journal.c: - Check that the journal entry has been built before attaching the spellchecking or syntax highlighting widgets (#151940). 2004-09-05 Todd Kulesza * src/utils.[ch]: - Add find and free helper functions for DrivelUser type. - Save the save_password, autologin, and lastuser properties of the DrivelUser. * src/login.[ch]: - Add helper code for getting the user information in a DrivelUser struct. * src/blog_lj.c: - Save the current user information to the new XML account list upon successful logins. 2004-09-05 Todd Kulesza * src/drivel_request.h: - Remove old FIXME statement. * src/journal.c: * src/main.c: - Remove extra blank lines. * src/login.c: * src/utils.[ch]: - Integrate the Journal Type and Server Address items into the login sensitivity code. - Begin to move away from using GConf to store the list of user accounts; use and XML file instead. Saved user passwords are still in clear-text, but at least they're not accessible via GConf now. 2004-09-04 Todd Kulesza * src/drivel.glade: * src/login.c: * src/drivel.h: - Extend the login window to include Journal Type and Server items. 2004-09-04 Todd Kulesza * src/drivel.glade: - Design the account manager in Glade. 2004-09-04 Todd Kulesza * configure.ac: - Branch for 1.3.x development and bump version. 2004-08-31 Todd Kulesza * src/drivel.glade: - Add more information to the auto-format tooltip (#151388). * configure.ac: - Post-release version bump. 2004-08-29 Todd Kulesza * src/main.c: - Mark GNOME program visible name as transatable * po/POTFILES.in: - Add translatable files. 2004-08-29 Davyd Madeley * src/journal.c: - Make Drivel save/load backdated time. 2004-08-28 Todd Kulesza * src/journal.c: * src/login.c: * src/main.c: - Hook up the Help menu item to the user manual. * data/drivel.spec.in: - Add support for the user manual. * configure.ac: - Release 1.2.0. 2004-08-27 Todd Kulesza * help/C/drivel.cml: - Complete the 1.2 user manual. * src/journal.c: * src/login.c: - Add a Help menu item. * src/network.c: - Remove the debugging print statement. 2004-08-24 Todd Kulesza * help/C/drivel.xml: - Update the user manual. 2004-08-16 Todd Kulesza * COPYING-DOCS: * Makefile.am: * configure.ac: * data/drivel.desktop.in: * help/* * omf.make: * xmldocs.make: - Add the beginings of a user manual (needs *lots* of work). 2004-08-15 Todd Kulesza * src/eggtrayiconl.c: * src/recent-files/*: - Syned with libegg. * NEWS: - Updated. 2004-08-13 Todd Kulesza * src/drivel.glade: - Fix a typo: "automaticall" -> "automatically". * configure.ac: - Post-release version bump. 2004-08-12 Todd Kulesza Release 1.1.2 * src/dialogs.c: - Turn off spell-checking by default. * NEWS: - Updated. 2004-08-12 Todd Kulesza * src/drivel.glade: - Add tool-tips to preferences. 2004-08-12 Todd Kulesza * data/desktop.in: * data/mime/*: * src/journal.c: * src/main.c: - Re-phrase some strings to better match the HIG 2.0. 2004-08-10 Todd Kulesza * src/about.c: - Update Credits message. * src/dialogs.c: * src/main.c: - Update wording on the confirm-close dialogs. * src/journal.c: - Group Clear Entry and Select All menu items together, since they both operate on the entire text of the entry. - Add a confirmation dialog to the Clear Entry command. * src/drivel.glade: - Update wording of the "Disallow comments" and "Back-date" checkboxes. * src/blog_lj.c: - Fix a bug where the user's default picture was repeatedly downloaded. * pixmaps/mood.png: * pixmaps/music.png: - Removed. 2004-08-10 Todd Kulesza * src/blog_lj.c: - Change g_ascii_strtod() calls to g_strtod(): LJ is all UTF-8 now. - Several small code cleanups. - On login, hide the login window before showing the journal entry. 2004-08-08 Todd Kulesza * src/blog_lj.[ch]: * src/drivel.h: * src/drivel.glade: * src/journal.c: - Add support for back-dating entries. - Re-arrange the Options pane to make room for the back-date control. 2004-08-07 Todd Kulesza * src/blog_lj.c: * src/drivel.h: * src/main.c: - Use a unique ID for each user picture. - Do not re-download a picture we already have an ID for. * src/utils.[ch]: - Add a picture_exists() method. 2004-08-06 Todd Kulesza * src/dialogs.c: - Use display_error_dialog() for error handlers. * po/POTFILES.in: - Add src/ephy-spinner.c. 2004-08-05 Todd Kulesza * src/drivel.h: * src/main.c: * src/msg_queue.c: * src/network.c: - Hook up the Network Dialog's Cancel button to actually cancel the network operation, as well as any pending operations. 2004-08-04 Todd Kulesza * src/blog_lj.c: * src/dialogs.c: * src/login.c: * src/main.c: * src/msg_queue.[ch]: * src/network.c: - Added error support to the MsgQueue. - Display a user-visible error message when a GET or POST networking operation failed. - Format our standard error dialog so as to match the HIG. * src/NEWS: - Updated. 2004-08-03 Todd Kulesza * src/Makefile.am: * src/ephy-spinner.[ch]: * src/msg_queue.c: - Add the gnome-spinner to the progress dialog, may eventually replace the progress bar, but leaving both for now. - Block the delete_event signal on the progress dialog. * src/drivel.glade: - Port the Network Progress dialog to Glade and add a Cancel button to it. * src/dialogs.c: - Remove some unused code. 2004-08-02 Todd Kulesza * src/drivel.glade: * src/drivel.h: * src/dialogs.c: - Port the Insert Image dialog to Glade. - Re-arrange the Insert Link dialog. 2004-08-01 Todd Kulesza * configure.ac: - Bump version to 1.1.2. * src/md5.[ch]: * src/login.c: * src/network.c: - Replace the RSA reference MD5 implementation with Deutsch's free implementation (clears up a license ambiguity and compiles cleaner). * src/network.c: - Add a 500 millisecond pause before destroying the network progress dialog--prevents the dialog from "blinking" on really fast transactions. * src/network.c: * src/msg_queue.[ch]: - Add a REPARENT_DIALOG type to the message queue. This allows us to always keep the network progress bar on top of other Drivel windows. * src/dialogs.c: - Fix the History dialog so that activating an entry will pull it up for editing. - Set the selection mode to NONE when no entries are available for a given date. 2004-07-31 Todd Kulesza * data/drivel.spec.in: - Add Shared MIME Database support. * src/drivel.glade: - Fixed the drivel-update button's Glade entry. * NEWS: * configure.in: - Release 1.1.1. 2004-07-28 Todd Kulesza * src/journal.c: * src/drivel.glade: - Use the entry_notify signal to trigger the query_music callback. - Lots of HIG work--Use 12-pixel spaces between labels and controls, 6-pixel vertical spaces between controls in the same group, and 18-pixel spaces between different horizontal controls and vertical groups. 2004-07-26 Todd Kulesza * src/utils.[ch]: - Add load_glade_xml () function which checks for the glade file in "./", "./src/", and DRIVEL_GLADE_DIR, in that order. * src/dialogs.c: * src/insert_poll_dialogs.c: * src/journal.c: * src/login.c: - Use load_glade_xml () to retrieve the glade file. 2004-07-25 Todd Kulesza * pixmaps/gnome-application-x-drivel.png: * pixmaps/Makefile.am: - Added a mimetype icon. 2004-07-25 Todd Kulesza * src/drivel.glade: - Re-arrange the Friends dialog to make it fit a 4:3 ratio. - Sensitize the Username field in the Friends dialog but do not make it editable--this allows the name to be selected and copied. 2004-07-25 Todd Kulesza * Makefile.am: * configure.ac: * drivel.desktop.in: * drivel.schemas.in: * drivel.spec.in: * data/Makefile.am: * data/drivel.desktop.in: * data/drivel.schemas.in: * data/drivel.spec.in: - Move the .in files into the data subdirectory. 2004-07-25 Davyd Madeley * src/drivel.glade: * src/dialogs.c: * src/drivel.h: - Redesign the Edit Friends dialog. * src/blog_lj.c: * src/dialogs.h: - Add syndicated feeds as a possible type. - Changed friend->type from a boolean to an integer. * src/drivel.h: - Added an enum for friend types. * src/blog_lj.c: - Plugged a memory leak in blog_lj_parse_getfriends_request(). * pixmaps/feed.png: * pixmaps/Makefile.am: - Added feed image from LiveJournal for syndicated feeds. 2004-07-25 Todd Kulesza * Makefile.am: * configure.ac: * src/journal.c: * data/*: - Add an "application/x-drivel" mimetype for draft files. - Set the open and save dialogs to filter everything except draft files by default ("All XML Fiels" is still available as well). - Update the EggRecent menu to only display draft files. - Display an error dialog if a file in the EggRecent menu could not be opened. * NEWS: - Updated. 2004-07-25 Todd Kulesza * src/drivel.glade: - Increase the Journal Entry border from 6 to 12. * configure.ac: * src/Makefile.am: * src/drivel.h: * src/journal.c: * src/recent-files/*: - Add the EggRecent library and hook up EggRecent support for drafts. 2004-07-25 Davyd Madeley * src/utils.c: - Plug a memory leak from a g_strdup()ed string. 2004-07-24 Todd Kulesza * src/blog_lj.c: * src/blog_lj.h: * src/msg_queue.c: * src/msg_queue.h: * src/utils.c: * src/utils.h: * src/Makefile.am: * src/dialogs.c: * src/drivel.h: * src/drivel_request.c: * src/drivel_request.h: * src/journal.c: * src/login.c: * src/main.c: * src/network.c: * src/network.h: * src/requests.c: * src/requests.h: * src/tray.c: * po/POTFILES.in: - OMGWTF happened to our networking layer?!?!?! 2004-07-12 Davyd Madeley * configure.ac: * src/Makefile.am: * src/query_music_players.c: - Rhythmbox support as discussed in bug #143922. This is highly untested, but somehow, I don't think people are going to test it until I commit it, so I'm committing it. 2004-07-05 Todd Kulseza * configure.ac: - Bump version to 1.1.1. * src/Makefile.am: * src/drivel_request.[ch]: - Add files for new DrivelRequest API. * src/drivel.h: * src/main.c: * src/network.[ch]: - Enable the new DrivelRequest API alongside the current networking subsystem. - Begin to write a new networking layer using the DrivelRequest API. 2004-07-02 Todd Kulseza * configure.ac: - Release 1.1.0. * NEWS: - Updated. * drive.spec.in: - Add livejournal.lang to file list. 2004-07-01 Todd Kulseza * src/network.c: - Add a warning if the network sends back invalid UTF8 data. * src/requests.c: - Use libcurl's unescape() method rather than our own, fixes an issue with character conversion on NetBSD. 2004-06-30 Todd Kulseza * src/drivel.h: * src/main.c: - Add proxy_user and proxy_pass variables to DrivelClient. * src/journal.c: * src/network.c: - Protect the proxy variables with g_mutex_[un]lock() calls since the proxy data comes from GConf and can change during a network transaction. Also, don't use gconf_client_get_*, only listen to the GConf client for changes. This cuts down on GConf transaction and also fixes threading issues. 2004-07-01 Davyd Madeley * src/journal.c: - Turned off "smart home/end" in GtkSourceView, it was causing our home/end keypresses to wrap across entire paragraphs, this is definitely not the behaviour we want in Drivel. 2004-06-29 Davyd Madeley * src/request.c: - Fix piece of non-C89 code. Patch by Julio M. Merino Vidal. Closes #145077. 2004-06-24 Todd Kulseza * src/drivel.h: * src/main.c: * src/network.c: - Remove some old networking cruft. 2004-06-24 Todd Kulseza * src/network.c: - Move the g_usleep() calls outside of the mutex lock; resolves a lock-up issue on systems using the new TLS threading in glibc. 2004-06-23 Todd Kulseza * src/drivel.glade: - Use a stock item for the "Update" button. * src/drivel.h: * src/main.c: * src/journal.c: - Add a "Delete Entry" menu item. - Add a stock "Update Entry" menu item. - Add keyboard accelerators for the "Post Entry" and "Update Entry" commands, ctl-return and shift-ctl-return, respectively. 2004-06-22 Todd Kulesza * src/network.c: - Use a global variable rather than a GMutex to track usage of the networking code, enables Drivel to run on NetBSD and may fix the issues it had on FreeBSD (based on a patch from Julio M. Merino Vidal). 2004-06-22 Todd Kulesza * Makefile.am: - Honor the GConf2 schemas directory (patch from Julio M. Merino Vidal). 2004-06-21 Todd Kulesza * src/journal.c: - Fix the autosave feature. 2004-06-21 Todd Kulesza * po/POTFILES.skip - Added file. 2004-06-20 Todd Kulesza * configure.ac: * src/drivel.h: * src/journal.c: * src/main.c: - Include compile-time support for the GtkSpell spell-checking library. * src/dialogs.c: * src/drivel.glade: - Add a preference to enable/disable the spell-checker. * NEWS: * TODO: - Updated. 2004-06-20 Todd Kulesza * NEWS: - Updated. 2004-06-20 Todd Kulesza * src/main.c: - Add two stock items: "Close without Saving" and "Proceed without Saving". * src/dialogs.c: - Seperate display_save_dialog() into two versions, one which uses "Close without Saving" and one which uses "Proceed without Saving". - Perform some HIG work on display_open_error_dialog(). * src/journal.c: - Update calls to display_save_dialog() to use the close or proceed version as appropriate. 2004-06-20 Davyd Madeley * src/journal.c: * src/dialogs.c: * src/drivel.glade: * src/main.c: * src/drivel.h: - Added option to preferences to turn off HTML Syntax highlighting. * src/livejournal.lang: - Changed tag to 2004-06-20 Grahame Bowland * src/Makefile.am: * src/journal.c: * src/livejournal.lang: - Add custom GtkSourceView language (based on default HTML lang) to highlight livejournal specific tags correctly. 2004-06-20 Todd Kulesza * src/main.c: - Use glib/gnome-vfs methods in init_config_directory rather than direct POSIX calls. - Change the config directory from ~/.gnome2/drivel to ~/.gnome2/drivel.d since ~/.gnome2/drivel is used by the GNOME session manager. * src/journal.c: - Change the autosave filename from ".drivel_autosave" to "autosave_" so that autosave data is not lost when a different account logs in. - Move the location of the autosave files from ~/ to ~/.gnome2/drivel.d 2004-06-20 Todd Kulesza * src/drive.glade: - Fix GtkAlignment warnings. * TODO: - Updated. 2004-06-20 Davyd Madeley * src/journal.c: - Made the undo buffer get flushed at all required moments (Post, Edit Last Entry, Update, Delete, Cancel, Open). It should now only lock the buffer once, and release it once. - edit_entry_cb: Made the save dialog honour the Cancel request. - open_draft_cb: Ask the user if they want to save first (as required). * TODO: - updated TODO list. 2004-06-19 Todd Kulesza * src/dialogs.c: * src/drivel.glade: - Remove "Drivel" from dialog titles for HIG compliance. * src/main.c: - Relabel a few stock items for better HIG compliance. * src/network.c: - Remove the title from the Network Progress window for better HIG compliance. - Reduce the pulse length in the Network Progress window to 0.05 for a smoother progress bar. 2004-06-19 Todd Kulesza * src/network.c: - Implement challenge/response authentication for POST requests. - Respect the usefastservers cookie when sending GET requests. - Improve code style of lj_format_string(). * src/dialogs.c: * src/journal.c: * src/login.c: * src/requests.c: * src/tray.c: - Stop sending hpassword (the MD5 password hash) to the server; we use the more secure challenge/response system now. 2004-06-19 Todd Kulesza * src/drivel.c: - Added menu_post and menu_update items to DrivelClient which point to the "Post Entry" and "Update Entry" menu items. * src/journal.c: - Added three new menu items: "Save Draft as", "Post Entry", and "Update Entry". - Desensitize the "Post" button when the journal entry is blank. * src/drivel.glade: - Change the "Save" button in the Edit Entry window to "Update". This eliminates possible confusion with the "Save Draft" command, and closes #144610. 2004-06-20 Davyd Madeley * src/insert-poll-dialog.c: - The tag is lj-pq not lj-pj. Thanks to Grahame for spotting this. 2004-06-19 Davyd Madeley * src/dialogs.c: * src/drivel.glade: - Move Insert Link dialog to Glade. Remove the http:// label, and instead an example URL. Discovered that Drivel already automatically adds http:// to links if appropriate, so the new dialog is much more intuative. Closes bug #144611. 2004-06-19 Davyd Madeley * src/journal.c: - Implement new XML file format for saving and loading compatible with LogJam. Closes bug #141499. This still requires extensive testing. - Changed open/save dialogs to look for XML files rather then text files. - Added a large number of FIXMEs to do with saving and loading. * src/dialogs.c: * src/dialogs.h: - Added display_open_error_dialog() for dealing with errors during loading of files (such as loading a file that isn't parseable by Drivel. 2004-06-17 Todd Kulesza * src/dialogs.c: - Use GtkTextMarks to store the selection for the Insert Link dialog, fixes a common issue where the GtkTextIter was not able to save the selection. 2004-06-16 Todd Kulesza * src/journal.c: - Add a set_journal_title() method which crafts a HIG-compliant window title (i.e. "Journal-Title - Drivel" or "Community-Title - Drivel"). - Call set_journal_title() when the active user changes. 2004-06-16 Todd Kulesza * src/dialogs.[ch]: * src/journal.[ch]: - Add a Cancel button to the Save Draft confirmation dialog. 2004-06-16 Davyd Madeley * src/journal.c: * src/drivel.glade: * src/drivel.h: - Switch to GtkSourceView instead of GtkTextView, this gives us lots of things like HTML highlighting and Undo/Redo support. * configure.ac: - Add GtkSourceView to pkgconfig. * TODO: - Updated TODO. 2004-06-14 Todd Kulesza * src/main.c: * src/journal.c: * src/drivel.h: - Store the filename of draft entries so that we don't need to prompt the user for a filename each time she hits ctrl-s. Closes #144219. 2004-06-14 Todd Kulesza * src/dialogs.c: - Modify the Insert Link dialog to use selected text as the link title and overwrite the selection with the html-ized link. Closes #144231. 2004-06-13 Davyd Madeley * src/journal.c: * src/dialogs.c: - Add autocompletion to the mood combo using the GtkEntryCompletion API. 2004-06-10 Todd Kulesza * src/dialogs.c: - Check for protocol when inserting a link. Closes 144102. Patch submitted by gnome@nash.nu. 2004-06-10 Davyd Madeley * src/dialogs.c: - Made the edit button work, using response GTK_RESPONSE_OK, rather then '2'. Closes bug #144063. 2004-06-10 Davyd Madeley * src/dialogs.c: - Mark calendar as insensitive during network transactions to prevent calendar items from getting dragged. (mentioned in bug #143876). 2004-06-08 Todd Kulesza * src/drivel.glade: - Remove tab from "Minimize after _posting\t" (Bug 142621). 2004-06-08 Davyd Madeley * TODO: - Update TODO list with items for the next major release. 2004-06-07 Todd Kulesza * configure.ac: - Bump version to 1.0.1. * src/journal.c: - Fix shortcut keys so as to not misuse common bindings such as ctrl-p or the emacs text shortcuts (except for ctrl-a). * src/network.c(dialog_close): - Don't let dialog_count decrement below 0. 2004-06-02 Todd Kulesza * configure.ac: - Release 1.0. * NEWS: - Updated. 2004-06-04 Grahame Bowland * src/query_music_players.c - Convert locale-based string from XMMS to UTF8 correctly. Fixes bug where song titles containing accented characters generate pango errors. 2004-06-02 Todd Kulesza * src/journal.c: - Make the network progress dialog stay on top of the Journal window during the login/picture-download process. * NEWS: - Updated. 2004-06-02 Todd Kulesza * configure.ac: - Bump version to 0.91.0. * src/drivel.h: * src/main.c: - Remove unused check_mem() function. - Implement a global fill_pictures_menu() function since this is used in both the Journal window and the Preferences window. * src/dialogs.c: * src/journal.c: - Simply code by making use of the new fill_pictures_menu() method. * src/network.c: * src/requests.c: - Call fill_pictures_menu() after a new picture has been downloaded. 2004-06-01 Christian Neumair * confiugre.ac: - Added German (de) to ALL_LINGUAS. 2004-05-30 Francisco Javier F. Serrador * configure.ac: - Added es to ALL_LINGUAS 2004-05-23 Todd Kulesza * drivel.spec.in: - Fixes to allow building RPMs on Fedora Core 2. 2004-05-22 Todd Kulesza * pixmaps/drivel_splash.png: - Updated splash image. * configure.ac: - Version 0.90.0. * NEWS: - Updated for release. 2004-05-17 Todd Kulesza * src/network.c: - Remove the separator from the Network Transaction dialog. * configure.ac: - Add zh_CN to ALL_LINGUAS. * pixmaps/drivel_splash.png: - Updated splash image. * src/drivel.glade: - More HIG work on the Login dialog. - Make stock images as non-translatable. 2004-05-16 Todd Kulesza * src/login.c: - Made the login entry activate default signal. * src/main.c: - Use G_N_ENTRIES() macro to determine the number of custom stock items. * src/drivel.glade: - Several small HIG fixes. * src/journal.c: - Make dialogs transients of the main window. * NEWS: - Updated for 0.90.0. 2004-05-07 Davyd Madeley * src/login.c: * src/drivel.glade: - Port login dialog to Glade. - Use GNOME_STOCK_ABOUT for About option in menu. * src/dialogs.c: * src/drivel.glade: - Port history dialog to Glade. - Port friends dialog to Glade. * src/journal.c: - Use livejournal icon for window. * src/Makefile.am: - query_music_players.[ch] was listed twice. * src/main.c: * src/insert_poll_dialog.c: - Add new stock buttons. - Use those buttons in the insert poll dialog. 2004-05-07 Davyd Madeley - Fix a broken commit from the previous change. 2004-05-05 Davyd Madeley * src/journal.c: - Added a workaround for GNOME bug #141183. This should be a little more solid then remembering to constantly add the entries back into the GladeXML file. * src/drivel.glade: * src/insert_poll_dialog.c: - Make buttons to move questions and answers up and down work. * src/journal.c: * src/query_music_players.c: * src/query_music_players.h: * pixmaps/xmms.xpm: - Music selection for XMMS in the music GtkComboBoxEntry. - More music players can be added to query_music_players.c 2004-05-03 Davyd Madeley * pixmaps/mood.png: - Removed grey stripe from icon. 2004-04-29 Todd Kulesza * configure.ac: - Add GNOME_COMPILE_WARNINGS(yes). * src/*.[ch]: * src/Makefile.am: - Enable -std=c89 to improve compatibility with other architectures - Eliminate all C++-style comments (//) as these break the c89 standard. * src/insert_poll_dialog.[ch]: - Move all non-public functions and data structures out of the public header file. * src/dialogs.c: * src/insert_poll_dialog.c: * src/journal.c: * src/login.c: * src/main.c: * src/network.c: * src/requests.c: * src/tray.c: - Make all non-public functions static. * src/eggtrayicon.c: - Remove unused functions. 2004-04-29 Todd Kulesza Finalizing preparations for the 0.90.0 release... * src/journalc: * src/dialogs.c: * src/drivel.glade: - Lots of HIG work. * src/dialogs.c: * src/tray.c: - Remove deprecated GTK+ and GNOME methods; Drivel now passes the --enable-deprecations test! :) 2004-04-29 Todd Kulesza * src/journal.c: - Use cleaner names for user pictures. - Don't show the window until it is completely built. * src/dialogs.c: - Use cleaner names for user pictures. * src/network.[ch]: * src/requests.c: * src/drivel.h: - Get the user pictures via a separate thread so that they don't lock up the GUI. - Use gnome-vfs to save the user picture files. - Use cleaner names for user pictures. - Change the progress interval from 0.2 to 0.1 for network transactions. 2004-04-28 Todd Kulesza * src/login.c: * src/requests.c: * src/journal.c: - Replace the "Login" GtkCombo with a GtkComboBoxEntry. 2004-04-28 Todd Kulesza * src/requests.c: - Enable the tray icon by default for new users. * src/login.c: - Small cosmetic cleanup. * src/network.c: - Close the file handle after the write operation has completed in retrieve_userpicture(). 2004-04-28 Todd Kulesza * src/login.c: - Fix the size of the Sign Up button by setting the GTK_CAN_DEFAULT flag. * src/dialogs.c: - Make the Preferences dialog modal. * src/journal.c: - Don't desensitize the entire window during each network transaction. - Set default responses for the Open and Save Draft dialogs. - Small usability fixes. * src/*.c: - Remove all traces of journal_enable(); we use modal dialogs when we need to, rather than constantly desensitizing an entire window. * src/network.c: - Remove the gtk_window_present() call from dialog_close(). The switch to modal dialogs serves the same purpose, and doesn't cause problems by raising the window too frequently. * src/drivel.glade: - Add mnemonics to the Insert Poll dialog. 2004-04-27 Todd Kulesza * src/journal.c: - Move the entry window into place before showing it. * src/tray.c: - HIG'ify tray menu. - Fix a bug where the window was being displayed too early. * src/drivel.glade: - Fix the names for the entry behavior preferences. * po/POTFILES.in: * Makefile.am: * drivel.schemas.in: - Rename drivel.schemas to drivel.schemas.in, mark it as translatable, and use it to generate a properly-translated drivel.schemas file. - Replace pollcreator.c with insert_poll_dialog.c in POTFILES.in. 2004-04-27 Todd Kulesza * src/dialogs.c: - Set the Preferences dialog to be transient for the current window. * src/insert_poll_dialog.c: - Set the Insert Poll dialog to be transiet for the current window. 2004-04-27 Todd Kulesza * src/journal.c: - Port the Active Journal submenu to GtkAction. This should mark the end of all GnomeUIInfo code in Drivel! W00t! * src/requests.c: - Fix a bug counting the number of journals a user has access to in request_process_login(). 2004-04-27 Todd Kulesza * src/journal.c: - Finally finish porting the Web Links menu to use GtkAction. 2004-04-26 Todd Kulesza * src/drive.glade: - HIG'ify the Entry window. 2004-04-26 Todd Kulesza * pixmaps/public.png: * pixmaps/protected.png: - Update artwork. 2004-04-25 Davyd Madeley * src/drivel.glade: * src/journal.c: * src/insert_poll_dialog.c: * src/insert_poll_dialog.h: * src/Makefile.am: - New Poll creation dialog. * pixmaps/checkbutton.xpm: * pixmaps/combobox.xpm: * pixmaps/entry.xpm: * pixmaps/hscale.xpm: * pixmaps/radiobutton.xpm: * pixmaps/Makefile.am: - Images for new Poll creation dialog. * src/dialogs.c: - #ifdef'ed out an old symbol name for the dialog. 2004-04-26 Grahame Bowland * src/drivel.h: * src/journal.c: * src/main.c: - Remember whether the "more options" expander is open * src/journal.c: - Use the stock about icon in menu 2004-04-26 Davyd Madeley * src/drivel.glade: - Fix a glitch in the Glade file that makes the mood dialog stop working. - This is the third time this bug has reoccurred. 2004-04-26 Davyd Madeley * src/drivel.glade: - Fix a glitch in the Glade file that makes the mood dialog stop working. - This is the third time this bug has reoccurred. 2004-04-26 Davyd Madeley * AUTHORS: * src/about.c: - Bring the Contributers list up to date. 2004-04-26 Grahame Bowland * ChangeLog: - fix broken commit with rejects in ChangeLog 2004-04-26 Grahame Bowland * src/dialogs.c: * src/drivel.h: * src/journal.c: * src/login.c: * src/network.c: * src/network.h: * src/requests.c: - retrieve userpic thumbnails and display them * src/main.c: - create ~/.drivel/ and ~/.drivel/pictures/ on startup 2004-04-24 Todd Kulesza * src/drivel.glade: - Fix mnemonic widgets. * po/POTFILES.in: - Mark drivel.glade as translatable. 2004-04-24 Todd Kulesza * src/drivel.glade: - HIG'ify the preferences dialog. 2004-04-24 Todd Kulesza * src/drivel.glade: - Make the General tab of the preferences dialog conform to the HIG. 2004-04-23 Davyd Madeley * src/dialogs.c: * src/drivel.glade: - Port Preferences dialog to Glade. * src/journal.c: - Fixed music_changed_cb() to use the correct part of the widget. 2004-04-22 Todd Kulesza * src/login.c: * src/journal.c: - Fix the separators in the new GtkAction menus. 2004-04-22 Davyd Madeley * src/drivel.glade: * src/journal.c: * src/dialogs.c: - Finish port of main editor to Glade. 2004-04-21 Todd Kulesza * src/drivel.glade: - Add Glade file from Davyd to CVS. 2004-04-20 Davyd Madeley * src/journal.c: * src/drivel.glade: - Port to Glade. * src/dialogs.c: - Change GtkOptionMenu and GtkCombo widgets to GtkComboBox and GtkComboBoxEntry widgets for consistancy, above port to Glade. * src/Makefile.am: - Include the glade files in EXTRA_DIST. 2004-04-19 Todd Kulesza * drivel.spec.in: - Remove troublesome requirements (Closes 136478). * src/journal.c: - More work on porting build_web_link_menu() to GtkAction. 2004-04-09 Todd Kulesza * src/journal.c: - Begin to port build_web_link_menu() to GtkAction. 2004-04-04 Todd Kulesza * src/journal.c: - Continue porting the menus to GtkAction. 2004-04-04 Todd Kulesza * src/journal.c: - Rename "File" menu to "Journal" and port it to GtkAction. 2004-04-04 Evandro Fernandes Giovanini * configure.ac(ALL_LINGUAS): Added "pt_BR" (Brazilian Portuguese). 2004-04-04 Todd Kulesza * src/login.c: - Port GnomeUIInfo-based menu to GtkAction. 2004-04-04 Todd Kulesza * configure.ac: - Bump required glib and gtk+ to 2.4.0. - Bump version to 0.9.5 * src/dialogs.c: - Remove ParaJournal from the list of supported sites. * src/journal.c: - Port open_draft() to GtkFileChooser. - Port save_draft() to GtkFileChooser. * drivel.prj: * drivel.pws: - Create Anjuta project files. 2004-04-01 Gareth Owen * configure.ac: Added en_GB to ALL_LINGUAS 2004-03-22 Duarte Loreto * configure.ac: Added Portuguese (pt) to ALL_LINGUAS. 2004-03-11 Todd Kulesza * autogen.sh: Revised to use gnome-common. (patch from Grahame Bowland ) * HACKING: File added. 2004-03-10 Kjartan Maraas * configure.ac: Added Norwegian to ALL_LINGUAS. 2004-03-01 Miloslav Trmac * configure.ac: Added 'cs_CZ' (Czech) to ALL_LINGUAS. 2004-02-28 Adam Weinberger * configure.ac: Added 'en_CA' (Canadian English) to ALL_LINGUAS. 2004-02-28 Todd Kulesza * src/about.c: - Added "translator_credits" string. - Added copyright symbol to the About window. * .cvsignore: * pixmaps/.cvsignore: * src/.cvsignore: - Added files. 2004-02-27 Danilo Šegan * configure.ac: Added "sr" and "sr@Latn" to ALL_LINGUAS. 2004-02-26 Todd Kulesza * src/pollcreator.c: * src/login.c: * src/dialogs.c: - Fix use of markup inside strings marked for translation (fixes 135544). 2004-02-26 Christian Rose * configure.ac: Added "sv" to ALL_LINGUAS. 2004-02-26 Todd Kulesza * drivel.spec.in: - Fix to build properly on Fedora Core 1. ====================================================== Adopt standard GNOME ChangeLog format above this point ====================================================== 02.24.04 - drivel 0.9.4 * Sync contributors with the AUTHORS file (Geoff King) * Fix bug that set the default mood to " " (Geoff King) * Add copyright and import notice for code from logjam (Geoff King) * Add import date for code from logjam (Geoff King) * Numerous build-system fixes and enhancements. Added "--enable-deprecations" parameter to configure script to turn on deprecations, allowing Drivel to compile on GTK+ 2.3 and GNOME 2.5 systems. * Cleanup of the drivel.spec.in file * Fix a crash when editing entries via the History dialog * Fix the user name from appearing twice in the Active Journal menu * Fix focus issues following network activity * Sync eggtrayicon code with libegg 01.11.04 - drivel 0.9.3 * fix the png icon * FreeBSD compile fixes (Geoff King) * remove the Debian subdirectory * clean up configure.ac * add gettext support * add support for GNOME's system-wide proxy settings (Kai Willadsen) 12.01.03 - drivel 0.9.2 ~ the "frost of december" release ~ * typo fix in desktop entry * added mnemonics to the login window * various fixes from the Debian package (Neil McGovern) * fixes for working with drafts (Paul Walker) * fixes for crashes when widgets lose focus (Kai Willadsen) 02.13.03 - drivel 0.9.1 ~ the "5th-toe, here we come!" release ~ * fixed configure.in to check for libcurl 7.10.0 or newer * fixed the RPM to check for libcurl 7.10.0 01.28.03 - drivel 0.9.0 ~ the "libcurl makes drivel tiny and stable!" release ~ * ripped out old, crappy network code * added shiny, new libcurl network layer * tweaked the notification area icon behavior * added "minimize on startup" option * added "minimize after post" option * fixed proxy behavior * added proxy username and password options * added a modified version of LogJam's poll generator 01.21.03 - drivel 0.8.2 ~ the "my network layer sucks and i don't care" release ~ * add notification area icon * minimize to notification area after post * minimize to notification area window close * add option to disable the notification area * made the notification area icon check for updates to your friends page * save the entry window's size and position * cleaned up the entire interface to match the GNOME HIG 01.16.03 - drivel 0.8.1 ~ the i am so not as dead as you thought release ~ * allow lj-cut tag to use default text (patch from Ari Pollak) * fix Unicode support (patch from Ilya) * reduced executable size to 1/3 by loading pixmaps as files * reworked the preferences interface to in accordance with the GNOME HIG 05.03.02 - drivel 0.8.0 ~ the first glimpse of freedom release ~ * changed "insert" menu to "format" and added commands for formating text * interface improvemnts for cut/copy/paste * added history calendar * i can not believe i released this with "receiving" spelt wrong :) * fixed network timeout/channel-closed errors * network optimizations--net transactions should never, ever block now (this time for real) * check for invalid username characters * modality fixes * implemented autosave * allow users to cancel network transactions * add ability to get current music from xmms 04.22.02 - drivel 0.7.0 ~ the dirt chamber release ~ * three big network improvements: 1) write function now loops until all data has been sent 2) dns lookup is now done asynchronously. this makes drivel's networking code fully non-blocking (and fast!). 3) default to the fast servers for all logins * added "edit->select all" menu item * added "insert->link" menu item * added "insert->image" menu item * added "edit->clear" menu item to erase an entry-in-progress * fixed several irritating bugs in the network error code * cleaned up some conflicting mnemonics * grey the "OK" button on dialogs which require input until the user enters valid input * prevent the preferences dialog from closing if the user has left the server or proxy addresses blank * fixed a start-up crash that occured when a user had access to several shared journals * hitting a ctl-code now forwards the cursor out of the html tag if the cursor is currently within a set (i.e hit ctl-b, type some bold text, hit ctl-b again, type some regular text) * misc. changes to bring drivel into compliance with the gnome 2.0 human-computer interface guidelines * added a "sign up" button to the login window * added help->"what's a livejournal?" menu item * improved the login splash image 04.15.02 - drivel 0.6.0 the "no plane on sunday" release * another big code reorganization, added dialogs.[ch] * implemented stock items for many buttons and menus * bugfixes for case where username is a blank string * hooked up add/edit/remove buttons in the friend's dialog * network bug fixes and improvements * added lots of icons (from Evan's LogJam [logjam.danga.com] client) * ctl-codes for bold, italics, underline, and strike-through html tags (ctl-b, ctl-i, ctl-u) * converted all images from xpm to png format, greatly reducing code size * marked all strings for translation--anyone want to translate? * implemented utf-8 support (needs testing) 04.09.02 - drivel 0.5.0 the "coding is more fun than term papers" release * code clean-up and reorganization * implement md5 password hashes * minor bug fixes * added .spec file * added "post to" journal option for shared journals * grey-out widgets durning network transactions * fixed default focused widgets * added "web links" menu (even includes mnemonics) * pretty pictures, ripped from logjam * added "edit friends" dialog (currently read-only) 04.02.02 - drivel 0.4.0 * initial unix release (drivel had started as a win32 project in spring of 2001) drivel-3.0.5/gnome-doc-utils.make0000644000175000017500000006120212161410720013565 00000000000000# gnome-doc-utils.make - make magic for building documentation # Copyright (C) 2004-2005 Shaun McCance # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. ################################################################################ ## @@ Generating Header Files ## @ DOC_H_FILE ## The name of the header file to generate DOC_H_FILE ?= ## @ DOC_H_DOCS ## The input DocBook files for generating the header file DOC_H_DOCS ?= $(DOC_H_FILE): $(DOC_H_DOCS); @rm -f $@.tmp; touch $@.tmp; echo 'const gchar* documentation_credits[] = {' >> $@.tmp list='$(DOC_H_DOCS)'; for doc in $$list; do \ xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \ if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \ xsltproc --path "$$xmlpath" $(_credits) $$doc; \ done | sort | uniq \ | awk 'BEGIN{s=""}{n=split($$0,w,"<");if(s!=""&&s!=substr(w[1],1,length(w[1])-1)){print s};if(n>1){print $$0;s=""}else{s=$$0}};END{if(s!=""){print s}}' \ | sed -e 's/\\/\\\\/' -e 's/"/\\"/' -e 's/\(.*\)/\t"\1",/' >> $@.tmp echo ' NULL' >> $@.tmp echo '};' >> $@.tmp echo >> $@.tmp list='$(DOC_H_DOCS)'; for doc in $$list; do \ xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \ if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \ docid=`echo "$$doc" | sed -e 's/.*\/\([^/]*\)\.xml/\1/' \ | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`; \ echo $$xmlpath; \ ids=`xsltproc --xinclude --path "$$xmlpath" $(_ids) $$doc`; \ for id in $$ids; do \ echo '#define HELP_'`echo $$docid`'_'`echo $$id \ | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`' "'$$id'"' >> $@.tmp; \ done; \ echo >> $@.tmp; \ done; cp $@.tmp $@ && rm -f $@.tmp dist-check-gdu: if !HAVE_GNOME_DOC_UTILS @echo "*** GNOME Doc Utils must be installed in order to make dist" @false endif .PHONY: dist-doc-header dist-doc-header: $(DOC_H_FILE) @if test -f "$(DOC_H_FILE)"; then d=; else d="$(srcdir)/"; fi; \ echo "$(INSTALL_DATA) $${d}$(DOC_H_FILE) $(distdir)/$(DOC_H_FILE)"; \ $(INSTALL_DATA) "$${d}$(DOC_H_FILE)" "$(distdir)/$(DOC_H_FILE)"; doc-dist-hook: dist-check-gdu $(if $(DOC_H_FILE),dist-doc-header) .PHONY: clean-doc-header _clean_doc_header = $(if $(DOC_H_FILE),clean-doc-header) clean-local: $(_clean_doc_header) distclean-local: $(_clean_doc_header) mostlyclean-local: $(_clean_doc_header) maintainer-clean-local: $(_clean_doc_header) clean-doc-header: rm -f $(DOC_H_FILE) all: $(DOC_H_FILE) ################################################################################ ## @@ Generating Documentation Files ## @ DOC_MODULE ## The name of the document being built DOC_MODULE ?= ## @ DOC_ID ## The unique identifier for a Mallard document DOC_ID ?= ## @ DOC_PAGES ## Page files in a Mallard document DOC_PAGES ?= ## @ DOC_ENTITIES ## Files included with a SYSTEM entity DOC_ENTITIES ?= ## @ DOC_INCLUDES ## Files included with XInclude DOC_INCLUDES ?= ## @ DOC_FIGURES ## Figures and other external data DOC_FIGURES ?= ## @ DOC_FORMATS ## The default formats to be built and installed DOC_FORMATS ?= docbook _DOC_REAL_FORMATS = $(if $(DOC_USER_FORMATS),$(DOC_USER_FORMATS),$(DOC_FORMATS)) ## @ DOC_LINGUAS ## The languages this document is translated into DOC_LINGUAS ?= _DOC_REAL_LINGUAS = $(if $(filter environment,$(origin LINGUAS)), \ $(filter $(LINGUAS),$(DOC_LINGUAS)), \ $(DOC_LINGUAS)) _DOC_ABS_SRCDIR = @abs_srcdir@ ################################################################################ ## Variables for Bootstrapping _xml2po ?= `which xml2po` _xml2po_mode = $(if $(DOC_ID),mallard,docbook) _db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils` _db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils` _chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl _credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl _ids ?= $(shell $(PKG_CONFIG) --variable xmldir gnome-doc-utils)/gnome/xslt/docbook/utils/ids.xsl if ENABLE_SK _ENABLE_SK = true _skpkgdatadir ?= `scrollkeeper-config --pkgdatadir` _sklocalstatedir ?= `scrollkeeper-config --pkglocalstatedir` _skcontentslist ?= $(_skpkgdatadir)/Templates/C/scrollkeeper_cl.xml endif ################################################################################ ## Support for automake silent-rules GDU_V_XML2PO=$(GDU__v_XML2PO_$(V)) GDU__v_XML2PO_=$(GDU__v_XML2PO_$(AM_DEFAULT_VERBOSITY)) GDU__v_XML2PO_0=@echo " XML2PO" $@; GDU_V_MSGFMT=$(GDU__v_MSGFMT_$(V)) GDU__v_MSGFMT_=$(GDU__v_MSGFMT_$(AM_DEFAULT_VERBOSITY)) GDU__v_MSGFMT_0=@echo " MSGFMT" $@; GDU_V_DB2OMF=$(GDU__v_DB2OMF_$(V)) GDU__v_DB2OMF_=$(GDU__v_DB2OMF_$(AM_DEFAULT_VERBOSITY)) GDU__v_DB2OMF_0=@echo " DB2OMF" $@; GDU_V_DB2HTM=$(GDU__v_DB2HTM_$(V)) GDU__v_DB2HTM_=$(GDU__v_DB2HTM_$(AM_DEFAULT_VERBOSITY)) GDU__v_DB2HTM_0=@echo " DB2HTM" $@; ################################################################################ ## @@ Rules for OMF Files db2omf_args = \ --stringparam db2omf.basename $(DOC_MODULE) \ --stringparam db2omf.format $(3) \ --stringparam db2omf.dtd \ $(shell xmllint --format $(2) | grep -h PUBLIC | head -n 1 \ | sed -e 's/.*PUBLIC \(\"[^\"]*\"\).*/\1/') \ --stringparam db2omf.lang $(notdir $(patsubst %/$(notdir $(2)),%,$(2))) \ --stringparam db2omf.omf_dir "$(OMF_DIR)" \ --stringparam db2omf.help_dir "$(HELP_DIR)" \ --stringparam db2omf.omf_in "$(_DOC_OMF_IN)" \ $(if $(_ENABLE_SK), \ --stringparam db2omf.scrollkeeper_cl "$(_skcontentslist)") \ $(_db2omf) $(2) ## @ _DOC_OMF_IN ## The OMF input file _DOC_OMF_IN = $(if $(DOC_MODULE),$(wildcard $(_DOC_ABS_SRCDIR)/$(DOC_MODULE).omf.in)) ## @ _DOC_OMF_DB ## The OMF files for DocBook output _DOC_OMF_DB = $(if $(_DOC_OMF_IN), \ $(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-$(lc).omf)) $(_DOC_OMF_DB) : $(_DOC_OMF_IN) $(_DOC_OMF_DB) : $(DOC_MODULE)-%.omf : %/$(DOC_MODULE).xml @test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || { \ echo "The file '$(_skcontentslist)' does not exist." >&2; \ echo "Please check your ScrollKeeper installation." >&2; \ exit 1; } $(GDU_V_DB2OMF)xsltproc -o $@ $(call db2omf_args,$@,$<,'docbook') || { rm -f "$@"; exit 1; } ## @ _DOC_OMF_HTML ## The OMF files for HTML output _DOC_OMF_HTML = $(if $(_DOC_OMF_IN), \ $(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-html-$(lc).omf)) $(_DOC_OMF_HTML) : $(_DOC_OMF_IN) $(_DOC_OMF_HTML) : $(DOC_MODULE)-html-%.omf : %/$(DOC_MODULE).xml if ENABLE_SK @test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || { \ echo "The file '$(_skcontentslist)' does not exist" >&2; \ echo "Please check your ScrollKeeper installation." >&2; \ exit 1; } endif $(GDU_V_DB2OMF)xsltproc -o $@ $(call db2omf_args,$@,$<,'xhtml') || { rm -f "$@"; exit 1; } ## @ _DOC_OMF_ALL ## All OMF output files to be built # FIXME _DOC_OMF_ALL = \ $(if $(filter docbook,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_DB)) \ $(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_HTML)) .PHONY: omf omf: $(_DOC_OMF_ALL) ################################################################################ ## @@ C Locale Documents ## @ _DOC_C_MODULE ## The top-level documentation file in the C locale _DOC_C_MODULE = $(if $(DOC_MODULE),C/$(DOC_MODULE).xml) ## @ _DOC_C_PAGES ## Page files in a Mallard document in the C locale _DOC_C_PAGES = $(foreach page,$(DOC_PAGES),C/$(page)) ## @ _DOC_C_ENTITIES ## Files included with a SYSTEM entity in the C locale _DOC_C_ENTITIES = $(foreach ent,$(DOC_ENTITIES),C/$(ent)) ## @ _DOC_C_XINCLUDES ## Files included with XInclude in the C locale _DOC_C_INCLUDES = $(foreach inc,$(DOC_INCLUDES),C/$(inc)) ## @ _DOC_C_DOCS ## All documentation files in the C locale _DOC_C_DOCS = \ $(_DOC_C_ENTITIES) $(_DOC_C_INCLUDES) \ $(_DOC_C_PAGES) $(_DOC_C_MODULE) ## @ _DOC_C_DOCS_NOENT ## All documentation files in the C locale, ## except files included with a SYSTEM entity _DOC_C_DOCS_NOENT = \ $(_DOC_C_MODULE) $(_DOC_C_INCLUDES) \ $(_DOC_C_PAGES) ## @ _DOC_C_FIGURES ## All figures and other external data in the C locale _DOC_C_FIGURES = $(if $(DOC_FIGURES), \ $(foreach fig,$(DOC_FIGURES),C/$(fig)), \ $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/C/figures/*.png))) ## @ _DOC_C_HTML ## All HTML documentation in the C locale # FIXME: probably have to shell escape to determine the file names _DOC_C_HTML = $(foreach f, \ $(shell xsltproc --xinclude \ --stringparam db.chunk.basename "$(DOC_MODULE)" \ $(_chunks) "C/$(DOC_MODULE).xml"), \ C/$(f).xhtml) ############################################################################### ## @@ Other Locale Documentation ## @ _DOC_POFILES ## The .po files used for translating the document _DOC_POFILES = $(if $(DOC_MODULE)$(DOC_ID), \ $(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(lc).po)) .PHONY: po po: $(_DOC_POFILES) ## @ _DOC_MOFILES ## The .mo files used for translating the document _DOC_MOFILES = $(patsubst %.po,%.mo,$(_DOC_POFILES)) .PHONY: mo mo: $(_DOC_MOFILES) ## @ _DOC_LC_MODULES ## The top-level documentation files in all other locales _DOC_LC_MODULES = $(if $(DOC_MODULE), \ $(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xml)) ## @ _DOC_LC_PAGES ## Page files in a Mallard document in all other locales _DOC_LC_PAGES = \ $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach page,$(_DOC_C_PAGES), \ $(lc)/$(notdir $(page)) )) ## @ _DOC_LC_XINCLUDES ## Files included with XInclude in all other locales _DOC_LC_INCLUDES = \ $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach inc,$(_DOC_C_INCLUDES), \ $(lc)/$(notdir $(inc)) )) ## @ _DOC_LC_HTML ## All HTML documentation in all other locales # FIXME: probably have to shell escape to determine the file names _DOC_LC_HTML = \ $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach doc,$(_DOC_C_HTML), \ $(lc)/$(notdir $(doc)) )) ## @ _DOC_LC_DOCS ## All documentation files in all other locales _DOC_LC_DOCS = \ $(_DOC_LC_MODULES) $(_DOC_LC_INCLUDES) $(_DOC_LC_PAGES) \ $(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_LC_HTML)) ## @ _DOC_LC_FIGURES ## All figures and other external data in all other locales _DOC_LC_FIGURES = $(foreach lc,$(_DOC_REAL_LINGUAS), \ $(patsubst C/%,$(lc)/%,$(_DOC_C_FIGURES)) ) _DOC_SRC_FIGURES = \ $(foreach fig,$(_DOC_C_FIGURES), $(foreach lc,C $(_DOC_REAL_LINGUAS), \ $(wildcard $(srcdir)/$(lc)/$(patsubst C/%,%,$(fig))) )) $(_DOC_POFILES): @if ! test -d $(dir $@); then \ echo "mkdir $(dir $@)"; \ mkdir "$(dir $@)"; \ fi @if test ! -f $@ -a -f $(srcdir)/$@; then \ echo "cp $(srcdir)/$@ $@"; \ cp "$(srcdir)/$@" "$@"; \ fi; @docs=; \ list='$(_DOC_C_DOCS_NOENT)'; for doc in $$list; do \ docs="$$docs $(_DOC_ABS_SRCDIR)/$$doc"; \ done; \ if ! test -f $@; then \ echo "(cd $(dir $@) && \ $(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \ cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp)"; \ (cd $(dir $@) && \ $(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \ cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp); \ else \ echo "(cd $(dir $@) && \ $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs)"; \ (cd $(dir $@) && \ $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs); \ fi $(_DOC_MOFILES): %.mo: %.po $(AM_V_at)if ! test -d $(dir $@); then mkdir "$(dir $@)"; fi $(GDU_V_MSGFMT)msgfmt -o $@ $< # FIXME: fix the dependancy # FIXME: hook xml2po up $(_DOC_LC_DOCS) : $(_DOC_MOFILES) $(_DOC_LC_DOCS) : $(_DOC_C_DOCS) $(AM_V_at)if ! test -d $(dir $@); then mkdir $(dir $@); fi $(GDU_V_XML2PO)if [ -f "C/$(notdir $@)" ]; then d="../"; else d="$(_DOC_ABS_SRCDIR)/"; fi; \ mo="$(dir $@)$(patsubst %/$(notdir $@),%,$@).mo"; \ if [ -f "$${mo}" ]; then mo="../$${mo}"; else mo="$(_DOC_ABS_SRCDIR)/$${mo}"; fi; \ (cd $(dir $@) && \ $(_xml2po) -m $(_xml2po_mode) -e -t "$${mo}" \ "$${d}C/$(notdir $@)" > $(notdir $@).tmp && \ cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp) ## @ _DOC_POT ## A pot file _DOC_POT = $(if $(DOC_MODULE),$(DOC_MODULE).pot,$(if $(DOC_ID),$(DOC_ID).pot)) .PHONY: pot pot: $(_DOC_POT) $(_DOC_POT): $(_DOC_C_DOCS_NOENT) $(GDU_V_XML2PO)$(_xml2po) -m $(_xml2po_mode) -e -o $@ $^ ################################################################################ ## @@ All Documentation ## @ _DOC_HTML_ALL ## All HTML documentation, only if it's built _DOC_HTML_ALL = $(if $(filter html HTML,$(_DOC_REAL_FORMATS)), \ $(_DOC_C_HTML) $(_DOC_LC_HTML)) _DOC_HTML_TOPS = $(foreach lc,C $(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xhtml) $(_DOC_HTML_TOPS): $(_DOC_C_DOCS) $(_DOC_LC_DOCS) $(GDU_V_DB2HTM)xsltproc -o $@ --xinclude --param db.chunk.chunk_top "false()" --stringparam db.chunk.basename "$(DOC_MODULE)" --stringparam db.chunk.extension ".xhtml" $(_db2html) $(patsubst %.xhtml,%.xml,$@) ################################################################################ ## All all: \ $(_DOC_C_DOCS) $(_DOC_LC_DOCS) \ $(_DOC_OMF_ALL) $(_DOC_DSK_ALL) \ $(_DOC_HTML_ALL) $(_DOC_POFILES) ################################################################################ ## Clean .PHONY: clean-doc-omf clean-doc-dsk clean-doc-lc clean-doc-dir clean-doc-omf: ; rm -f $(_DOC_OMF_DB) $(_DOC_OMF_HTML) clean-doc-dsk: ; rm -f $(_DOC_DSK_DB) $(_DOC_DSK_HTML) clean-doc-lc: rm -f $(_DOC_LC_DOCS) rm -f $(_DOC_MOFILES) @list='$(_DOC_POFILES)'; for po in $$list; do \ if ! test "$$po" -ef "$(srcdir)/$$po"; then \ echo "rm -f $$po"; \ rm -f "$$po"; \ fi; \ done # .xml2.po.mo cleaning is obsolete as of 0.18.1 and could be removed in 0.20.x @for lc in C $(_DOC_REAL_LINGUAS); do \ if test -f "$$lc/.xml2po.mo"; then \ echo "rm -f $$lc/.xml2po.mo"; \ rm -f "$$lc/.xml2po.mo"; \ fi; \ done clean-doc-dir: clean-doc-lc @for lc in C $(_DOC_REAL_LINGUAS); do \ for dir in `find $$lc -depth -type d`; do \ if ! test $$dir -ef $(srcdir)/$$dir; then \ echo "rmdir $$dir"; \ rmdir "$$dir"; \ fi; \ done; \ done _clean_omf = $(if $(_DOC_OMF_IN),clean-doc-omf) _clean_dsk = $(if $(_DOC_DSK_IN),clean-doc-dsk) _clean_lc = $(if $(_DOC_REAL_LINGUAS),clean-doc-lc) _clean_dir = $(if $(DOC_MODULE)$(DOC_ID),clean-doc-dir) clean-local: \ $(_clean_omf) $(_clean_dsk) \ $(_clean_lc) $(_clean_dir) distclean-local: \ $(_clean_omf) $(_clean_dsk) \ $(_clean_lc) $(_clean_dir) mostlyclean-local: \ $(_clean_omf) $(_clean_dsk) \ $(_clean_lc) $(_clean_dir) maintainer-clean-local: \ $(_clean_omf) $(_clean_dsk) \ $(_clean_lc) $(_clean_dir) ################################################################################ ## Dist .PHONY: dist-doc-docs dist-doc-pages dist-doc-figs dist-doc-omf dist-doc-dsk doc-dist-hook: \ $(if $(DOC_MODULE)$(DOC_ID),dist-doc-docs) \ $(if $(_DOC_C_FIGURES),dist-doc-figs) \ $(if $(_DOC_OMF_IN),dist-doc-omf) # $(if $(_DOC_DSK_IN),dist-doc-dsk) dist-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS) $(_DOC_POFILES) @for lc in C $(_DOC_REAL_LINGUAS); do \ echo " $(mkinstalldirs) $(distdir)/$$lc"; \ $(mkinstalldirs) "$(distdir)/$$lc"; \ done @list='$(_DOC_C_DOCS)'; \ for doc in $$list; do \ if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ if ! test -d "$(distdir)/$$docdir"; then \ echo "$(mkinstalldirs) $(distdir)/$$docdir"; \ $(mkinstalldirs) "$(distdir)/$$docdir"; \ fi; \ echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \ $(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \ done @list='$(_DOC_LC_DOCS)'; \ for doc in $$list; do \ if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ if ! test -d "$(distdir)/$$docdir"; then \ echo "$(mkinstalldirs) $(distdir)/$$docdir"; \ $(mkinstalldirs) "$(distdir)/$$docdir"; \ fi; \ echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \ $(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \ done @list='$(_DOC_POFILES)'; \ for doc in $$list; do \ if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ if ! test -d "$(distdir)/$$docdir"; then \ echo "$(mkinstalldirs) $(distdir)/$$docdir"; \ $(mkinstalldirs) "$(distdir)/$$docdir"; \ fi; \ echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \ $(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \ done dist-doc-figs: $(_DOC_SRC_FIGURES) @list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; \ for fig in $$list; do \ if test -f "$$fig"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$fig"; then \ figdir=`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ if ! test -d "$(distdir)/$$figdir"; then \ echo "$(mkinstalldirs) $(distdir)/$$figdir"; \ $(mkinstalldirs) "$(distdir)/$$figdir"; \ fi; \ echo "$(INSTALL_DATA) $$d$$fig $(distdir)/$$fig"; \ $(INSTALL_DATA) "$$d$$fig" "$(distdir)/$$fig"; \ fi; \ done; dist-doc-omf: @if test -f "$(_DOC_OMF_IN)"; then d=; else d="$(srcdir)/"; fi; \ echo "$(INSTALL_DATA) $$d$(_DOC_OMF_IN) $(distdir)/$(notdir $(_DOC_OMF_IN))"; \ $(INSTALL_DATA) "$$d$(_DOC_OMF_IN)" "$(distdir)/$(notdir $(_DOC_OMF_IN))" dist-doc-dsk: @if test -f "$(_DOC_DSK_IN)"; then d=; else d="$(srcdir)/"; fi; \ echo "$(INSTALL_DATA) $$d$(_DOC_DSK_IN) $(distdir)/$(notdir $(_DOC_DSK_IN))"; \ $(INSTALL_DATA) "$$d$(_DOC_DSK_IN)" "$(distdir)/$(notdir $(_DOC_DSK_IN))" ################################################################################ ## Check .PHONY: check-doc-docs check-doc-omf check: \ $(if $(DOC_MODULE),check-doc-docs) \ $(if $(DOC_ID),check-doc-pages) \ $(if $(_DOC_OMF_IN),check-doc-omf) check-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS) @for lc in C $(_DOC_REAL_LINGUAS); do \ if test -f "$$lc"; \ then d=; \ xmlpath="$$lc"; \ else \ d="$(srcdir)/"; \ xmlpath="$$lc:$(srcdir)/$$lc"; \ fi; \ echo "xmllint --noout --noent --path $$xmlpath --xinclude --postvalid $$d$$lc/$(DOC_MODULE).xml"; \ xmllint --noout --noent --path "$$xmlpath" --xinclude --postvalid "$$d$$lc/$(DOC_MODULE).xml"; \ done check-doc-pages: $(_DOC_C_PAGES) $(_DOC_LC_PAGES) for lc in C $(_DOC_REAL_LINGUAS); do \ if test -f "$$lc"; \ then d=; \ xmlpath="$$lc"; \ else \ d="$(srcdir)/"; \ xmlpath="$$lc:$(srcdir)/$$lc"; \ fi; \ for page in $(DOC_PAGES); do \ echo "xmllint --noout --noent --path $$xmlpath --xinclude $$d$$lc/$$page"; \ xmllint --noout --noent --path "$$xmlpath" --xinclude "$$d$$lc/$$page"; \ done; \ done check-doc-omf: $(_DOC_OMF_ALL) @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \ echo "xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf"; \ xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf; \ done ################################################################################ ## Install .PHONY: install-doc-docs install-doc-html install-doc-figs install-doc-omf install-doc-dsk _doc_install_dir = $(if $(DOC_ID),$(DOC_ID),$(DOC_MODULE)) install-data-local: \ $(if $(DOC_MODULE)$(DOC_ID),install-doc-docs) \ $(if $(_DOC_HTML_ALL),install-doc-html) \ $(if $(_DOC_C_FIGURES),install-doc-figs) \ $(if $(_DOC_OMF_IN),install-doc-omf) # $(if $(_DOC_DSK_IN),install-doc-dsk) install-doc-docs: @for lc in C $(_DOC_REAL_LINGUAS); do \ echo "$(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc"; \ $(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc; \ done @list='$(_DOC_C_DOCS)'; for doc in $$list; do \ if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ docdir="$$lc/"`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ docdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$docdir"; \ if ! test -d "$$docdir"; then \ echo "$(mkinstalldirs) $$docdir"; \ $(mkinstalldirs) "$$docdir"; \ fi; \ echo "$(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ $(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc; \ done @list='$(_DOC_LC_DOCS)'; for doc in $$list; do \ if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ docdir="$$lc/"`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ docdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$docdir"; \ if ! test -d "$$docdir"; then \ echo "$(mkinstalldirs) $$docdir"; \ $(mkinstalldirs) "$$docdir"; \ fi; \ echo "$(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ $(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc; \ done install-doc-figs: @list='$(patsubst C/%,%,$(_DOC_C_FIGURES))'; for fig in $$list; do \ for lc in C $(_DOC_REAL_LINGUAS); do \ figsymlink=false; \ if test -f "$$lc/$$fig"; then \ figfile="$$lc/$$fig"; \ elif test -f "$(srcdir)/$$lc/$$fig"; then \ figfile="$(srcdir)/$$lc/$$fig"; \ else \ figsymlink=true; \ fi; \ figdir="$$lc/"`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ figdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$figdir"; \ if ! test -d "$$figdir"; then \ echo "$(mkinstalldirs) $$figdir"; \ $(mkinstalldirs) "$$figdir"; \ fi; \ figbase=`echo $$fig | sed -e 's/^.*\///'`; \ if $$figsymlink; then \ echo "cd $$figdir && $(LN_S) -f ../../C/$$fig $$figbase"; \ ( cd "$$figdir" && $(LN_S) -f "../../C/$$fig" "$$figbase" ); \ else \ echo "$(INSTALL_DATA) $$figfile $$figdir$$figbase"; \ $(INSTALL_DATA) "$$figfile" "$$figdir$$figbase"; \ fi; \ done; \ done install-doc-html: echo install-html install-doc-omf: $(mkinstalldirs) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir) @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \ echo "$(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ $(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf; \ done @if test "x$(_ENABLE_SK)" = "xtrue"; then \ echo "scrollkeeper-update -p $(DESTDIR)$(_sklocalstatedir) -o $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \ scrollkeeper-update -p "$(DESTDIR)$(_sklocalstatedir)" -o "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \ fi; install-doc-dsk: echo install-dsk ################################################################################ ## Uninstall .PHONY: uninstall-doc-docs uninstall-doc-html uninstall-doc-figs uninstall-doc-omf uninstall-doc-dsk uninstall-local: \ $(if $(DOC_MODULE)$(DOC_ID),uninstall-doc-docs) \ $(if $(_DOC_HTML_ALL),uninstall-doc-html) \ $(if $(_DOC_C_FIGURES),uninstall-doc-figs) \ $(if $(_DOC_OMF_IN),uninstall-doc-omf) # $(if $(_DOC_DSK_IN),uninstall-doc-dsk) uninstall-doc-docs: @list='$(_DOC_C_DOCS)'; for doc in $$list; do \ echo " rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ done @list='$(_DOC_LC_DOCS)'; for doc in $$list; do \ echo " rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ done uninstall-doc-figs: @list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; for fig in $$list; do \ echo "rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \ rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \ done; uninstall-doc-omf: @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \ if test "x$(_ENABLE_SK)" = "xtrue"; then \ echo "scrollkeeper-uninstall -p $(_sklocalstatedir) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ scrollkeeper-uninstall -p "$(_sklocalstatedir)" "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ fi; \ echo "rm -f $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ rm -f "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ done drivel-3.0.5/data/0000755000175000017500000000000012164124030010707 500000000000000drivel-3.0.5/data/gnome-drivel.desktop.in0000644000175000017500000000056711552103111015224 00000000000000[Desktop Entry] _Name=Drivel Journal Editor _GenericName=Journal Editor _Comment=Update and manage your online journal Exec=drivel %U Terminal=false Type=Application Icon=drivel-48.png MimeType=application/x-drivel Categories=GTK;GNOME;Application;Network; StartupNotify=true X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=drivel X-GNOME-Bugzilla-Component=general drivel-3.0.5/data/drivel.spec.in0000644000175000017500000000752011552103111013376 00000000000000%define name @PACKAGE@ %define version @VERSION@ %define release 1 %define prefix /usr %define sysconfdir /etc %define gettext_package @PACKAGE@ Summary: A journal or "blog" client Name: %{name} Version: %{version} Release: %{release} Epoch: 1 License: GPL Group: Applications Vendor: Dropline Systems Url: http://www.dropline.net/drivel Source: %{name}-%{version}.tar.bz2 Packager: Todd Kulesza BuildRoot: /var/tmp/%{name}-%{version}-root BuildRequires: scrollkeeper >= @SCROLLKEEPER_BUILD_REQUIRED@ Requires: glib2 >= @GLIB_REQUIRED@ Requires: gtk2 >= @GTK_REQUIRED@ Prefix: %{prefix} %description Drivel is an advanced journal client for the GNOME desktop. It has been designed with usability in mind, and presents an elegant user interface. Supported journal types include LiveJournal, MovableType, Blogger, Atom, and Advogato. %prep %setup -q %build %configure --disable-schemas-install --disable-mime-update --disable-desktop-update make %install rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install # Remove the Shared MIME Database files, these need to be created after # package installation #/bin/rm -f %{buildroot}/%{_datadir}/mime/XMLnamespaces #/bin/rm -f %{buildroot}/%{_datadir}/mime/globs #/bin/rm -f %{buildroot}/%{_datadir}/mime/magic #/bin/rm -f %{buildroot}/%{_datadir}/mime/application/x-drivel.xml %clean rm -rf $RPM_BUILD_ROOT # Clean out files that should not be part of the rpm. # This is the recommended way of dealing with it for RH8 rm -rf $RPM_BUILD_ROOT/var/scrollkeeper/* %post export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` SCHEMAS="drivel.schemas" for S in $SCHEMAS; do gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/$S > /dev/null done if (update-mime-database -v &> /dev/null); then update-mime-database "%{_datadir}/mime" > /dev/null fi if which scrollkeeper-update > /dev/null 2>&1; then scrollkeeper-update -q -o %{_datadir}/omf/drivel fi if (update-desktop-database -v &> /dev/null); then update-desktop-database > /dev/null fi %postun if (update-mime-database -v &> /dev/null); then update-mime-database "%{_datadir}/mime" > /dev/null fi if which scrollkeeper-update > /dev/null 2>&1; then scrollkeeper-update -q fi if (update-desktop-database -v &> /dev/null); then update-desktop-database > /dev/null fi /bin/true ## for rpmlint, -p requires absolute path and is just dumb %files %defattr(-, root, root) %doc AUTHORS COPYING COPYING-DOCS ChangeLog NEWS README TODO %{_bindir}/drivel %{_datadir}/applications/gnome-drivel.desktop %{_datadir}/application-registry/drivel.applications %{_datadir}/drivel/glade/drivel.glade %{_datadir}/drivel/languages/livejournal.lang %{_datadir}/gnome/help/drivel/* %{_datadir}/icons/gnome/48x48/mimetypes/gnome-mime-application-x-drivel.png %{_datadir}/locale/* %{_datadir}/mime/packages/drivel.xml %{_datadir}/mime-info/drivel.keys %{_datadir}/mime-info/drivel.mime %{_datadir}/omf/drivel/drivel-C.omf %{_datadir}/pixmaps/drivel-48.png %{_datadir}/pixmaps/drivel/*.png %{_datadir}/pixmaps/drivel/*.xpm %config %{_sysconfdir}/gconf/schemas/* %changelog * Sun Jun 5 2005 Todd Kulesza - Update for Drivel 2.0. * Sun Jan 9 2005 Todd Kulesza - Don't run ldconfig after install, Drivel doesn't include libraries. * Sat Jan 8 2005 Todd Kulesza - Use the new --disable-mime-update and --disable-desktop-update parameters. * Mon Jan 3 2005 Todd Kulesza - Run update-desktop-database after installation. - Renamed the MIME icon and desktop entry. * Thu Nov 25 2004 Todd Kulesza - Fixed up the scrollkeeper install/uninstall code. * Sat Aug 28 2004 Todd Kulesza - Add a user manual. * Sat Jul 31 2004 Todd Kulesza - Add Shared MIME Database support. drivel-3.0.5/data/Makefile.in0000644000175000017500000006053712161412430012710 00000000000000# Makefile.in generated by automake 1.13.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = data DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs $(srcdir)/drivel.spec.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \ $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = drivel.spec CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(schemadir)" DATA = $(desktop_DATA) $(schema_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@ DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@ DLLTOOL = @DLLTOOL@ DOC_USER_FORMATS = @DOC_USER_FORMATS@ DRIVEL_CFLAGS = @DRIVEL_CFLAGS@ DRIVEL_LIBS = @DRIVEL_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCONFTOOL = @GCONFTOOL@ GCONF_REQUIRED = @GCONF_REQUIRED@ GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@ GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_VFS_REQUIRED = @GNOME_VFS_REQUIRED@ GREP = @GREP@ GTKSOURCEVIEW_REQUIRED = @GTKSOURCEVIEW_REQUIRED@ GTK_REQUIRED = @GTK_REQUIRED@ HELP_DIR = @HELP_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_REQUIRED = @LIBSOUP_REQUIRED@ LIBTOOL = @LIBTOOL@ LIBXML_REQUIRED = @LIBXML_REQUIRED@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OMF_DIR = @OMF_DIR@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = mime desktopdir = $(datadir)/applications desktop_in_files = gnome-drivel.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) CLEANFILES = \ gnome-drivel.desktop \ drivel.schemas \ drivel.spec schema_in_files = drivel.schemas.in schemadir = $(GCONF_SCHEMA_FILE_DIR) schema_DATA = $(schema_in_files:.schemas.in=.schemas) EXTRA_DIST = \ $(schema_in_files) \ $(desktop_in_files) \ drivel.spec.in all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu data/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): drivel.spec: $(top_builddir)/config.status $(srcdir)/drivel.spec.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-desktopDATA: $(desktop_DATA) @$(NORMAL_INSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(desktopdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(desktopdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \ done uninstall-desktopDATA: @$(NORMAL_UNINSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(desktopdir)'; $(am__uninstall_files_from_dir) install-schemaDATA: $(schema_DATA) @$(NORMAL_INSTALL) @list='$(schema_DATA)'; test -n "$(schemadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(schemadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(schemadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(schemadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(schemadir)" || exit $$?; \ done uninstall-schemaDATA: @$(NORMAL_UNINSTALL) @list='$(schema_DATA)'; test -n "$(schemadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(schemadir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(schemadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-data-local install-desktopDATA \ install-schemaDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-desktopDATA uninstall-schemaDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: $(am__recursive_targets) install-am install-data-am \ install-strip uninstall-am .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am dist-hook distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-data-hook install-data-local \ install-desktopDATA install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-schemaDATA install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-desktopDATA \ uninstall-hook uninstall-schemaDATA @INTLTOOL_DESKTOP_RULE@ @INTLTOOL_SCHEMAS_RULE@ install-data-local: @GCONF_SCHEMAS_INSTALL_TRUE@ if test -z "$(DESTDIR)"; then \ @GCONF_SCHEMAS_INSTALL_TRUE@ GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(schema_DATA); \ @GCONF_SCHEMAS_INSTALL_TRUE@ fi install-data-hook: @HAVE_NEW_DESKTOP_TRUE@ if test -z "$(DESTDIR)"; then \ @HAVE_NEW_DESKTOP_TRUE@ $(UPDATE_DESKTOP_DATABASE); \ @HAVE_NEW_DESKTOP_TRUE@ fi uninstall-hook: @HAVE_NEW_DESKTOP_TRUE@ if test -z "$(DESTDIR)"; then \ @HAVE_NEW_DESKTOP_TRUE@ $(UPDATE_DESKTOP_DATABASE); \ @HAVE_NEW_DESKTOP_TRUE@ fi dist-hook: drivel.spec cp drivel.spec $(distdir) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: drivel-3.0.5/data/drivel.schemas.in0000644000175000017500000000234611552103111014070 00000000000000 /schemas/apps/drivel/global_settings/current_user /apps/drivel/global_settings/current_user drivel string The currently logged-in user. /schemas/apps/drivel/global_settings/user_list /apps/drivel/global_settings/user_list drivel list string A list of every journal username previously used on this machine. /schemas/apps/drivel/moods/moods /apps/drivel/moods/moods drivel int 0 The number of moods stored locally. /schemas/apps/drivel/moods/mood_list /apps/drivel/moods/mood_list drivel list string A list of moods for the drivel menu. drivel-3.0.5/data/mime/0000755000175000017500000000000012164124030011636 500000000000000drivel-3.0.5/data/mime/drivel.applications0000644000175000017500000000025111552103111015446 00000000000000drivel command=drivel name=Drivel Journal Editor can_open_multiple_files=false expects_uris=false requires_terminal=false mime_types=application/x-drivel,text/xml drivel-3.0.5/data/mime/Makefile.in0000644000175000017500000004513612161412430013635 00000000000000# Makefile.in generated by automake 1.13.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = data/mime DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \ $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(applicationsdir)" \ "$(DESTDIR)$(mimedir)" "$(DESTDIR)$(newmimedir)" DATA = $(applications_DATA) $(mime_DATA) $(newmime_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@ DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@ DLLTOOL = @DLLTOOL@ DOC_USER_FORMATS = @DOC_USER_FORMATS@ DRIVEL_CFLAGS = @DRIVEL_CFLAGS@ DRIVEL_LIBS = @DRIVEL_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCONFTOOL = @GCONFTOOL@ GCONF_REQUIRED = @GCONF_REQUIRED@ GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@ GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_VFS_REQUIRED = @GNOME_VFS_REQUIRED@ GREP = @GREP@ GTKSOURCEVIEW_REQUIRED = @GTKSOURCEVIEW_REQUIRED@ GTK_REQUIRED = @GTK_REQUIRED@ HELP_DIR = @HELP_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_REQUIRED = @LIBSOUP_REQUIRED@ LIBTOOL = @LIBTOOL@ LIBXML_REQUIRED = @LIBXML_REQUIRED@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OMF_DIR = @OMF_DIR@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ keys_in_files = drivel.keys.in keys_files = $(keys_in_files:.keys.in=.keys) xml_in_files = drivel.xml.in xml_files = $(xml_in_files:.xml.in=.xml) mimedir = $(datadir)/mime-info mime_DATA = $(keys_files) drivel.mime applicationsdir = $(datadir)/application-registry applications_DATA = drivel.applications newmimedir = $(datadir)/mime/packages newmime_DATA = $(xml_files) EXTRA_DIST = \ $(keys_in_files) \ $(mime_DATA) \ $(applications_DATA) \ $(xml_in_files) CLEANFILES = $(keys_files) $(xml_files) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/mime/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu data/mime/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-applicationsDATA: $(applications_DATA) @$(NORMAL_INSTALL) @list='$(applications_DATA)'; test -n "$(applicationsdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(applicationsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(applicationsdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(applicationsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(applicationsdir)" || exit $$?; \ done uninstall-applicationsDATA: @$(NORMAL_UNINSTALL) @list='$(applications_DATA)'; test -n "$(applicationsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(applicationsdir)'; $(am__uninstall_files_from_dir) install-mimeDATA: $(mime_DATA) @$(NORMAL_INSTALL) @list='$(mime_DATA)'; test -n "$(mimedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(mimedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(mimedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(mimedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(mimedir)" || exit $$?; \ done uninstall-mimeDATA: @$(NORMAL_UNINSTALL) @list='$(mime_DATA)'; test -n "$(mimedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(mimedir)'; $(am__uninstall_files_from_dir) install-newmimeDATA: $(newmime_DATA) @$(NORMAL_INSTALL) @list='$(newmime_DATA)'; test -n "$(newmimedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(newmimedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(newmimedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(newmimedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(newmimedir)" || exit $$?; \ done uninstall-newmimeDATA: @$(NORMAL_UNINSTALL) @list='$(newmime_DATA)'; test -n "$(newmimedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(newmimedir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(applicationsdir)" "$(DESTDIR)$(mimedir)" "$(DESTDIR)$(newmimedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-applicationsDATA install-mimeDATA \ install-newmimeDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-applicationsDATA uninstall-mimeDATA \ uninstall-newmimeDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: install-am install-data-am install-strip uninstall-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-applicationsDATA install-data \ install-data-am install-data-hook install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-mimeDATA \ install-newmimeDATA install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am \ uninstall-applicationsDATA uninstall-hook uninstall-mimeDATA \ uninstall-newmimeDATA @INTLTOOL_KEYS_RULE@ @INTLTOOL_XML_RULE@ install-data-hook: @HAVE_NEW_MIME_TRUE@ if test -z "$(DESTDIR)"; then \ @HAVE_NEW_MIME_TRUE@ $(UPDATE_MIME_DATABASE) "$(datadir)/mime"; \ @HAVE_NEW_MIME_TRUE@ fi uninstall-hook: @HAVE_NEW_MIME_TRUE@ if test -z "$(DESTDIR)"; then \ @HAVE_NEW_MIME_TRUE@ $(UPDATE_MIME_DATABASE) "$(datadir)/mime"; \ @HAVE_NEW_MIME_TRUE@ fi # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: drivel-3.0.5/data/mime/drivel.mime0000644000175000017500000000004211552103111013705 00000000000000application/x-drivel ext: drivel drivel-3.0.5/data/mime/drivel.keys.in0000644000175000017500000000053411552103111014344 00000000000000application/x-drivel description=Draft journal entry icon_filename=gnome-mime-application-x-drivel default_action_type=application category=Documents short_list_application_ids_for_novice_user_level=drivel short_list_application_ids_for_intermediate_user_level=drivel short_list_application_ids_for_advanced_user_level=drivel drivel-3.0.5/data/mime/drivel.xml.in0000644000175000017500000000055211552103111014171 00000000000000 <_comment>Draft journal entry drivel-3.0.5/data/mime/Makefile.am0000644000175000017500000000145011552103111013607 00000000000000keys_in_files = drivel.keys.in keys_files = $(keys_in_files:.keys.in=.keys) @INTLTOOL_KEYS_RULE@ xml_in_files = drivel.xml.in xml_files = $(xml_in_files:.xml.in=.xml) @INTLTOOL_XML_RULE@ mimedir = $(datadir)/mime-info mime_DATA = $(keys_files) drivel.mime applicationsdir = $(datadir)/application-registry applications_DATA = drivel.applications newmimedir = $(datadir)/mime/packages newmime_DATA = $(xml_files) EXTRA_DIST = \ $(keys_in_files) \ $(mime_DATA) \ $(applications_DATA) \ $(xml_in_files) CLEANFILES = $(keys_files) $(xml_files) install-data-hook: if HAVE_NEW_MIME if test -z "$(DESTDIR)"; then \ $(UPDATE_MIME_DATABASE) "$(datadir)/mime"; \ fi endif uninstall-hook: if HAVE_NEW_MIME if test -z "$(DESTDIR)"; then \ $(UPDATE_MIME_DATABASE) "$(datadir)/mime"; \ fi endif drivel-3.0.5/data/mime/drivel.keys0000644000175000017500000000053412161410740013745 00000000000000application/x-drivel description=Draft journal entry icon_filename=gnome-mime-application-x-drivel default_action_type=application category=Documents short_list_application_ids_for_novice_user_level=drivel short_list_application_ids_for_intermediate_user_level=drivel short_list_application_ids_for_advanced_user_level=drivel drivel-3.0.5/data/Makefile.am0000644000175000017500000000167211552103111012666 00000000000000SUBDIRS = mime desktopdir = $(datadir)/applications desktop_in_files = gnome-drivel.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) CLEANFILES = \ gnome-drivel.desktop \ drivel.schemas \ drivel.spec @INTLTOOL_DESKTOP_RULE@ schema_in_files = drivel.schemas.in schemadir = $(GCONF_SCHEMA_FILE_DIR) schema_DATA = $(schema_in_files:.schemas.in=.schemas) @INTLTOOL_SCHEMAS_RULE@ install-data-local: if GCONF_SCHEMAS_INSTALL if test -z "$(DESTDIR)"; then \ GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(schema_DATA); \ fi endif install-data-hook: if HAVE_NEW_DESKTOP if test -z "$(DESTDIR)"; then \ $(UPDATE_DESKTOP_DATABASE); \ fi endif uninstall-hook: if HAVE_NEW_DESKTOP if test -z "$(DESTDIR)"; then \ $(UPDATE_DESKTOP_DATABASE); \ fi endif EXTRA_DIST = \ $(schema_in_files) \ $(desktop_in_files) \ drivel.spec.in dist-hook: drivel.spec cp drivel.spec $(distdir) drivel-3.0.5/data/drivel.spec0000644000175000017500000000746512164124030013004 00000000000000%define name drivel %define version 3.0.5 %define release 1 %define prefix /usr %define sysconfdir /etc %define gettext_package drivel Summary: A journal or "blog" client Name: %{name} Version: %{version} Release: %{release} Epoch: 1 License: GPL Group: Applications Vendor: Dropline Systems Url: http://www.dropline.net/drivel Source: %{name}-%{version}.tar.bz2 Packager: Todd Kulesza BuildRoot: /var/tmp/%{name}-%{version}-root BuildRequires: scrollkeeper >= @SCROLLKEEPER_BUILD_REQUIRED@ Requires: glib2 >= 2.16.6 Requires: gtk2 >= 2.16.5 Prefix: %{prefix} %description Drivel is an advanced journal client for the GNOME desktop. It has been designed with usability in mind, and presents an elegant user interface. Supported journal types include LiveJournal, MovableType, Blogger, Atom, and Advogato. %prep %setup -q %build %configure --disable-schemas-install --disable-mime-update --disable-desktop-update make %install rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install # Remove the Shared MIME Database files, these need to be created after # package installation #/bin/rm -f %{buildroot}/%{_datadir}/mime/XMLnamespaces #/bin/rm -f %{buildroot}/%{_datadir}/mime/globs #/bin/rm -f %{buildroot}/%{_datadir}/mime/magic #/bin/rm -f %{buildroot}/%{_datadir}/mime/application/x-drivel.xml %clean rm -rf $RPM_BUILD_ROOT # Clean out files that should not be part of the rpm. # This is the recommended way of dealing with it for RH8 rm -rf $RPM_BUILD_ROOT/var/scrollkeeper/* %post export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` SCHEMAS="drivel.schemas" for S in $SCHEMAS; do gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/$S > /dev/null done if (update-mime-database -v &> /dev/null); then update-mime-database "%{_datadir}/mime" > /dev/null fi if which scrollkeeper-update > /dev/null 2>&1; then scrollkeeper-update -q -o %{_datadir}/omf/drivel fi if (update-desktop-database -v &> /dev/null); then update-desktop-database > /dev/null fi %postun if (update-mime-database -v &> /dev/null); then update-mime-database "%{_datadir}/mime" > /dev/null fi if which scrollkeeper-update > /dev/null 2>&1; then scrollkeeper-update -q fi if (update-desktop-database -v &> /dev/null); then update-desktop-database > /dev/null fi /bin/true ## for rpmlint, -p requires absolute path and is just dumb %files %defattr(-, root, root) %doc AUTHORS COPYING COPYING-DOCS ChangeLog NEWS README TODO %{_bindir}/drivel %{_datadir}/applications/gnome-drivel.desktop %{_datadir}/application-registry/drivel.applications %{_datadir}/drivel/glade/drivel.glade %{_datadir}/drivel/languages/livejournal.lang %{_datadir}/gnome/help/drivel/* %{_datadir}/icons/gnome/48x48/mimetypes/gnome-mime-application-x-drivel.png %{_datadir}/locale/* %{_datadir}/mime/packages/drivel.xml %{_datadir}/mime-info/drivel.keys %{_datadir}/mime-info/drivel.mime %{_datadir}/omf/drivel/drivel-C.omf %{_datadir}/pixmaps/drivel-48.png %{_datadir}/pixmaps/drivel/*.png %{_datadir}/pixmaps/drivel/*.xpm %config %{_sysconfdir}/gconf/schemas/* %changelog * Sun Jun 5 2005 Todd Kulesza - Update for Drivel 2.0. * Sun Jan 9 2005 Todd Kulesza - Don't run ldconfig after install, Drivel doesn't include libraries. * Sat Jan 8 2005 Todd Kulesza - Use the new --disable-mime-update and --disable-desktop-update parameters. * Mon Jan 3 2005 Todd Kulesza - Run update-desktop-database after installation. - Renamed the MIME icon and desktop entry. * Thu Nov 25 2004 Todd Kulesza - Fixed up the scrollkeeper install/uninstall code. * Sat Aug 28 2004 Todd Kulesza - Add a user manual. * Sat Jul 31 2004 Todd Kulesza - Add Shared MIME Database support. drivel-3.0.5/COPYING0000644000175000017500000004310311552103112010750 00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. drivel-3.0.5/depcomp0000755000175000017500000005601612155041134011306 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2013-05-30.07; # UTC # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by 'PROGRAMS ARGS'. object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac # Get the directory component of the given path, and save it in the # global variables '$dir'. Note that this directory component will # be either empty or ending with a '/' character. This is deliberate. set_dir_from () { case $1 in */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; *) dir=;; esac } # Get the suffix-stripped basename of the given path, and save it the # global variable '$base'. set_base_from () { base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` } # If no dependency file was actually created by the compiler invocation, # we still have to create a dummy depfile, to avoid errors with the # Makefile "include basename.Plo" scheme. make_dummy_depfile () { echo "#dummy" > "$depfile" } # Factor out some common post-processing of the generated depfile. # Requires the auxiliary global variable '$tmpdepfile' to be set. aix_post_process_depfile () { # If the compiler actually managed to produce a dependency file, # post-process it. if test -f "$tmpdepfile"; then # Each line is of the form 'foo.o: dependency.h'. # Do two passes, one to just change these to # $object: dependency.h # and one to simply output # dependency.h: # which is needed to avoid the deleted-header problem. { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" } > "$depfile" rm -f "$tmpdepfile" else make_dummy_depfile fi } # A tabulation character. tab=' ' # A newline character. nl=' ' # Character ranges might be problematic outside the C locale. # These definitions help. upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ lower=abcdefghijklmnopqrstuvwxyz digits=0123456789 alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Avoid interferences from the environment. gccflag= dashmflag= # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then # This is just like msvc7 but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvc7 fi if test "$depmode" = xlc; then # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. gccflag=-qmakedep=gcc,-MF depmode=gcc fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. ## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). Also, it might not be ## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The second -e expression handles DOS-style file names with drive # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. ## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ | tr "$nl" ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" ;; xlc) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done aix_post_process_depfile ;; tcc) # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 # FIXME: That version still under development at the moment of writing. # Make that this statement remains true also for stable, released # versions. # It will wrap lines (doesn't matter whether long or short) with a # trailing '\', as in: # # foo.o : \ # foo.c \ # foo.h \ # # It will put a trailing '\' even on the last line, and will use leading # spaces rather than leading tabs (at least since its commit 0394caf7 # "Emit spaces for -MD"). "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. # We have to change lines of the first kind to '$object: \'. sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" # And for each line of the second kind, we have to emit a 'dep.h:' # dummy dependency, to avoid the deleted-header problem. sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; ## The order of this option in the case statement is important, since the ## shell code in configure will try each of these formats in the order ## listed in this file. A plain '-MD' option would be understood by many ## compilers, so we must ensure this comes after the gcc and icc options. pgcc) # Portland's C compiler understands '-MD'. # Will always output deps to 'file.d' where file is the root name of the # source file under compilation, even if file resides in a subdirectory. # The object file name does not affect the name of the '.d' file. # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... set_dir_from "$object" # Use the source, not the object, to determine the base name, since # that's sadly what pgcc will do too. set_base_from "$source" tmpdepfile=$base.d # For projects that build the same source file twice into different object # files, the pgcc approach of using the *source* file root name can cause # problems in parallel builds. Use a locking strategy to avoid stomping on # the same $tmpdepfile. lockdir=$base.d-lock trap " echo '$0: caught signal, cleaning up...' >&2 rmdir '$lockdir' exit 1 " 1 2 13 15 numtries=100 i=$numtries while test $i -gt 0; do # mkdir is a portable test-and-set. if mkdir "$lockdir" 2>/dev/null; then # This process acquired the lock. "$@" -MD stat=$? # Release the lock. rmdir "$lockdir" break else # If the lock is being held by a different process, wait # until the winning process is done or we timeout. while test -d "$lockdir" && test $i -gt 0; do sleep 1 i=`expr $i - 1` done fi i=`expr $i - 1` done trap - 1 2 13 15 if test $i -le 0; then echo "$0: failed to acquire lock after $numtries attempts" >&2 echo "$0: check lockdir '$lockdir'" >&2 exit 1 fi if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in 'foo.d' instead, so we check for that too. # Subdirectories are respected. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then # Libtool generates 2 separate objects for the 2 libraries. These # two compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir$base.o.d # libtool 1.5 tmpdepfile2=$dir.libs/$base.o.d # Likewise. tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d "$@" -MD fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done # Same post-processing that is required for AIX mode. aix_post_process_depfile ;; msvc7) if test "$libtool" = yes; then showIncludes=-Wc,-showIncludes else showIncludes=-showIncludes fi "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The first sed program below extracts the file names and escapes # backslashes for cygpath. The second sed program outputs the file # name when reading, but also accumulates all include files in the # hold buffer in order to output them again at the end. This only # works with sed implementations that can handle large buffers. sed < "$tmpdepfile" -n ' /^Note: including file: *\(.*\)/ { s//\1/ s/\\/\\\\/g p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g s/\(.*\)/'"$tab"'\1 \\/p s/.\(.*\) \\/\1:/ H $ { s/.*/'"$tab"'/ G p }' >> "$depfile" echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; msvc7msys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this sed invocation # correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process the last invocation # correctly. Breaking it into two sed invocations is a workaround. sed '1,2d' "$tmpdepfile" \ | tr ' ' "$nl" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E \ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: drivel-3.0.5/config.sub0000755000175000017500000010530112152207225011706 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright 1992-2013 Free Software Foundation, Inc. timestamp='2013-04-24' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # Please send patches with a ChangeLog entry to config-patches@gnu.org. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*178) os=-lynxos178 ;; -lynx*5) os=-lynxos5 ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ | be32 | be64 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 \ | or1k | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; strongarm | thumb | xscale) basic_machine=arm-unknown ;; xgate) basic_machine=$basic_machine-unknown os=-none ;; xscaleeb) basic_machine=armeb-unknown ;; xscaleel) basic_machine=armel-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze*) basic_machine=microblaze-xilinx ;; mingw64) basic_machine=x86_64-pc os=-mingw64 ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i386-pc os=-msys ;; mvs) basic_machine=i370-ibm os=-mvs ;; nacl) basic_machine=le32-unknown os=-nacl ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; neo-tandem) basic_machine=neo-tandem ;; nse-tandem) basic_machine=nse-tandem ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos | rdos64) basic_machine=x86_64-pc os=-rdos ;; rdos32) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; strongarm-* | thumb-*) basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tile*) basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -bitrig* | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; hexagon-*) os=-elf ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or1k-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: drivel-3.0.5/po/0000755000175000017500000000000012164124030010414 500000000000000drivel-3.0.5/po/nl.po0000644000175000017500000007615611731016426011334 00000000000000# Dutch translation of drivel. # Copyright (C) 2004 Free Software Foundation, Inc. # This file is distributed under the same license as the drivel package. # Taco Witte , 2004, 2005. # Reinout van Schouwen , 2005 # msgid "" msgstr "" "Project-Id-Version: drivel HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2005-03-07 19:28+0100\n" "Last-Translator: \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "De aangemelde gebruiker." #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" "Een lijst van elke eerder gebruikte dagboekgebruikersnaam op dit systeem." #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "Het aantal lokaal opgeslagen stemmingen." #: ../data/drivel.schemas.in.h:4 #, fuzzy msgid "A list of moods for the drivel menu." msgstr "Een lijst van stemmingen voor het GtkCombo menu." #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Drivel dagboek-editor" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Dagboek-editor" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Uw on-line dagboek bijwerken en beheren" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Klad-dagboekaantekening" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "" "Taco Witte\n" "Reinout van Schouwen \n" "\n" "Kijk voor meer infoop http://nl.gnome.org/" #: ../src/about.c:85 msgid "With help from:" msgstr "Met hulp van:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "En veel anderen--allemaal bedankt!" #: ../src/about.c:102 #, fuzzy msgid "A journal client for the GNOME desktop." msgstr "Een LiveJournal-client voor de GNOME-werkomgeving." #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Serverfout" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "De server gaf geen geldig Atom-antwoord." #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "" #: ../src/blog_atom.c:411 #, fuzzy msgid "Error Posting Entry" msgstr "Aantekening _plaatsen" #: ../src/blog_lj.c:290 msgid "default" msgstr "standaard" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Geen" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Off-line" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Geen dagboekaantekeningen]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Systeemstandaard" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Ontbrekende gebruikersnaam" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Geef alstublieft een gebruikersnaam om toe te voegen." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Openbaar" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Privé" #: ../src/dialogs.c:809 msgid "Community" msgstr "Gemeenschap" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Samengestelde feed" #: ../src/dialogs.c:813 msgid "User" msgstr "Gebruiker" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Vriend toevoegen" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "Gebruikersnaam _vriend:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "_Tekstkleur:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "_Achtergrondkleur:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "Kon de bestandsbewerking niet uitvoeren" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "Kon het gekozen bestand niet openen" #: ../src/dialogs.c:1323 #, fuzzy msgid "Save the content of this journal entry instead of clearing?" msgstr "Wijzigingen aan deze dagboekaantekening opslaan alvorens te sluiten?" #: ../src/dialogs.c:1324 #, fuzzy msgid "If you don't save, content of this entry will be discarded." msgstr "" "Als u niet opslaat, worden wijzigingen aan deze aantekening weggegooid." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "Wijzigingen aan deze dagboekaantekening opslaan alvorens te sluiten?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "" "Als u niet opslaat, worden wijzigingen aan deze aantekening weggegooid." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Tijd" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Dagboekaantekening" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Type" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Verwijzing" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Gebruikersnaam" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Naam" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Een onvoltooide dagboekaantekening openen" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Andere gebruiker" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "Aantekening _wissen" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "_Voorkeuren" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "Verkeerd gespelde woorden _markeren" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "_Hulp" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "In_fo" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "O_nderwerp:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "_Veiligheid:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Stemming:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "_Muziek:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "Reacties uit_zetten" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "Gebruikers niet toestaan te reageren op deze aantekening" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "_Tekst niet automatisch opmaken" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "Niet automatisch regelafbrekingen of webverwijzingen omzetten naar HTML-tags" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "Na dat_um:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "Aantekening markeren als zijnde geplaatst op de gekozen datum" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "_Afbeelding:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "_Categorie:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Meer o_pties tonen" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "De gekozen aantekening verwijderen uit uw dagboek" #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "Klad op_slaan" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "" "De huidige aantekening opslaan zonder deze toe te voegen aan uw dagboek" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "_Bijwerken" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "De gekozen aantekening in uw dagboek bijwerken" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Plaatsen" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "De huidige aantekening plaatsen in uw dagboek" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Enquête invoegen" #: ../src/drivel-gtk.glade.h:35 #, fuzzy msgid "Poll _name (optional):" msgstr "Enquête_naam (optioneel):" #: ../src/drivel-gtk.glade.h:36 #, fuzzy msgid "Voter_s:" msgstr "_Stemmers:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Resultaten zichtbaar voor:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Vragen:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "_Vraag toevoegen" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "_Antwoord toevoegen" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Soort:" #: ../src/drivel-gtk.glade.h:43 #, fuzzy msgid "Qu_estion:" msgstr "_Vraag:" #: ../src/drivel-gtk.glade.h:44 #, fuzzy msgid "Text _field size (optional):" msgstr "Tekst_veld grootte (optioneel):" #: ../src/drivel-gtk.glade.h:45 #, fuzzy msgid "Maximum text _length (optional):" msgstr "Maximale tekst_lengte (optioneel):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_Van:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "Aan:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "_Door:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "_Antwoord:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "_Invoegen" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Drivel-voorkeuren" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr "Aantekening-gedrag" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Minimaliseren na _aanmelden" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "Automatisch dagboekvenster minimaliseren na aanmelden" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Minimaliseren na _plaatsen" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "Automatisch dagboekvenster minimaliseren na plaatsen van aantekening" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "_HTML in dagboekaantekening markeren" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "HTML-sleutelwoorden in andere kleuren weergeven dan gewone tekst" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Verkeerd gespelde _woorden markeren" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "" "Gemarkeerde woorden zijn niet gevonden in het woordenboek van uw computer" #: ../src/drivel-gtk.glade.h:61 #, fuzzy msgid "_Dictionary:" msgstr "Woordenboek:" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr "Mededelingengebied" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "Laten weten wanneer _vrienden zijn bijgewerkt" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Een waarschuwing geven wanneer uw vriendenpagina is bijgewerkt\n" "(Alleen voor betalende LiveJournal-gebruikers)" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr "Mededelingengebied" #: ../src/drivel-gtk.glade.h:67 #, fuzzy msgid "Notify _Technorati on updates" msgstr "Laten weten wanneer _vrienden zijn bijgewerkt" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Algemeen" #: ../src/drivel-gtk.glade.h:73 #, fuzzy msgid "Default Post Options" msgstr "Standaard plaatsingsopties" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "Niet automatisch regelafbrekingen omzetten naar HTML-tags" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Standaardinstellingen aantekening" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Aanmelden bij dagboek" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_Gebruikersnaam:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "Wa_chtwoord:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "Auto_matisch aanmelden" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "Wachtwoord o_nthouden" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "_Type dagboek:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "Server_adres:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "_Off-line werken" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "_Aanmelden" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Geschiedenis bewerken" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "Be_werken" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Vrienden bewerken" #: ../src/drivel-gtk.glade.h:88 #, fuzzy msgid "_View journal" msgstr "Dag_boek" #: ../src/drivel-gtk.glade.h:89 #, fuzzy msgid "Details" msgstr "Details" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Gebruikersnaam:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Type dagboek:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Tekstkleur:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Achtergrondkleur:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Kies een tekstkleur" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Kies een achtergrondkleur" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Verwijzing invoegen" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "_Tekst:" #: ../src/drivel-gtk.glade.h:99 #, fuzzy msgid "Create a link to..." msgstr "Een verwijzing maken naar..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "een _webstek op het Internet" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "_Locatie:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "een andere Live_Journal gebruiker" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "de _rest van deze aantekening" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "Verwijzing invoegen..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Afbeelding invoegen" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 #, fuzzy msgid "Attributes (Optional)" msgstr "Kenmerken (Optioneel)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Hoogte:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Breedte:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Beschrijving:" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "Afbeelding invoegen..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 #, fuzzy msgid "Security Groups" msgstr "_Veiligheid:" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "" #: ../src/drivel-gtk.glade.h:117 #, fuzzy msgid "Group Details" msgstr "Details" #: ../src/drivel-gtk.glade.h:118 #, fuzzy msgid "_Name:" msgstr "Naam" #: ../src/drivel-gtk.glade.h:119 #, fuzzy msgid "_Order" msgstr "_Aanbieder:" #: ../src/drivel-gtk.glade.h:120 #, fuzzy msgid "_Public" msgstr "Openbaar" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Alle gebruikers" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Vrienden" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Tekst" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Vervolgkeuzelijst" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Keuzerondje-selectie" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Aankruisvakje-selectie" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Tekstaantekening" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Schaal" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "" #: ../src/journal.c:324 #, fuzzy msgid "Refresh this list" msgstr "Ophalen van vriendenlijst" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "%s's dagboek - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "De %s-gemeenschap - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Off-line - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - Klad openen" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Alle XML-bestanden" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Klad opslaan" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Kies een dagboek-abonnement" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "Voorkeuren gelden voor elk abonnement apart, u dient dus uw abonnement te " "selecteren voordat u de voorkeuren ervan kunt bewerken." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Kies een dagboek om in te plaatsen" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "Dag_boek" #: ../src/journal.c:3374 msgid "_View" msgstr "Beel_d" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Opmaak" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "_Webverwijzingen" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "_Hulp" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "Klad _openen..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "Klad op_slaan" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Klad opslaan _als..." #: ../src/journal.c:3381 #, fuzzy msgid "_Recent Entries" msgstr "Aantekening _verwijderen" #: ../src/journal.c:3382 #, fuzzy msgid "Recent _Drafts" msgstr "Klad op_slaan" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "Aantekening _plaatsen" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "Aantekening _bijwerken" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "Aantekening _verwijderen" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "Af_melden" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "Aantekening _wissen" #: ../src/journal.c:3390 msgid "Select _All" msgstr "_Alles selecteren" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "_Laatste aantekening" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "De laatst door u geplaatste aantekening bewerken" #: ../src/journal.c:3393 msgid "_Friends" msgstr "_Vrienden" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Uw vriendenlijst bewerken" #: ../src/journal.c:3394 msgid "_History" msgstr "_Geschiedenis" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Een eerdere aantekening weergeven of bewerken" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "Actief _dagboek" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "Supe_rscript" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "Subs_cript" #: ../src/journal.c:3404 #, fuzzy msgid "Lis_t" msgstr "_Lijst" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "Lijst_element" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "I_nspringen" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Verwij_zing invoegen..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Een verwijzing naar een webstek, livejournal-gebruiker of andere " "dagboekaantekening maken" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "_Afbeelding invoegen..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Een afbeelding invoegen in uw dagboekaantekening" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "_Enquête invoegen..." #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "_Inhoud" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "In_fo" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Meer aantekenings_opties" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "Verkeerd gespelde woorden _markeren" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "_HTML markeren" #: ../src/login.c:504 msgid "Bad username" msgstr "Slechte gebruikersnaam" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Gebruikersnaam bevat ongeldige tekens." #: ../src/login.c:929 msgid "Remove Account" msgstr "Abonnement verwijderen" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Voorkeuren" #: ../src/login.c:1139 msgid "Drafts" msgstr "Kladaantekeningen" #: ../src/main.c:58 msgid "Error" msgstr "Fout" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "Oh nee, er is een serverfout. Probeer het alstublieft later opnieuw." #: ../src/main.c:351 #, fuzzy msgid "Friends Only" msgstr "Alleen-vrienden" #: ../src/main.c:767 #, fuzzy msgid "Display debugging output" msgstr "Weergegeven minuut" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "GConf init mislukt: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Kon GnomeVFS niet initialiseren!\n" #: ../src/network.c:64 #, fuzzy msgid "Done" msgstr "Geen" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "Downloaden van gebruikersafbeeldingen" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "Plaatsen dagboekaantekening" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "Bijwerken dagboekaantekening" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "Ophalen van dagboekaantekeningen" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "Ophalen van dagboekgeschiedenis" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "Bijwerken vriendenlijst" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "Ophalen van vriendenlijst" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "Ophalen van categorieën" #: ../src/network.c:118 msgid "Setting categories" msgstr "Instellen van categorieën" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "Publiceren van dagboekaantekening" #: ../src/network.c:128 #, fuzzy msgid "Deleting journal entry" msgstr "Plaatsen dagboekaantekening" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "" #: ../src/network.c:138 #, fuzzy msgid "Retrieving security groups" msgstr "Ophalen van categorieën" #: ../src/network.c:143 msgid "Updating security groups" msgstr "" #: ../src/network.c:315 msgid "Network connection failed" msgstr "" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Er staat geen muziek aan" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "_Vriendenpagina weergeven" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "_Verwijderen uit vak" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "" #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "" #~ "Wijzigingen aan deze dagboekaantekening opslaan alvorens verder te gaan?" #, fuzzy #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "Bijvoorbeeld: http://gnome.org/pic.png" #, fuzzy #~ msgid "Example: http://www.gnome.org" #~ msgstr "Bijvoorbeeld: http://www.gnome.org" #~ msgid "Retrieving user information" #~ msgstr "Ophalen van gebruikersinformatie" #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "We zijn iets aan het doen, maar wat precies is niet zeker" #~ msgid "Sending / Receiving" #~ msgstr "Verzenden / Ontvangen" #~ msgid "_Add..." #~ msgstr "_Toevoegen..." #~ msgid "_Edit..." #~ msgstr "_Bewerken..." #~ msgid "Save _Draft" #~ msgstr "Klad op_slaan" #~ msgid "_Don't Save" #~ msgstr "_Niet opslaan" #~ msgid "Image" #~ msgstr "Afbeelding" #~ msgid "Link" #~ msgstr "Verwijzing" #~ msgid "Display flags" #~ msgstr "Markeringsvlaggen weergeven" #~ msgid "Displayed date and/or time properties" #~ msgstr "Weergegeven datum- en/of tijdseigenschappen" #~ msgid "Lazy mode" #~ msgstr "Luie modus" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "Luie modus normaliseert de ingevoerde datum- en tijdswaarden niet" #~ msgid "Year" #~ msgstr "Jaar" #~ msgid "Displayed year" #~ msgstr "Weergegeven jaar" #~ msgid "Month" #~ msgstr "Maand" #~ msgid "Displayed month" #~ msgstr "Weergegeven maand" #~ msgid "Day" #~ msgstr "Dag" #~ msgid "Displayed day of month" #~ msgstr "Weergegeven dag van de maand" #~ msgid "Hour" #~ msgstr "Uur" #~ msgid "Displayed hour" #~ msgstr "Weergegeven uur" #~ msgid "Minute" #~ msgstr "Minuut" #~ msgid "Second" #~ msgstr "Seconde" #~ msgid "Displayed second" #~ msgstr "Weergegeven seconde" #~ msgid "Lower limit year" #~ msgstr "Limietjaar verlagen" #~ msgid "Year part of the lower date limit" #~ msgstr "Jaardeel van de datumondergrens" #~ msgid "Upper limit year" #~ msgstr "Limietjaar verhogen" #~ msgid "Year part of the upper date limit" #~ msgstr "Jaardeel van de datumbovengrens" #~ msgid "Lower limit month" #~ msgstr "Limietmaand verlagen" #~ msgid "Month part of the lower date limit" #~ msgstr "Maanddeel van de datumondergrens" #~ msgid "Upper limit month" #~ msgstr "Limietmaand verhogen" #~ msgid "Month part of the upper date limit" #~ msgstr "Maanddeel van de datumbovengrens" #~ msgid "Lower limit day" #~ msgstr "Limietdag verlagen" #~ msgid "Day of month part of the lower date limit" #~ msgstr "Dag van de maand-deel van de datumondergrens" #~ msgid "Upper limit day" #~ msgstr "Limietdag verhogen" #~ msgid "Day of month part of the upper date limit" #~ msgstr "Dag van de maand-deel van de datumbovengrens" #~ msgid "Lower limit hour" #~ msgstr "Limietuur verlagen" #~ msgid "Hour part of the lower time limit" #~ msgstr "Uurdeel van de tijdsondergrens" #~ msgid "Upper limit hour" #~ msgstr "Limietuur verhogen" #~ msgid "Hour part of the upper time limit" #~ msgstr "Uurdeel van de tijdsbovengrens" #~ msgid "Lower limit minute" #~ msgstr "Limietminuut verlagen" #~ msgid "Minute part of the lower time limit" #~ msgstr "Minuutdeel van de tijdsondergrens" #~ msgid "Upper limit minute" #~ msgstr "Limietminuut verhogen" #~ msgid "Minute part of the upper time limit" #~ msgstr "Minuutdeel van de tijdsbovengrens" #~ msgid "Lower limit second" #~ msgstr "Limietseconde verlagen" #~ msgid "Second part of the lower time limit" #~ msgstr "Secondedeel van de tijdsondergrens" #~ msgid "Upper limit second" #~ msgstr "Limietseconde verhogen" #~ msgid "Second part of the upper time limit" #~ msgstr "Secondedeel van de tijdsbovengrens" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:1" #~ msgid "Date" #~ msgstr "Datum" #~ msgid "Enter the date directly" #~ msgstr "Voer de datum direct in" #~ msgid "Select Date" #~ msgstr "Datum selecteren" #~ msgid "Select the date from a calendar" #~ msgstr "Selecteer de datum vanuit een kalender" #~ msgid "Enter the time directly" #~ msgstr "Voer de tijd direct in" #~ msgid "Select Time" #~ msgstr "Tijd selecteren" #~ msgid "Select the time from a list" #~ msgstr "Selecteer de tijd vanuit een lijst" #~ msgid "24hr: no" #~ msgstr "24hr: yes" #~ msgid "AM" #~ msgstr "AM" #~ msgid "PM" #~ msgstr "PM" #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%02d:%02d:%02d %s" #~ msgid "%02d:%02d %s" #~ msgstr "%02d:%02d %s" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d:%02d:%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d:%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d-%02d-%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "Oriëntatie" #~ msgid "The orientation of the tray." #~ msgstr "De oriëntatie van het vak." #~ msgid "Communication Error" #~ msgstr "Communicatiefout" #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "" #~ "Er was een probleem bij het verzenden van informatie naar de server. " #~ "Probeer het later nog eens." #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "" #~ "Er was een probleem bij het ontvangen van informatie van de server. " #~ "Probeer het later nog eens." #~ msgid "Sign _Up..." #~ msgstr "_Lid worden..." #~ msgid "What's a LiveJournal?" #~ msgstr "Wat is een LiveJournal?" #~ msgid "Invalid journal server" #~ msgstr "Ongeldige dagboekserver" #~ msgid "Please enter a journal server address." #~ msgstr "Geef alstublieft een dagboekserver-adres." #~ msgid "Custom..." #~ msgstr "Aangepast..." #~ msgid "*" #~ msgstr "*" #~ msgid "Journal Server" #~ msgstr "Dagboekserver" #~ msgid "Server Options" #~ msgstr "Server opties" #~ msgid "DYNAMIC" #~ msgstr "DYNAMISCH" #~ msgid "Display a journal update alert in the notification area" #~ msgstr "" #~ "Een dagboekbijwerkingswaarschuwing weergeven in het mededelingengebied" #~ msgid "Enable _tray icon" #~ msgstr "_Systeemvakpictogram aan zetten" #~ msgid "Network" #~ msgstr "Netwerk" #~ msgid "_Traditional (POST) interface" #~ msgstr "_Traditionele (POST) interface" #~ msgid "_XML-RPC interface" #~ msgstr "_XML-RPC interface" #~ msgid "You must enter your username first." #~ msgstr "U dient eerst uw gebruikersnaam in te voeren." #~ msgid "_Show Entry" #~ msgstr "Aantekening _weergeven" drivel-3.0.5/po/ChangeLog0000644000175000017500000005261311552103112012113 000000000000002010-11-14 muflone * it.po: Updated Italian translation. 2010-09-21 Mario Blättermann * de.po: Updated German translation. 2010-07-21 Pendalf * ru.po: Add Transifex update to Russian. 2010-05-12 Neil Williams * *.po: Update for missing toolbar tooltip messages. 2010-05-05 Veeven * LINGUAS: Add te. * te.po: e-Telugu translation. 2010-03-08 Hector Oron * ca.po: Updated Catalan translation. 2009-11-13 Vincenzo Campanella * it.po: Updated Italian translation. 2009-10-03 Yavor Doganov * bg.po: Updated Bulgarian translation. 2009-09-30 A S Alam * pa.po: Updated Punjabi translation. 2009-09-14 Dibyendra Hyoju * ne.po: Updated Nepali translation. 2009-09-10 Francisco Javier Cuadrado * es.po : Updated Spanish translation. 2009-09-10 Yuri Kozlov * ru.po : Updated Russian translation. 2009-09-09 Kostas Papadimas * el.po : Updated Greek translation. 2009-09-08 Satoru SATOH * ja.po: Updated Japanese translation. 2009-09-03 Mario Blättermann * de.po: Updated German translation. 2009-09-01 Daniel Nylander * sv.po: Updated Swedish translation. 2009-08-25 Neil Williams * Update all PO files for latest changes. 2009-08-19 Neil Williams * POTFILES.in: * POTFILES.skip: Remove libegg and move to GtkBuilder (Closes #135544) 2008-12-20 Mario Blättermann * de.po: Updated German translation 2008-09-21 Theppitak Karoonboonyanan * th.po: Updated Thai translation. 2008-09-16 Theppitak Karoonboonyanan * th.po: Updated Thai translation. 2008-09-16 Theppitak Karoonboonyanan * th.po: Added Thai translation by Chanin Tanaponvisal. 2008-05-07 Petr Kovar * cs.po: Fixed Czech translation by Lucas Lommer (bug #517967). 2008-02-14 Pawan Chitrakar * ne.po: Updated Nepali Translation. 2007-12-31 Yannig Marchegay * oc.po: Updated Occitan translation. 2007-11-30 Kostas Papadimas * el.po: Updated Greek translation by MPELLAS MICHAIL . 2007-11-21 Yannig Marchegay * oc.po: Updated Occitan translation 2007-09-14 Clytie Siddall * vi.po: Updated Vietnamese translation. 2007-09-07 Ilkka Tuohela * fi.po: Updated Finnish translation. 2007-07-23 Satoru SATOH * ja.po: Updated Japanese translation. 2007-04-21 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2007-04-14 Djihed Afifi * ar.po: Updated Arabic Translation by Djihed Afifi. 2007-03-24 Stéphane Raimbault * fr.po: 2007-03-24 Stéphane Raimbault * fr.po: Updated French translation by Jonathan Ernst and Claude Paroz. 2007-03-19 Pema Geyleg * dz.po: Added dzongkha translation 2007-03-12 David Lodge * en_GB.po: Updated English (British) translation 2007-01-13 Raphael Higino * pt_BR.po: Updated Brazilian Portuguese translation. 2006-12-11 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2006-12-10 Daniel Nylander * sv.po: Updated Swedish translation. 2006-12-05 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2006-11-18 Djihed Afifi * ar.po: Added Arabic Translation. * LINGUAS: Added ar. 2006-11-04 Daniel Nylander * sv.po: Updated Swedish translation. 2006-10-22 Ilkka Tuohela * fi.po: Updated Finnish translation. 2006-10-15 Abel Cheung * zh_HK.po: Updated Chinese (Hong Kong) translation. * zh_TW.po: Updated Chinese (Taiwan) translation. 2006-10-06 Alexander Shopov * bg.po: Updated Bulgarian translation by Yavor Doganov 2006-09-25 Pawan Chitrakar * ne.po: Updated Nepali Translation 2006-09-12 David Lodge * en_GB.po: Updated English (British) translation 2006-09-12 Kostas Papadimas * el.po: Fixed typos by Dimitris Glezos 2006-08-28 Abel Cheung * zh_TW.po: Updated Chinese (Taiwan) translation. * zh_HK.po: New Chinese (Hong Kong) translation. 2006-08-21 Clytie Siddall * vi.po: Updated Vietnamese translation. 2006-08-21 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2006-08-16 Ilkka Tuohela * fi.po: Updated Finnish translation. 2006-08-07 Daniel Nylander * sv.po: Updated Swedish translation. 2006-07-28 Christophe Merlet * fr.po: Updated French translation from Jonathan Ernst . 2006-07-12 Valek Filippov * ru.po: Added russian translation. 2006-05-25 Clytie Siddall * vi.po: Updated Vietnamese translation. 2006-05-24 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2006-05-08 Daniel Nylander * sv.po: Updated Swedish translation. 2006-05-06 Ilkka Tuohela * fi.po: Updated Finnish translation. 2006-04-12 Daniel Nylander * sv.po: Updated Swedish translation 2006-03-19 Ilkka Tuohela * fi.po: Added Finnish translation. 2006-02-03 Clytie Siddall * vi.po: Added Vietnamese translation. 2006-01-29 Josep Puigdemont i Casamajó * ca.po: Added Catalan translation, by Gil Forcada 2005-11-11 Žygimantas Beručka * lt.po: Added Lithuanian translation. 2005-11-02 Alexander Shopov * bg.po: Updated Bulgarian translation by Yavor Doganov 2005-10-29 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2005-10-24 Funda Wang * zh_CN.po: Updated Simplified Chinese translation. 2005-10-16 Funda Wang * zh_CN.po: Updated Simplified Chinese translation. 2005-08-24 Pawan Chitrakar * ne.po: Nepali Translation Added 2005-08-01 Vincent van Adrighem * nl.po: Translation updated. 2005-07-21 Frank Arnold * de.po: Updated German translation. 2005-07-10 Miloslav Trmac * cs.po: Updated Czech translation. 2005-07-03 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2005-06-12 Miloslav Trmac * cs.po: Updated Czech translation. 2005-06-11 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2005-06-04 Francisco Javier F. Serrador * es.po: Updated Spanish tranlation. 2005-06-04 Frank Arnold * de.po: Updated German translation. 2005-06-03 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2005-06-03 Alexander Shopov * bg.po: Added Bulgarian translation by Yavor Doganov 2005-06-02 Christian Rose * sv.po: Updated Swedish translation. 2005-06-01 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2005-05-31 Funda Wang * zh_CN.po: Updated Simplified Chinese translation. 2005-05-29 Miloslav Trmac * cs.po: Updated Czech translation. 2005-05-26 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2005-05-23 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2005-05-22 Miloslav Trmac * cs.po: Updated Czech translation. 2005-05-20 Frank Arnold * de.po: Updated German translation. 2005-05-19 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2005-05-18 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2005-05-15 Kostas Papadimas * el.po: Added Greek translation 2005-05-12 Miloslav Trmac * cs.po: Updated Czech translation. 2005-04-30 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2005-04-01 Steve Murphy * rw.po: Added Kinyarwanda translation. 2005-03-16 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2005-03-07 Vincent van Adrighem * nl.po: Translation updated by Taco Witte. 2005-02-15 David Lodge * en_GB.po: Update English (British) translation. 2005-01-20 Miloslav Trmac * cs.po: Updated Czech translation. 2005-01-17 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2005-01-17 Frank Arnold * de.po: Updated German translation. 2005-01-16 Miloslav Trmac * cs.po: Updated Czech translation. 2005-01-13 Alexander Winston * en_CA.po: Updated Canadian English translation. 2005-01-12 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2005-01-11 Frank Arnold * de.po: Updated German translation. 2005-01-11 Frank Arnold * de.po: Updated German translation. 2005-01-10 Frank Arnold * de.po: Updated German translation. 2005-01-10 Vincent van Adrighem * nl.po: Translation updated by Reinout van Schouwen. 2005-01-09 Vincent van Adrighem * nl.po: Translation updated by Reinout van Schouwen. 2004-12-29 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-11-23 Christian Rose * POTFILES.in: Sorted and added missing file. * sv.po: Updated Swedish translation by Isak Savo . 2004-11-18 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-11-15 Satoru SATOH * ja.po: Update 2004-10-08 Kjartan Maraas * POTFILES.in: Shift around so it works * nb.po: Add. * no.po: Update. 2004-09-07 David Lodge * en_GB.po: Updated British translation. 2004-09-05 Funda Wang * zh_CN.po: Updated Simplified Chinese translation. 2004-09-05 Miloslav Trmac * cs.po: Updated Czech translation. 2004-09-05 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-09-05 Francisco Javier F. Serrador * es.po: Updated Spanih translation. 2004-09-03 Laurent Dhima * sq.po: Updated Albanian translation. 2004-09-01 Miloslav Trmac * cs.po: Updated Czech translation. 2004-09-01 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-08-31 Estêvão Samuel Procópio pt_BR.po: Updated Brazilian Portuguese translation. 2004-08-30 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-08-30 Miloslav Trmac * cs.po: Updated Czech translation. 2004-08-28 Miloslav Trmac * cs.po: Updated Czech translation. 2004-08-28 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-08-28 Vincent van Adrighem * nl.po: Translation updated by Elros Cyriatan. 2004-08-26 Vincent van Adrighem * nl.po: Translation updated by Elros Cyriatan. 2004-08-20 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2004-08-20 Laurent Dhima * sq.po: Updated Albanian translation. 2004-08-18 Estêvão Samuel Procópio * pt_BR.po: Updated Brazilian Portuguese translation. 2004-08-18 Miloslav Trmac * cs.po: Updated Czech translation. 2004-08-18 Laurent Dhima * sq.po: Updated Albanian translation. 2004-08-16 Duarte Loreto * pt.po: Updated Portuguese translation. 2004-08-14 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-08-13 Christian Rose * sv.po: Updated Swedish translation. 2004-08-13 Duarte Loreto * pt.po: Updated Portuguese translation. 2004-08-13 Funda Wang * zh_CN.po: Updated Simplified Chinese translation. 2004-08-13 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-08-12 Gustavo Maciel Dias Vieira * pt_BR.po: Updated Brazilian Portuguese translation done by Raphael Higino . 2004-08-12 Miloslav Trmac * cs.po: Updated Czech translation. 2004-08-11 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-08-10 Estêvão Samuel Procópio * pt_BR.po: Updated Brazilian Portuguese translation. 2004-08-09 David Lodge * en_GB.po: Updated British English translation. 2004-08-09 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-08-08 Miloslav Trmac * cs.po: Updated Czech translation. 2004-08-08 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-08-07 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-08-06 Miloslav Trmac * cs.po: Updated Czech translation. 2004-08-05 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-08-04 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2004-08-04 David Lodge * en_GB.po: Updated British translation. 2004-08-04 Miloslav Trmac * cs.po: Updated Czech translation. 2004-08-03 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-08-02 Miloslav Trmac * cs.po: Updated Czech translation. 2004-08-01 David Lodge * en_GB.po: Updated British translation. 2004-07-31 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2004-07-31 David Lodge * en_GB.po: Updated British translation. 2004-07-29 Miloslav Trmac * cs.po: Updated Czech translation. 2004-07-29 Laurent Dhima * sq.po: Updated Albanian translation. 2004-07-29 Kjartan Maraas * no.po: Updated Norwegian translation. 2004-07-28 Gustavo Maciel Dias Vieira * pt_BR.po: Updated Brazilian Portuguese translation done by Raphael Higino . 2004-07-28 Laurent Dhima * sq.po: Updated Albanian translation. 2004-07-27 David Lodge * en_GB.po: Updated British translation. 2004-07-27 Miloslav Trmac * cs.po: Updated Czech translation. 2004-07-13 Francisco Javier F. Serrador * es.po: Updated Spanish translation. 2004-07-07 Laurent Dhima * sq.po: Updated Albanian translation. 2004-07-01 Laurent Dhima * sq.po: Translation added. 2004-06-29 Gareth Owen * en_GB.po: Updated British English translations by David Lodge 2004-06-25 Miloslav Trmac * cs.po: Updated Czech translation. 2004-06-24 Gustavo Maciel Dias Vieira * pt_BR.po: Updated Brazilian Portuguese translation done by Raphael Higino . 2004-06-21 Gustavo Noronha Silva * pt_BR.po: translation update by "Raphael Higino" 2004-06-21 Miloslav Trmac * cs.po: Updated Czech translation. 2004-06-20 Gareth Owen * en_GB.po: Updated British English translation 2004-06-20 Miloslav Trmac * cs.po: Updated Czech translation. 2004-06-18 Miloslav Trmac * cs.po: Updated Czech translation. 2004-06-17 Gustavo Maciel Dias Vieira * pt_BR.po: Updated Brazilian Portuguese translation done by Raphael Higino . 2004-06-10 Miloslav Trmac * cs.po: Updated Czech translation. 2004-06-01 Christian Neumair * de.po: Added German translation by Dominique Schramm . 2004-05-30 Francisco Javier F. Serrador * es.po: Added Spanish translation. 2004-05-24 Alexander Winston * en_CA.po: Updated Canadian English translation. 2004-05-18 Gareth Owen * en_GB.po: Updated British English translation 2004-05-17 Gustavo Maciel Dias Vieira * pt_BR.po: Updated Brazilian Portuguese translation done by Raphael Higino . 2004-05-17 Funda Wang * zh_CN.po: Added Simplified Chinese translation. 2004-05-16 Christian Rose * sv.po: Updated Swedish translation. 2004-05-16 Duarte Loreto * pt.po: Updated Portuguese translation. 2004-05-15 Miloslav Trmac * cs.po: Updated Czech translation. 2004-05-10 Miloslav Trmac * cs.po: Updated Czech translation. 2004-05-08 Gustavo Noronha Silva * pt_BR.po: translation update done by "Raphael Higino" 2004-05-07 Miloslav Trmac * cs.po: Updated Czech translation. 2004-05-04 Gustavo Maciel Dias Vieira * pt_BR.po: Updated Brazilian Portuguese translation done by Raphael Higino . 2004-04-30 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-04-30 Miloslav Trmac * cs.po: Updated Czech translation. 2004-04-30 Gareth Owen * en_GB.po: Updated British English translation 2004-04-29 Miloslav Trmac * cs.po: Updated Czech translation. 2004-04-28 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-04-28 Miloslav Trmac * cs.po: Updated Czech translation. 2004-04-27 Gareth Owen * en_GB.po: Updated British English translation 2004-04-27 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-04-26 Miloslav Trmac * cs.po: Updated Czech translation. 2004-04-26 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-04-12 Gareth Owen * en_GB.po: Updated British English translation 2004-04-10 Vincent van Adrighem * nl.po: Translation updated. 2004-04-08 Adam Weinberger * en_CA.po: Updated Canadian English translation. 2004-04-07 Evandro Fernandes Giovanini * pt_BR.po: Updated Brazilian Portuguese translation from Raphael Higino . 2004-04-07 Miloslav Trmac * cs.po: Updated Czech translation. 2004-04-04 Evandro Fernandes Giovanini * pt_BR.po: Added Brazilian Portuguese translation from Raphael Higino . 2004-04-01 Gareth Owen * en_GB.po: Added British English translation 2004-03-22 Duarte Loreto * pt.po: Added Portuguese translation. 2004-03-10 Kjartan Maraas * no.po: Added Norwegian translation from Terance Edward Sola . Whee! 2004-03-05 Vincent van Adrighem * nl.po: Translation updated. 2004-03-05 Vincent van Adrighem * nl.po: Translation added. 2004-03-01 Christian Rose * sv.po: Updated Swedish translation. 2004-03-01 Danilo Šegan * sr.po, sr@Latn.po: Updated Serbian translation. 2004-03-01 Miloslav Trmac * cs.po: Added Czech translation. 2004-02-28 Adam Weinberger * en_CA.po: Added Canadian English translation. 2004-02-27 Danilo Šegan * sr.po, sr@Latn.po: Added Serbian translation. 2004-02-27 Christian Rose * sv.po: Updated Swedish translation. 2004-02-26 Christian Rose * .cvsignore: Added this. * sv.po: Added Swedish translation. drivel-3.0.5/po/zh_TW.po0000644000175000017500000007253311731016427011752 00000000000000# Chinese (Taiwan) translation of drivel. # Copyright (C) 2005,06 Free Software Foundation, Inc. # Abel Cheung , 2005, 06. # msgid "" msgstr "" "Project-Id-Version: drivel 2.0.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2006-10-14 23:00+0800\n" "Last-Translator: Abel Cheung \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "目前已經登入的使用者。" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "曾經用這部電腦張貼過網誌的所有使用者名稱。" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "在本機儲存的表情圖示。" #: ../data/drivel.schemas.in.h:4 #, fuzzy msgid "A list of moods for the drivel menu." msgstr "一系列 GtkCombo 選單中所顯示的表情。" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Drivel 網誌編輯器" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "網誌編輯器" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "更新和管理網誌" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "網誌草稿" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "" "如對翻譯有任何意見,請送一封電子郵件給\n" "以下地址,GNOME 翻譯團隊會盡快回覆您:\n" "Abel Cheung , 2005" #: ../src/about.c:85 msgid "With help from:" msgstr "由以下人士協助:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "還有很多,不勝枚舉 — 感謝各位!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "適用於 GNOME 桌面的網誌撰寫程式。" #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "伺服器錯誤" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "伺服器沒有回傳正確的 Atom 回應。" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "" #: ../src/blog_atom.c:411 #, fuzzy msgid "Error Posting Entry" msgstr "張貼文章(_P)" #: ../src/blog_lj.c:290 msgid "default" msgstr "預設" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "無" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "離線" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[沒有任何網誌文章]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "系統預設值" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "缺少了使用者名稱" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "請輸入使用者名稱。" #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "公眾" # zh_HK: msgstr "私人" # zh_TW: msgstr "個人" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "個人" #: ../src/dialogs.c:809 msgid "Community" msgstr "社群" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "" #: ../src/dialogs.c:813 msgid "User" msgstr "使用者" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "加入網友" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "網友名稱(_F):" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "文字顏色(_T):" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "背景顏色(_B):" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "無法進行有關檔案的操作" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "無法開啟指定的檔案" #: ../src/dialogs.c:1323 #, fuzzy msgid "Save the content of this journal entry instead of clearing?" msgstr "關閉前是否儲存網誌內容?" #: ../src/dialogs.c:1324 #, fuzzy msgid "If you don't save, content of this entry will be discarded." msgstr "如果不儲存的話,這篇網誌變更過的內容會被捨棄。" #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "關閉前是否儲存網誌內容?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "如果不儲存的話,這篇網誌變更過的內容會被捨棄。" #: ../src/dialogs.c:1442 msgid "Time" msgstr "時間" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "網誌項目" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "類型" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "鏈結" #: ../src/dialogs.c:1542 msgid "Username" msgstr "使用者名稱" #: ../src/dialogs.c:1552 msgid "Name" msgstr "名稱" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "屬於群組" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "開啟未寫完的網誌" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "變更帳戶名稱" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "清除內容(_L)" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "偏好設定(_P)" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "突顯錯字(_S)" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "求助(_H)" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "關於(_A)" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "主旨(_S):" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "安全(_Y):" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "心情(_M):" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "音樂(_U):" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "不允許回應(_N)" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "不允許別人對這篇文章發表意見" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "不會自動將文字格式化(_T)" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "不會自動採用 HTML 標記來表示換行或網站鏈結" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "張貼日期(_A):" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "將這一篇網誌標記為在指定時間張貼" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "圖片(_R):" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "分類(_T):" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "顯示進階選項(_O)" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "刪除網誌中的指定文章。" #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "儲存草稿(_S)" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "儲存目前的內容但不張貼至網站" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "更新(_P)" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "更新網誌中的指定文章。" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "張貼(_P)" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "將內容張貼至網誌" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "加入投票" #: ../src/drivel-gtk.glade.h:35 #, fuzzy msgid "Poll _name (optional):" msgstr "投票主題 [可以不填] (_N):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "投票者(_S):" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "投票結果顯示給(_R):" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "問題:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "加入答案選擇(_Q)" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "加入問題(_A)" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "類型(_T):" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "問題(_E):" #: ../src/drivel-gtk.glade.h:44 #, fuzzy msgid "Text _field size (optional):" msgstr "文字欄位大小 [可以不填] (_F):" #: ../src/drivel-gtk.glade.h:45 #, fuzzy msgid "Maximum text _length (optional):" msgstr "最長字數 [可以不填] (_L):" # (Abel) When selecting poll type, choose "scale", you will see # From: To: By: #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "由(_F):" # (Abel) When selecting poll type, choose "scale", you will see # From: To: By: #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "至:" # (Abel) When selecting poll type, choose "scale", you will see # From: To: By: #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "間隔(_B):" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "答案(_W):" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "加入(_I)" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Drivel 偏好設定" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr "輸入視窗運作方式" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "登入後將視窗最小化(_L)" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "登入後自動將視窗最小化" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "張貼後將視窗最小化(_P)" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "張貼文章後自動將視窗最小化" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "在網誌中突顯 _HTML" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "顯示 HTML 標記時使用不同於內文的顏色" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "突顯錯字(_W)" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "突顯電腦字典中沒有的字" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "字典(_D):" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr "程式狀態通知區" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "網友的網誌更新時通知我(_F)" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "當網友更新頁面時通知您\n" "(僅收費帳號適用)" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr "出版" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "更新時通知 _Technorati" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "向網誌搜尋器 Technorati 通知您寫了新的網誌" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "一般" #: ../src/drivel-gtk.glade.h:73 #, fuzzy msgid "Default Post Options" msgstr "預設張貼文章選項" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "不會自動採用 HTML 標記來表示換行" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "網誌登入" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "使用者名稱(_U):" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "密碼(_P):" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "自動登入(_A)" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "記住密碼(_R)" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "網誌類型(_T):" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "伺服器位址(_S):" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "離線作業(_O)" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "登入(_L)" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "編輯紀錄" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "編輯(_E)" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "編輯網友清單" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "閱讀網誌(_V)" #: ../src/drivel-gtk.glade.h:89 #, fuzzy msgid "Details" msgstr "詳細資料" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "使用者名稱:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "網誌類型:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "文字顏色:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "背景顏色:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "選擇文字顏色" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "選擇背景顏色" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "插入連結" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "文字(_T):" #: ../src/drivel-gtk.glade.h:99 #, fuzzy msgid "Create a link to..." msgstr "產生鏈結至…" #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "某個網站(_S)" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "位置(_L):" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "另一個 Live_Journal 用家" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "這篇網誌其餘的部份(_R)" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "插入鏈結…" #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "插入圖片" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 #, fuzzy msgid "Attributes (Optional)" msgstr "屬性 (可以不填)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "高度(_H):" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "寬度(_W):" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "說明(_D):" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "插入圖片…" #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "安全群組" #: ../src/drivel-gtk.glade.h:116 #, fuzzy msgid "Groups" msgstr "屬於群組" #: ../src/drivel-gtk.glade.h:117 #, fuzzy msgid "Group Details" msgstr "群組詳細資料" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "名稱(_N):" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "次序(_O)" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "公眾(_P)" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "所有使用者" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "網友" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "文字" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "下拉式選單" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "單選按鈕" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "核選方塊" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "文字欄位" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "數值選擇杆" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "開啟並編輯這篇網誌" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "更新這個清單" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "%s 的網誌 - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "%s 社群 — drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "離線作業 - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - 開啟草稿" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "所有 XML 檔案" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - 儲存草稿" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "請選擇網誌帳戶" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "每個帳戶都有獨立的偏好設定,因此在修改偏好設定前,請先選擇帳戶。" #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "選擇準備張貼的網誌" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "網誌(_J)" #: ../src/journal.c:3374 msgid "_View" msgstr "顯示(_V)" #: ../src/journal.c:3375 msgid "_Format" msgstr "格式(_F)" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "網站鏈結(_W)" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "求助(_H)" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "開啟草稿(_O)…" #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "儲存草稿(_S)" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "另存草稿為(_A)…" #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "最近的文章(_R)" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "最近的草稿(_D)" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "張貼文章(_P)" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "更新文章(_U)" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "刪除文章(_D)" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "登出(_L)" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "清除內容(_L)" #: ../src/journal.c:3390 msgid "Select _All" msgstr "全部選取(_A)" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "最後一份文章(_E)" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "編輯最後張貼過的文章" #: ../src/journal.c:3393 msgid "_Friends" msgstr "網友(_F)" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "編輯網友清單" #: ../src/journal.c:3394 msgid "_History" msgstr "紀錄(_H)" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "觀看或修改過往的網誌內容" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "指定哪些人可以讀取您張貼的內容" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "使用網誌分類(_J)" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "上標(_R)" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "下標(_C)" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "清單(_T)" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "清單項目(_M)" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "縮排(_N)" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "插入鏈結(_L)…" #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "建構鏈結連接另一個網站、另一個 livejournal 使用者或者一篇較長的網誌文章" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "插入圖片(_G)…" #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "在網誌內容中加插圖片" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "加入投票(_P)…" #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "內容(_C)" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "常見問答(_F)" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "關於(_A)" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "額外內容選項(_O)" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "突顯錯字(_S)" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "突顯 _HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "使用者名稱錯誤" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "使用者名稱中有不正當的字元。" #: ../src/login.c:929 msgid "Remove Account" msgstr "刪除戶口" #: ../src/login.c:931 msgid "_Preferences" msgstr "偏好設定(_P)" #: ../src/login.c:1139 msgid "Drafts" msgstr "草稿" #: ../src/main.c:58 msgid "Error" msgstr "錯誤" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "伺服器發生錯誤,請稍後再試。" #: ../src/main.c:351 msgid "Friends Only" msgstr "僅限網友" #: ../src/main.c:767 #, fuzzy msgid "Display debugging output" msgstr "顯示的分鐘數目" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "無法初始化 GConf:%s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "無法初始化 GnomeVFS!\n" #: ../src/network.c:64 #, fuzzy msgid "Done" msgstr "無" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "正在下載代表使用者的圖片" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "張貼網誌文章" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "更新網誌文章" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "下載網誌文章" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "下載網誌紀錄" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "更新網友清單" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "下載網友清單" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "下載網誌分類" #: ../src/network.c:118 msgid "Setting categories" msgstr "設定網誌分類" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "張貼網誌" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "刪除網誌文章" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "通知 Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "正在讀取安全群組" #: ../src/network.c:143 msgid "Updating security groups" msgstr "正在更新安全群組" #: ../src/network.c:315 msgid "Network connection failed" msgstr "" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "沒有播放樂曲" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "觀看網友的網誌(_V)" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "從系統匣中移除(_R)" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "未命名" #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "繼續之前是否儲存網誌內容?" #, fuzzy #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "範例: http://gnome.org/pic.png" #, fuzzy #~ msgid "Example: http://www.gnome.org" #~ msgstr "範例: http://www.gnome.org" #~ msgid "Retrieving user information" #~ msgstr "下載使用者資訊" # (Abel) 這句很扺死 #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "正在進行不明的動作" #~ msgid "Sending / Receiving" #~ msgstr "送出 / 接收資料" #~ msgid "_Add..." #~ msgstr "增加(_A)…" #~ msgid "_Edit..." #~ msgstr "編輯(_E)…" #~ msgid "Save _Draft" #~ msgstr "儲存草稿(_D)" #~ msgid "_Don't Save" #~ msgstr "不儲存(_D)" #~ msgid "Groups" #~ msgstr "群組" #~ msgid "Image" #~ msgstr "圖片" #~ msgid "Link" #~ msgstr "鏈結" # (Abel) 英文完全一團糟,幸好不會顯示出來 #~ msgid "Display flags" #~ msgstr "時間顯示模式" # (Abel) 英文完全一團糟,幸好不會顯示出來 #~ msgid "Displayed date and/or time properties" #~ msgstr "顯示日期及/或時間的格式" #~ msgid "Lazy mode" #~ msgstr "容錯模式" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "在容錯模式中,所輸入的時間值如果超出範圍的話不會自動修正" #~ msgid "Year" #~ msgstr "年份" #~ msgid "Displayed year" #~ msgstr "顯示的年份" #~ msgid "Month" #~ msgstr "本月" #~ msgid "Displayed month" #~ msgstr "顯示的月份" #~ msgid "Day" #~ msgstr "日" #~ msgid "Displayed day of month" #~ msgstr "顯示的日數部份" #~ msgid "Hour" #~ msgstr "時" #~ msgid "Displayed hour" #~ msgstr "顯示的小時數目" #~ msgid "Minute" #~ msgstr "分" #~ msgid "Second" #~ msgstr "秒" #~ msgid "Displayed second" #~ msgstr "顯示的秒數" #~ msgid "Lower limit year" #~ msgstr "下限 (年)" #~ msgid "Year part of the lower date limit" #~ msgstr "時間下限中的年份" #~ msgid "Upper limit year" #~ msgstr "上限 (年)" #~ msgid "Year part of the upper date limit" #~ msgstr "時間上限中的年份" #~ msgid "Lower limit month" #~ msgstr "下限 (月)" #~ msgid "Month part of the lower date limit" #~ msgstr "時間下限中的月份" #~ msgid "Upper limit month" #~ msgstr "上限 (月)" #~ msgid "Month part of the upper date limit" #~ msgstr "時間上限中的月份" #~ msgid "Lower limit day" #~ msgstr "下限 (日)" #~ msgid "Day of month part of the lower date limit" #~ msgstr "時間下限中的日數部份" #~ msgid "Upper limit day" #~ msgstr "上限 (日)" #~ msgid "Day of month part of the upper date limit" #~ msgstr "時間上限中的日數部份" #~ msgid "Lower limit hour" #~ msgstr "下限 (時)" #~ msgid "Hour part of the lower time limit" #~ msgstr "時間下限中的小時部份" #~ msgid "Upper limit hour" #~ msgstr "上限 (時)" #~ msgid "Hour part of the upper time limit" #~ msgstr "時間上限中的小時部份" #~ msgid "Lower limit minute" #~ msgstr "下限 (分)" #~ msgid "Minute part of the lower time limit" #~ msgstr "時間下限中的分鐘部份" #~ msgid "Upper limit minute" #~ msgstr "上限 (分)" #~ msgid "Minute part of the upper time limit" #~ msgstr "時間上限中的分鐘部份" #~ msgid "Lower limit second" #~ msgstr "下限 (秒)" #~ msgid "Second part of the lower time limit" #~ msgstr "時間下限中的秒數部份" #~ msgid "Upper limit second" #~ msgstr "上限 (秒)" #~ msgid "Second part of the upper time limit" #~ msgstr "時間上限中的秒數部份" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:0" #~ msgid "Date" #~ msgstr "日期" #~ msgid "Enter the date directly" #~ msgstr "直接輸入日期" #~ msgid "Select Date" #~ msgstr "選擇日期" #~ msgid "Select the date from a calendar" #~ msgstr "在日曆中選擇日期" #~ msgid "Enter the time directly" #~ msgstr "直接輸入時間" #~ msgid "Select Time" #~ msgstr "選擇時間" #~ msgid "Select the time from a list" #~ msgstr "在日曆中選擇時間" #~ msgid "24hr: no" #~ msgstr "24hr: no" #~ msgid "AM" #~ msgstr "上午" #~ msgid "PM" #~ msgstr "下午" #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%4$s %1$02d:%2$02d:%3$02d" #~ msgid "%02d:%02d %s" #~ msgstr "%3$s %1$02d:%2$02d" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d:%02d:%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d:%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d-%02d-%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "方向" #~ msgid "The orientation of the tray." #~ msgstr "面板的方向。" #~ msgid "Communication Error" #~ msgstr "溝通錯誤" #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "向伺服器送出資訊時發生錯誤,請稍後再試。" #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "由伺服器接收資訊時發生錯誤,請稍後再試。" drivel-3.0.5/po/drivel.pot0000644000175000017500000004562312161410755012370 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-06-22 22:06+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "" #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "" #: ../src/about.c:85 msgid "With help from:" msgstr "" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "" #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "" #: ../src/blog_lj.c:290 msgid "default" msgstr "" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "" #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "" #: ../src/dialogs.c:809 msgid "Community" msgstr "" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "" #: ../src/dialogs.c:813 msgid "User" msgstr "" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "" #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "" #: ../src/dialogs.c:1442 msgid "Time" msgstr "" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "" #: ../src/dialogs.c:1542 msgid "Username" msgstr "" #: ../src/dialogs.c:1552 msgid "Name" msgstr "" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "" #: ../src/drivel-gtk.glade.h:4 msgid "Clear Entry" msgstr "" #: ../src/drivel-gtk.glade.h:5 msgid "Preferences" msgstr "" #: ../src/drivel-gtk.glade.h:6 msgid "Highlight Spelling Errors" msgstr "" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 msgid "Help" msgstr "" #: ../src/drivel-gtk.glade.h:12 msgid "About" msgstr "" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "" #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "" #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "" #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "" #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "" #: ../src/journal.c:3374 msgid "_View" msgstr "" #: ../src/journal.c:3375 msgid "_Format" msgstr "" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "" #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "" #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "" #: ../src/journal.c:3390 msgid "Select _All" msgstr "" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "" #: ../src/journal.c:3393 msgid "_Friends" msgstr "" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "" #: ../src/journal.c:3394 msgid "_History" msgstr "" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "" #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "" #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "" #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "" #: ../src/login.c:504 msgid "Bad username" msgstr "" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "" #: ../src/login.c:929 msgid "Remove Account" msgstr "" #: ../src/login.c:931 msgid "_Preferences" msgstr "" #: ../src/login.c:1139 msgid "Drafts" msgstr "" #: ../src/main.c:58 msgid "Error" msgstr "" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "" #: ../src/main.c:351 msgid "Friends Only" msgstr "" #: ../src/main.c:767 msgid "Display debugging output" msgstr "" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "" #: ../src/network.c:64 msgid "Done" msgstr "" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "" #: ../src/network.c:118 msgid "Setting categories" msgstr "" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "" #: ../src/network.c:143 msgid "Updating security groups" msgstr "" #: ../src/network.c:315 msgid "Network connection failed" msgstr "" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "" drivel-3.0.5/po/bg.po0000644000175000017500000007365611731016426011315 00000000000000# Bulgarian translation of drivel. # Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the drivel package. # Yavor Doganov , 2005, 2006, 2009. # # # msgid "" msgstr "" "Project-Id-Version: drivel trunk\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2009-09-30 16:52+0300\n" "Last-Translator: Yavor Doganov \n" "Language-Team: Bulgarian \n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "Текущият потребител." #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "Списък на всички имена на потребители, използвани на тази машина." #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "Броят настроения, съхранени локално." #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "Списък с настроения за менюто на Drivel." #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Работа с блогове (Drivel)" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Редактор на блогове" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Редактиране и управление на блогове" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Чернова на запис в блога" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "" "Явор Доганов \n" "\n" "Проектът за превод на GNOME има нужда от подкрепа.\n" "Научете повече за нас на http://gnome.cult.bg\n" "Докладвайте за грешки на http://gnome.cult.bg/bugs" #: ../src/about.c:85 msgid "With help from:" msgstr "С помощта на:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "И много други — благодарим на всички!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "Редактор на блогове за работната среда GNOME." #: ../src/about.c:108 msgid "Homepage:" msgstr "Уебсайт:" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Грешка в сървъра" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "Сървърът не върна валиден отговор във формат Atom." #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "Неизвестна грешка" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "Грешка при публикуване на записа" #: ../src/blog_lj.c:290 msgid "default" msgstr "стандартна" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Никого" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Изключен" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Няма записи в блога]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "По подразбиране за системата" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Липсва име на потребител" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Въведете име на потребител." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Публично" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Лично" #: ../src/dialogs.c:809 msgid "Community" msgstr "Общност" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Абонамент" #: ../src/dialogs.c:813 msgid "User" msgstr "Потребител" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Добавяне на приятел" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "Потребителско име на _приятеля:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "_Цвят на текста:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "Цвят на _фона:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "Неуспех при изпълнението на операцията с файлове." #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "Неуспех при отварянето на избрания файл." #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "Запазване на този запис вместо изчистване?" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "" "Ако не ги запазите, съдържанието на този запис ще бъде загубено безвъзвратно." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "Запазване на промените за този запис преди затваряне?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "" "Ако не ги запазите, промените за този запис ще бъдат загубени безвъзвратно." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Време" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Запис в блога" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Тип" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Хипервръзка" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Потребителско име" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Име" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "В наличност" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "В група" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Отваряне на недовършен запис в блог" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Превключване между потребители" #: ../src/drivel-gtk.glade.h:4 msgid "Clear Entry" msgstr "Изчистване на записа" #: ../src/drivel-gtk.glade.h:5 msgid "Preferences" msgstr "Настройки" #: ../src/drivel-gtk.glade.h:6 msgid "Highlight Spelling Errors" msgstr "Осветяване на грешки в правописа" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "Помо_щ" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "_Относно" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Тема:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "Сиг_урност:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Настроение:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "Му_зика:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "_Етикети:" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "Изключване на _коментари" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "Да не се позволява на потребители да коментират този запис" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Без автомати_чно форматиране на текст" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "Да не се преобразуват автоматично новите редове или хипервръзките в елементи " "на HTML" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "Стара д_ата:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "Отбелязване на записа като публикуван на избраната дата" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "Кар_тинка:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "Ка_тегория:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Показване на повече _опции" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Изтриване на избрания запис от блога." #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "_Запазване на чернова" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Запазване на текущия запис, без да се публикува в блога" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "_Актуализиране" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Актуализиране на избрания запис от блога" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Публикуване" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Публикуване на текущия запис в блога" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Вмъкване на гласуване" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "Име на _гласуването (по избор):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "Гласува_щи:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Резултатите видими за:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Въпроси:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "Добавяне на _въпрос" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "Добавяне на _отговор" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "Нагоре" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Тип:" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "В_ъпрос:" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "Размер на текстовото _поле (по избор):" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "Максимална _дължина на текста (по избор):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "О_т:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "До:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "_От:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "От_говор:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "_Вмъкване" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Настройки на Drivel" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "Поведение" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Минимизиране след _влизане" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "Автоматично минимизиране на прозореца след влизане" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Минимизиране след _публикуване" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "Автоматично минимизиране на прозореца след публикуване на запис" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "_Осветяване на HTML в записа" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "Изобразяване на ключови думи на HTML в други цветове" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Осветяване на сгрешените _думи" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "" "Осветяване на думи, които не могат да бъдат намерени в компютърния речник" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "_Речник:" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "Област за уведомяване" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "Уведомяване при промени на _приятели" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Показване на уведомление при актуализация на страницата с приятели\n" "(Само за платени потребители на LiveJournal)" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "Публикация" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "Уведомяване на _Technorati при промени" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "Уведомяване на популярната машина за търсене Technorati за нови записи" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "Шрифт" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "Използване на шрифта на _темата" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "Шрифт на редактора:" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Общи" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "Стандартни настройки за публикуване" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "Да не се преобразуват автоматично новите редове в HTML тагове" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Опции по подразбиране" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Влизане" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_Име на потребител:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Парола:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "_Автоматично влизане" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_Запомняне на паролата" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "_Тип блог:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "А_дрес на сървъра:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "Работа в режим „Изкл_ючен“" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "_Влизане" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Редактиране на история" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Редактиране" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Редактиране на приятели" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "_Блог" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "Подробности" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Име на потребител:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Тип блог:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Цвят на текста:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Цвят на фона:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Избор на цвят на текста" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Избор на цвят на фона" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Вмъкване на хипервръзка" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "_Текст:" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "Създаване на хипервръзка към…" #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "страни_ца в Интернет" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "_Местоположение:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "Пример:" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "друг потребител на Live_Journal" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "останалата _част от записа" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "Вмъкване на _хипервръзка…" #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Вмъкване на изображение" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "Изображение" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "Атрибути (по избор)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Височина:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "пиксела" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Ширина:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "О_писание:" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "Вмъкване на _изображение…" #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "Групи за сигурност" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "Групи" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "Подробности за групата" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "_Име:" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "_Ред" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "_Публично" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Всички потребители" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Приятели" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Текст" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Падащо меню" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Радио бутони" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Кутийки" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Текст" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Мащаб" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "Отваряне на записа за редактиране" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "Опресняване на списъка" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "Блог на %s — Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "Общност %s — Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Режим „Изключен“ — Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel — Отваряне на чернова" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Всички файлове във формат XML" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "Чернови" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel — Запазване на чернова" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Изберете абонамент за блог" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "Настройките се прилагат за всеки абонамент поотделно, така че трябва да " "изберете някакъв, преди да редактирате настройките му." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Изберете блог" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "_Блог" #: ../src/journal.c:3374 msgid "_View" msgstr "_Изглед" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Форматиране" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "_Връзки в интернет" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "Помо_щ" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Отваряне на чернова…" #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "_Запазване на чернова" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Запазване на чернова _като…" #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "_Скорошни записи" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "Скорошни _чернови" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "_Публикуване на записа" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "_Актуализиране на записа" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "_Изтриване на записа" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "Из_лизане" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "Из_чистване на записа" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Избор на _всичко" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "После_ден запис" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Редактиране на последния публикуван запис" #: ../src/journal.c:3393 msgid "_Friends" msgstr "При_ятели" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Редактиране на списъка с приятели" #: ../src/journal.c:3394 msgid "_History" msgstr "_История" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Разглеждане или редактиране на предишен запис" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" "Редактиране на определени групи от хора, които имат право да четат записите" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "Активен _блог" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "_Горен регистър" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "_Долен регистър" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "Спис_ък" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "Избро_яване" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "От_стъп" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Вмъкване на _хипервръзка…" #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Създаване на хипервръзка към страница в Интернет, потребител на LiveJournal " "или дълъг запис в блог" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Вмъкване на _изображение…" #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Вмъкване на изображение в записа на блога" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Вмъкване на глас_уване…" #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "_Ръководство" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "_Често задавани въпроси" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "_Относно" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Повече _опции за записа" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "Осветяване на грешки в _правописа" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "Осветяване на _HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "Неправилно име на потребител" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Името на потребителя съдържа невалидни символи." #: ../src/login.c:929 msgid "Remove Account" msgstr "Премахване на акаунт" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Настройки" #: ../src/login.c:1139 msgid "Drafts" msgstr "Чернови" #: ../src/main.c:58 msgid "Error" msgstr "Грешка" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "Лошо, възникна грешка от страна на сървъра. Опитайте по-късно." #: ../src/main.c:351 msgid "Friends Only" msgstr "Само приятели" #: ../src/main.c:767 msgid "Display debugging output" msgstr "Показване на информация за изчистване на грешки" #: ../src/main.c:770 msgid "file" msgstr "файл" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Неуспех при инициализирането на GConf: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Неуспех при инициализирането на GnomeVFS.\n" #: ../src/network.c:64 msgid "Done" msgstr "Готово" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "Влизане…" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "Изтегляне на картинките на потребителя" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "Публикуване на записа в блога" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "Актуализиране на записа в блога" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "Извличане на записите от блога" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "Извличане на историята от блога" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "Актуализиране на списъка с приятели" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "Извличане на списъка с приятели" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "Извличане на категориите" #: ../src/network.c:118 msgid "Setting categories" msgstr "Настройване на категориите" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "Публикуване на записа в блога" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "Изтриване на записа от блога" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "Уведомяване на Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "Извличане на групите за сигурност" #: ../src/network.c:143 msgid "Updating security groups" msgstr "Актуализиране на групите за сигурност" #: ../src/network.c:315 msgid "Network connection failed" msgstr "Мрежовата връзка пропадна" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "Неуспех при анализирането на отговора от сървъра" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Не се изпълнява песен" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "_Разглеждане на страницата с приятели" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "_Премахване от областта за уведомяване" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Неозаглавен" drivel-3.0.5/po/sr@Latn.po0000644000175000017500000006540111731016427012256 00000000000000# Serbian translation of drivel # Courtesy of Prevod.org team (http://prevod.org/) -- 2003, 2004. # # This file is distributed under the same license as the drivel package. # # Maintainer: Danilo Šegan # msgid "" msgstr "" "Project-Id-Version: drivel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2004-03-01 17:47+0100\n" "Last-Translator: Danilo Šegan \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "" #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 #, fuzzy msgid "Drivel Journal Editor" msgstr "Balavac — sačuvaj skicu" #: ../data/gnome-drivel.desktop.in.h:2 #, fuzzy msgid "Journal Editor" msgstr "Unos u dnevnik" #: ../data/gnome-drivel.desktop.in.h:3 #, fuzzy msgid "Update and manage your online journal" msgstr "Dopunite i održavajte vaš LiveJournal (Balavac)" #: ../data/mime/drivel.xml.in.h:1 #, fuzzy msgid "Draft journal entry" msgstr "Unos u dnevnik" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 #, fuzzy msgid "translator-credits" msgstr "" "Danilo Šegan \n" "\n" "Prevod.org — prevod na srpski jezik." #: ../src/about.c:85 msgid "With help from:" msgstr "" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "" #: ../src/about.c:102 #, fuzzy msgid "A journal client for the GNOME desktop." msgstr "Klijent za LiveJournal iz okruženja Gnom." #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 #, fuzzy msgid "Server error" msgstr "_Server:" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "" #: ../src/blog_atom.c:411 #, fuzzy msgid "Error Posting Entry" msgstr "Poslednji _unos" #: ../src/blog_lj.c:290 msgid "default" msgstr "" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Ništa" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Nema unosa u dnevnik]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "" #: ../src/dialogs.c:426 #, fuzzy msgid "Missing username" msgstr "Korisničko ime drugara:" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Unesite korisničko ime za dodavanje." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Javan" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Privatan" #: ../src/dialogs.c:809 msgid "Community" msgstr "" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "" #: ../src/dialogs.c:813 #, fuzzy msgid "User" msgstr "Korisnik" #: ../src/dialogs.c:867 #, fuzzy msgid "Add Friend" msgstr "Prijatelji" #: ../src/dialogs.c:895 #, fuzzy msgid "_Friend's username:" msgstr "_Korisničko ime drugara" #: ../src/dialogs.c:914 #, fuzzy msgid "_Text color:" msgstr "Boja _teksta" #: ../src/dialogs.c:929 #, fuzzy msgid "_Background color:" msgstr "_Boja pozadine" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "" #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "" #: ../src/dialogs.c:1442 msgid "Time" msgstr "Vreme" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Unos u dnevnik" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Vrsta" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Veza" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Korisnik" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Ime" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "" #: ../src/drivel-gtk.glade.h:1 #, fuzzy msgid "Drivel" msgstr "Prijava Balavca" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Otvori nedovršen unos u dnevnik" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Zameni korisnička imena" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "Poslednji _unos" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "Po_stavke..." #: ../src/drivel-gtk.glade.h:6 msgid "Highlight Spelling Errors" msgstr "" #: ../src/drivel-gtk.glade.h:7 #, fuzzy msgid "Bold" msgstr "_Zacrnjeno" #: ../src/drivel-gtk.glade.h:8 #, fuzzy msgid "Italic" msgstr "_Kurziv" #: ../src/drivel-gtk.glade.h:9 #, fuzzy msgid "Underline" msgstr "_Podvučeno" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 msgid "Help" msgstr "" #: ../src/drivel-gtk.glade.h:12 msgid "About" msgstr "" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Tema:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "_Bezbednost:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Raspoloženje:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "_Muzika:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 #, fuzzy msgid "Tur_n off comments" msgstr "_Ne dopuštaj primedbe" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Ne samo-oblikuj _tekst" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "_Slika:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "" #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "_Sačuvaj skicu..." #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 #, fuzzy msgid "Save the current entry without adding it to your journal" msgstr "Sačuvaj tekući tekst bez dodavanja istog u dnevnik" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "Poslednji _unos" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Pošalji" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 #, fuzzy msgid "Post the current entry to your journal" msgstr "Sačuvaj tekući tekst bez dodavanja istog u dnevnik" #: ../src/drivel-gtk.glade.h:34 #, fuzzy msgid "Insert Poll" msgstr "Ubaci _anketu..." #: ../src/drivel-gtk.glade.h:35 #, fuzzy msgid "Poll _name (optional):" msgstr "_Ime ankete (neobavezno):" #: ../src/drivel-gtk.glade.h:36 #, fuzzy msgid "Voter_s:" msgstr "_Glasači:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Rezultate vide:" #: ../src/drivel-gtk.glade.h:38 #, fuzzy msgid "Questions:" msgstr "Pitanje: " #: ../src/drivel-gtk.glade.h:39 #, fuzzy msgid "Add _Question" msgstr "Dodaj _pitanje:" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "" #: ../src/drivel-gtk.glade.h:42 #, fuzzy msgid "_Type:" msgstr "Vrsta" #: ../src/drivel-gtk.glade.h:43 #, fuzzy msgid "Qu_estion:" msgstr "Pitanje: " #: ../src/drivel-gtk.glade.h:44 #, fuzzy msgid "Text _field size (optional):" msgstr "Veličina polja za tekst (neobavezno): " #: ../src/drivel-gtk.glade.h:45 #, fuzzy msgid "Maximum text _length (optional):" msgstr "Najduži tekst (neobavezno): " #: ../src/drivel-gtk.glade.h:46 #, fuzzy msgid "_From:" msgstr "Od: " #: ../src/drivel-gtk.glade.h:47 #, fuzzy msgid "To:" msgstr "Do: " #: ../src/drivel-gtk.glade.h:48 #, fuzzy msgid "_By:" msgstr "Po: " #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "" #: ../src/drivel-gtk.glade.h:50 #, fuzzy msgid "_Insert" msgstr "U_vlačenje" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Postavke Balavca" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr "Ponašanje unosa" #: ../src/drivel-gtk.glade.h:53 #, fuzzy msgid "Minimize after _logging in" msgstr "Umanji nakon prijave" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "" #: ../src/drivel-gtk.glade.h:55 #, fuzzy msgid "Minimize after _posting" msgstr "Umanji nakon slanja" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "" #: ../src/drivel-gtk.glade.h:61 #, fuzzy msgid "_Dictionary:" msgstr "_Opis:" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr "Obaveštajna zona" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr "Obaveštajna zona" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Opšte" #: ../src/drivel-gtk.glade.h:73 #, fuzzy msgid "Default Post Options" msgstr "Podrazumevane opcije za slanje" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Podrazumevano za unos" #: ../src/drivel-gtk.glade.h:76 #, fuzzy msgid "Journal Login" msgstr "Unos u dnevnik" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_Korisnik:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Lozinka:" #: ../src/drivel-gtk.glade.h:79 #, fuzzy msgid "_Automatically login" msgstr "Sa_moprijava" #: ../src/drivel-gtk.glade.h:80 #, fuzzy msgid "_Remember password" msgstr "_Sačuvaj lozinku" #: ../src/drivel-gtk.glade.h:81 #, fuzzy msgid "Journal _type:" msgstr "Unos u dnevnik" #: ../src/drivel-gtk.glade.h:82 #, fuzzy msgid "_Server address:" msgstr "_Adresa:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 #, fuzzy msgid "_Log In" msgstr "_Prijavi se" #: ../src/drivel-gtk.glade.h:85 #, fuzzy msgid "Edit History" msgstr "Uređivanje/istorijat..." #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 #, fuzzy msgid "_Edit" msgstr "_Uredi..." #: ../src/drivel-gtk.glade.h:87 #, fuzzy msgid "Edit Friends" msgstr "Prijatelji" #: ../src/drivel-gtk.glade.h:88 #, fuzzy msgid "_View journal" msgstr "ParaJournal" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "" #: ../src/drivel-gtk.glade.h:90 #, fuzzy msgid "Username:" msgstr "_Korisnik:" #: ../src/drivel-gtk.glade.h:91 #, fuzzy msgid "Journal Type:" msgstr "Unos u dnevnik" #: ../src/drivel-gtk.glade.h:92 #, fuzzy msgid "Text color:" msgstr "Boja _teksta" #: ../src/drivel-gtk.glade.h:93 #, fuzzy msgid "Background color:" msgstr "_Boja pozadine" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "" #: ../src/drivel-gtk.glade.h:95 #, fuzzy msgid "Choose a background color" msgstr "_Boja pozadine" #: ../src/drivel-gtk.glade.h:96 #, fuzzy msgid "Insert Link" msgstr "Ubaci vezu..." #: ../src/drivel-gtk.glade.h:98 #, fuzzy msgid "_Text:" msgstr "Vrsta" #: ../src/drivel-gtk.glade.h:99 #, fuzzy msgid "Create a link to..." msgstr "Napravi vezu do..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "" #: ../src/drivel-gtk.glade.h:101 #, fuzzy msgid "_Location:" msgstr "_Putanja slike" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 #, fuzzy msgid "another Live_Journal user" msgstr "drugog korisnika _LiveJournal-a" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "_ostatka ovog unosa" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "Ubaci vezu..." #: ../src/drivel-gtk.glade.h:106 #, fuzzy msgid "Insert Image" msgstr "Ubaci sliku..." #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 #, fuzzy msgid "Attributes (Optional)" msgstr "Osobine slike (neobavezno)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Visina:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Širina:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Opis:" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "Ubaci sliku..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 #, fuzzy msgid "Security Groups" msgstr "_Bezbednost:" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "" #: ../src/drivel-gtk.glade.h:118 #, fuzzy msgid "_Name:" msgstr "Ime" #: ../src/drivel-gtk.glade.h:119 #, fuzzy msgid "_Order" msgstr "_Server:" #: ../src/drivel-gtk.glade.h:120 #, fuzzy msgid "_Public" msgstr "Javan" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Svi korisnici" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Prijatelji" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "" #: ../src/insert_poll_dialog.c:220 #, fuzzy msgid "Dropdown selection" msgstr "Padajući meni" #: ../src/insert_poll_dialog.c:222 #, fuzzy msgid "Radio selection" msgstr "Radio dugmad" #: ../src/insert_poll_dialog.c:224 #, fuzzy msgid "Checkbox selection" msgstr "Kućice za označavanje" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Unos teksta" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Razmera" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Balavac — otvori skicu" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Balavac — sačuvaj skicu" #: ../src/journal.c:2782 #, fuzzy msgid "Please select a journal account" msgstr "Izaberite dnevnik u koji da šaljete" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Izaberite dnevnik u koji da šaljete" #: ../src/journal.c:3372 ../src/login.c:925 #, fuzzy msgid "_Journal" msgstr "ParaJournal" #: ../src/journal.c:3374 msgid "_View" msgstr "" #: ../src/journal.c:3375 #, fuzzy msgid "_Format" msgstr "O_blik" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "_Veb veze" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Otvori skicu..." #: ../src/journal.c:3379 #, fuzzy msgid "_Save Draft" msgstr "_Sačuvaj skicu..." #: ../src/journal.c:3380 #, fuzzy msgid "Save Draft _as..." msgstr "_Sačuvaj skicu..." #: ../src/journal.c:3381 #, fuzzy msgid "_Recent Entries" msgstr "Poslednji _unos" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "" #: ../src/journal.c:3383 #, fuzzy msgid "_Post Entry" msgstr "Poslednji _unos" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 #, fuzzy msgid "_Update Entry" msgstr "Poslednji _unos" #: ../src/journal.c:3386 #, fuzzy msgid "_Delete Entry" msgstr "Poslednji _unos" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Odjavi se" #: ../src/journal.c:3389 #, fuzzy msgid "C_lear Entry" msgstr "Poslednji _unos" #: ../src/journal.c:3390 msgid "Select _All" msgstr "" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "Poslednji _unos" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Uredi poslednji poslati unos" #: ../src/journal.c:3393 #, fuzzy msgid "_Friends" msgstr "Prijatelji" #: ../src/journal.c:3393 #, fuzzy msgid "Edit your friends list" msgstr "Uredite stranicu sa vašim prijateljima" #: ../src/journal.c:3394 #, fuzzy msgid "_History" msgstr "_Istorijat..." #: ../src/journal.c:3394 #, fuzzy msgid "View or edit a previous entry" msgstr "Uredite ili pogledajte prethodni unos" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "Aktivni _dnevnik" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "Iz_dignuto" #: ../src/journal.c:3403 #, fuzzy msgid "Subs_cript" msgstr "_Indeks" #: ../src/journal.c:3404 #, fuzzy msgid "Lis_t" msgstr "_Spisak" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "S_tavka spiska" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "U_vlačenje" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Ubaci _vezu..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Napravite vezu ka veb stranici, korisniku LiveJournal-a, ili dugačkom unosu " "u dnevnik" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Ubaci s_liku..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Ubacite sliku u vaš unos u dnevnik" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Ubaci _anketu..." #: ../src/journal.c:3410 ../src/login.c:932 #, fuzzy msgid "_Contents" msgstr "U_vlačenje" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "" #: ../src/journal.c:3416 #, fuzzy msgid "More Entry _Options" msgstr "Pogledaj _opcije" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "" #: ../src/login.c:504 #, fuzzy msgid "Bad username" msgstr "Korisnik" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Korisnik sadrži nedozvoljene znake." #: ../src/login.c:929 msgid "Remove Account" msgstr "" #: ../src/login.c:931 #, fuzzy msgid "_Preferences" msgstr "Po_stavke..." #: ../src/login.c:1139 msgid "Drafts" msgstr "" #: ../src/main.c:58 msgid "Error" msgstr "" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "O muke, dođe do greške na serveru. Probajte kasnije." #: ../src/main.c:351 #, fuzzy msgid "Friends Only" msgstr "Samo za prijatelje" #: ../src/main.c:767 msgid "Display debugging output" msgstr "" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Neuspešno pokretanje GKonf-a: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Ne mogu da pokrenem GnomeVFS!\n" #: ../src/network.c:64 #, fuzzy msgid "Done" msgstr "Ništa" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "" #: ../src/network.c:81 #, fuzzy msgid "Posting journal entry" msgstr "Unos u dnevnik" #: ../src/network.c:86 #, fuzzy msgid "Updating journal entry" msgstr "Unos u dnevnik" #: ../src/network.c:91 #, fuzzy msgid "Retrieving journal entries" msgstr "[Nema unosa u dnevnik]" #: ../src/network.c:96 #, fuzzy msgid "Retrieving journal history" msgstr "Balavac — sačuvaj skicu" #: ../src/network.c:101 #, fuzzy msgid "Updating Friends list" msgstr "Uredite stranicu sa vašim prijateljima" #: ../src/network.c:107 #, fuzzy msgid "Retrieving Friends list" msgstr "Uredite stranicu sa vašim prijateljima" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "" #: ../src/network.c:118 msgid "Setting categories" msgstr "" #: ../src/network.c:123 #, fuzzy msgid "Publishing journal entry" msgstr "Unos u dnevnik" #: ../src/network.c:128 #, fuzzy msgid "Deleting journal entry" msgstr "Unos u dnevnik" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "" #: ../src/network.c:143 msgid "Updating security groups" msgstr "" #: ../src/network.c:315 msgid "Network connection failed" msgstr "" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "" #: ../src/tray.c:129 #, fuzzy msgid "_View Friends Page" msgstr "_Korisničko ime drugara" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "" #, fuzzy #~ msgid "Sending / Receiving" #~ msgstr "Šaljem / primam..." #~ msgid "_Add..." #~ msgstr "_Dodaj..." #~ msgid "_Edit..." #~ msgstr "_Uredi..." #, fuzzy #~ msgid "Save _Draft" #~ msgstr "_Sačuvaj skicu..." #~ msgid "_Don't Save" #~ msgstr "_Ne čuvaj" #, fuzzy #~ msgid "Link" #~ msgstr "_Tekst veze" #~ msgid "Orientation" #~ msgstr "Usmerenje" #~ msgid "The orientation of the tray." #~ msgstr "Usmerenje fioke." #, fuzzy #~ msgid "Invalid journal server" #~ msgstr "Prijavi se na server LiveJournal-a" #~ msgid "Please enter a journal server address." #~ msgstr "Unesite adresu servera vašeg dnevnika." #~ msgid "Custom..." #~ msgstr "Proizvoljan..." #, fuzzy #~ msgid "Journal Server" #~ msgstr "Server dnevnika" #, fuzzy #~ msgid "Enable _tray icon" #~ msgstr "Uključi ikonu u obaveštajnoj zoni" #~ msgid "Network" #~ msgstr "Mreža" #, fuzzy #~ msgid "drivel-add-friend" #~ msgstr "Balavac — Dodaj drugara" #, fuzzy #~ msgid "drivel-insert-button" #~ msgstr "Balavac — ubaci anketu" #, fuzzy #~ msgid "drivel-login" #~ msgstr "Prijava Balavca" #~ msgid "You must enter your username first." #~ msgstr "Morate prvo uneti korisčko ime." #~ msgid "Sign _Up..." #~ msgstr "Uključi _se..." #~ msgid "What's a LiveJournal?" #~ msgstr "Šta je to LiveJournal?" #, fuzzy #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "O muke, dođe do greške na serveru. Probajte kasnije." #, fuzzy #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "O muke, dođe do greške na serveru. Probajte kasnije." #~ msgid "LiveJournal Entry" #~ msgstr "Unos u LiveJournal" #, fuzzy #~ msgid "drivel-update" #~ msgstr "Privatan" #, fuzzy #~ msgid "Edit Friend" #~ msgstr "Balavac — uredi drugara" #~ msgid "LiveJournal" #~ msgstr "LiveJournal" #~ msgid "DeadJournal" #~ msgstr "DeadJournal" #~ msgid "Your current entry has not been saved." #~ msgstr "Vaš tekući unos nije sačuvan." #~ msgid "Drivel - Insert Link" #~ msgstr "Balavac — ubaci vezu" # bug: string composition #~ msgid "a _web page" #~ msgstr "_veb stranice" #~ msgid "_http://" #~ msgstr "_http://" #~ msgid "Drivel - Insert Image" #~ msgstr "Balavac — ubaci sliku" #~ msgid "Drivel - Edit Friends" #~ msgstr "Balavac — uredi drugare" #~ msgid "Drivel - Edit History" #~ msgstr "Balavac — uredi istorijat" # bug: genitive, eh? #~ msgid "Drivel - %s's Journal" #~ msgstr "Balavac — dnevnik koji vodi %s" #~ msgid "_Save as Draft" #~ msgstr "_Sačuvaj kao skicu" #~ msgid "Network Progress" #~ msgstr "Tok mreže" #~ msgid "Web Links/" #~ msgstr "Veb veze/" #~ msgid "_Friends..." #~ msgstr "_Prijatelji..." #~ msgid "Edit the program preferences" #~ msgstr "Uredite postavke programa" #~ msgid "Stri_ke" #~ msgstr "Pre_crtano" #~ msgid "Options" #~ msgstr "Opcije" #~ msgid "<- _XMMS" #~ msgstr "<- _XMMS" #~ msgid "Sign up for a new LiveJournal" #~ msgstr "Uključi se za novi LiveJournal" #~ msgid "What's a _LiveJournal?" #~ msgstr "Šta je _LiveJournal?" #~ msgid "Goto the LiveJournal homepage" #~ msgstr "Idi na početnu stranicu LiveJournal-a" #~ msgid "" #~ msgstr "" #~ msgid "Possible answers:" #~ msgstr "Mogući odgovori" #~ msgid "<< Less" #~ msgstr "<< manje" #~ msgid "More >>" #~ msgstr "više >>" #~ msgid "Poll Creator" #~ msgstr "Autor ankete" #~ msgid "_Generate" #~ msgstr "_Obrazuj" #~ msgid " Question #%d - %s " #~ msgstr " Pitanje #%d — %s " #~ msgid "Fill in at least the first possible answer." #~ msgstr "Popunite bar prvi mogući odgovor." #~ msgid "Text parameters must be integer." #~ msgstr "Parametri teksta moraju biti celi brojevi." #~ msgid "" #~ "Too many elements in scale range. Either move \"From\" and \"To\" values " #~ "closer or increase \"By\"." #~ msgstr "" #~ "Previše elemenata u opsegu razmere. Ili približite vrednosti za „Od“ i " #~ "„Do“ ili uvećajte „Po“." #~ msgid "\"By\" has wrong sign." #~ msgstr "„Po“ je pogrešnog znaka." #~ msgid "\"By\" cannot be zero." #~ msgstr "„Po“ ne može biti nula." #~ msgid "Fill in some question text." #~ msgstr "Popunite nešto teksta pitanja." drivel-3.0.5/po/sr.po0000644000175000017500000007313411731016427011341 00000000000000# Serbian translation of drivel # Courtesy of Prevod.org team (http://prevod.org/) -- 2003, 2004. # # This file is distributed under the same license as the drivel package. # # Maintainer: Данило Шеган # msgid "" msgstr "" "Project-Id-Version: drivel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2004-03-01 17:47+0100\n" "Last-Translator: Данило Шеган \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "" #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 #, fuzzy msgid "Drivel Journal Editor" msgstr "Балавац — сачувај скицу" #: ../data/gnome-drivel.desktop.in.h:2 #, fuzzy msgid "Journal Editor" msgstr "Унос у дневник" #: ../data/gnome-drivel.desktop.in.h:3 #, fuzzy msgid "Update and manage your online journal" msgstr "Допуните и одржавајте ваш LiveJournal (Балавац)" #: ../data/mime/drivel.xml.in.h:1 #, fuzzy msgid "Draft journal entry" msgstr "Унос у дневник" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 #, fuzzy msgid "translator-credits" msgstr "" "Данило Шеган \n" "\n" "Prevod.org — превод на српски језик." #: ../src/about.c:85 msgid "With help from:" msgstr "" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "" #: ../src/about.c:102 #, fuzzy msgid "A journal client for the GNOME desktop." msgstr "Клијент за LiveJournal из окружења Гном." #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 #, fuzzy msgid "Server error" msgstr "_Сервер:" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "" #: ../src/blog_atom.c:411 #, fuzzy msgid "Error Posting Entry" msgstr "Последњи _унос" #: ../src/blog_lj.c:290 msgid "default" msgstr "" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Ништа" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Нема уноса у дневник]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "" #: ../src/dialogs.c:426 #, fuzzy msgid "Missing username" msgstr "Корисничко име другара:" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Унесите корисничко име за додавање." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Јаван" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Приватан" #: ../src/dialogs.c:809 msgid "Community" msgstr "" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "" #: ../src/dialogs.c:813 #, fuzzy msgid "User" msgstr "Корисник" #: ../src/dialogs.c:867 #, fuzzy msgid "Add Friend" msgstr "Пријатељи" #: ../src/dialogs.c:895 #, fuzzy msgid "_Friend's username:" msgstr "_Корисничко име другара" #: ../src/dialogs.c:914 #, fuzzy msgid "_Text color:" msgstr "Боја _текста" #: ../src/dialogs.c:929 #, fuzzy msgid "_Background color:" msgstr "_Боја позадине" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "" #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "" #: ../src/dialogs.c:1442 msgid "Time" msgstr "Време" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Унос у дневник" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Врста" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Веза" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Корисник" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Име" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "" #: ../src/drivel-gtk.glade.h:1 #, fuzzy msgid "Drivel" msgstr "Пријава Балавца" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Отвори недовршен унос у дневник" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Замени корисничка имена" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "Последњи _унос" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "По_ставке..." #: ../src/drivel-gtk.glade.h:6 msgid "Highlight Spelling Errors" msgstr "" #: ../src/drivel-gtk.glade.h:7 #, fuzzy msgid "Bold" msgstr "_Зацрњено" #: ../src/drivel-gtk.glade.h:8 #, fuzzy msgid "Italic" msgstr "_Курзив" #: ../src/drivel-gtk.glade.h:9 #, fuzzy msgid "Underline" msgstr "_Подвучено" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 msgid "Help" msgstr "" #: ../src/drivel-gtk.glade.h:12 msgid "About" msgstr "" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Тема:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "_Безбедност:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Расположење:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "_Музика:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 #, fuzzy msgid "Tur_n off comments" msgstr "_Не допуштај примедбе" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Не само-обликуј _текст" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "_Слика:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "" #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "_Сачувај скицу..." #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 #, fuzzy msgid "Save the current entry without adding it to your journal" msgstr "Сачувај текући текст без додавања истог у дневник" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "Последњи _унос" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Пошаљи" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 #, fuzzy msgid "Post the current entry to your journal" msgstr "Сачувај текући текст без додавања истог у дневник" #: ../src/drivel-gtk.glade.h:34 #, fuzzy msgid "Insert Poll" msgstr "Убаци _анкету..." #: ../src/drivel-gtk.glade.h:35 #, fuzzy msgid "Poll _name (optional):" msgstr "_Име анкете (необавезно):" #: ../src/drivel-gtk.glade.h:36 #, fuzzy msgid "Voter_s:" msgstr "_Гласачи:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Резултате виде:" #: ../src/drivel-gtk.glade.h:38 #, fuzzy msgid "Questions:" msgstr "Питање: " #: ../src/drivel-gtk.glade.h:39 #, fuzzy msgid "Add _Question" msgstr "Додај _питање:" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "" #: ../src/drivel-gtk.glade.h:42 #, fuzzy msgid "_Type:" msgstr "Врста" #: ../src/drivel-gtk.glade.h:43 #, fuzzy msgid "Qu_estion:" msgstr "Питање: " #: ../src/drivel-gtk.glade.h:44 #, fuzzy msgid "Text _field size (optional):" msgstr "Величина поља за текст (необавезно): " #: ../src/drivel-gtk.glade.h:45 #, fuzzy msgid "Maximum text _length (optional):" msgstr "Најдужи текст (необавезно): " #: ../src/drivel-gtk.glade.h:46 #, fuzzy msgid "_From:" msgstr "Од: " #: ../src/drivel-gtk.glade.h:47 #, fuzzy msgid "To:" msgstr "До: " #: ../src/drivel-gtk.glade.h:48 #, fuzzy msgid "_By:" msgstr "По: " #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "" #: ../src/drivel-gtk.glade.h:50 #, fuzzy msgid "_Insert" msgstr "У_влачење" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Поставке Балавца" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr "Понашање уноса" #: ../src/drivel-gtk.glade.h:53 #, fuzzy msgid "Minimize after _logging in" msgstr "Умањи након пријаве" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "" #: ../src/drivel-gtk.glade.h:55 #, fuzzy msgid "Minimize after _posting" msgstr "Умањи након слања" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "" #: ../src/drivel-gtk.glade.h:61 #, fuzzy msgid "_Dictionary:" msgstr "_Опис:" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr "Обавештајна зона" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr "Обавештајна зона" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Опште" #: ../src/drivel-gtk.glade.h:73 #, fuzzy msgid "Default Post Options" msgstr "Подразумеване опције за слање" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Подразумевано за унос" #: ../src/drivel-gtk.glade.h:76 #, fuzzy msgid "Journal Login" msgstr "Унос у дневник" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_Корисник:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Лозинка:" #: ../src/drivel-gtk.glade.h:79 #, fuzzy msgid "_Automatically login" msgstr "Са_мопријава" #: ../src/drivel-gtk.glade.h:80 #, fuzzy msgid "_Remember password" msgstr "_Сачувај лозинку" #: ../src/drivel-gtk.glade.h:81 #, fuzzy msgid "Journal _type:" msgstr "Унос у дневник" #: ../src/drivel-gtk.glade.h:82 #, fuzzy msgid "_Server address:" msgstr "_Адреса:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 #, fuzzy msgid "_Log In" msgstr "_Пријави се" #: ../src/drivel-gtk.glade.h:85 #, fuzzy msgid "Edit History" msgstr "Уређивање/историјат..." #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 #, fuzzy msgid "_Edit" msgstr "_Уреди..." #: ../src/drivel-gtk.glade.h:87 #, fuzzy msgid "Edit Friends" msgstr "Пријатељи" #: ../src/drivel-gtk.glade.h:88 #, fuzzy msgid "_View journal" msgstr "ParaJournal" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "" #: ../src/drivel-gtk.glade.h:90 #, fuzzy msgid "Username:" msgstr "_Корисник:" #: ../src/drivel-gtk.glade.h:91 #, fuzzy msgid "Journal Type:" msgstr "Унос у дневник" #: ../src/drivel-gtk.glade.h:92 #, fuzzy msgid "Text color:" msgstr "Боја _текста" #: ../src/drivel-gtk.glade.h:93 #, fuzzy msgid "Background color:" msgstr "_Боја позадине" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "" #: ../src/drivel-gtk.glade.h:95 #, fuzzy msgid "Choose a background color" msgstr "_Боја позадине" #: ../src/drivel-gtk.glade.h:96 #, fuzzy msgid "Insert Link" msgstr "Убаци везу..." #: ../src/drivel-gtk.glade.h:98 #, fuzzy msgid "_Text:" msgstr "Врста" #: ../src/drivel-gtk.glade.h:99 #, fuzzy msgid "Create a link to..." msgstr "Направи везу до..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "" #: ../src/drivel-gtk.glade.h:101 #, fuzzy msgid "_Location:" msgstr "_Путања слике" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 #, fuzzy msgid "another Live_Journal user" msgstr "другог корисника _LiveJournal-а" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "_остатка овог уноса" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "Убаци везу..." #: ../src/drivel-gtk.glade.h:106 #, fuzzy msgid "Insert Image" msgstr "Убаци слику..." #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 #, fuzzy msgid "Attributes (Optional)" msgstr "Особине слике (необавезно)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Висина:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Ширина:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Опис:" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "Убаци слику..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 #, fuzzy msgid "Security Groups" msgstr "_Безбедност:" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "" #: ../src/drivel-gtk.glade.h:118 #, fuzzy msgid "_Name:" msgstr "Име" #: ../src/drivel-gtk.glade.h:119 #, fuzzy msgid "_Order" msgstr "_Сервер:" #: ../src/drivel-gtk.glade.h:120 #, fuzzy msgid "_Public" msgstr "Јаван" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Сви корисници" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Пријатељи" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "" #: ../src/insert_poll_dialog.c:220 #, fuzzy msgid "Dropdown selection" msgstr "Падајући мени" #: ../src/insert_poll_dialog.c:222 #, fuzzy msgid "Radio selection" msgstr "Радио дугмад" #: ../src/insert_poll_dialog.c:224 #, fuzzy msgid "Checkbox selection" msgstr "Кућице за означавање" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Унос текста" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Размера" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Балавац — отвори скицу" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Балавац — сачувај скицу" #: ../src/journal.c:2782 #, fuzzy msgid "Please select a journal account" msgstr "Изаберите дневник у који да шаљете" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Изаберите дневник у који да шаљете" #: ../src/journal.c:3372 ../src/login.c:925 #, fuzzy msgid "_Journal" msgstr "ParaJournal" #: ../src/journal.c:3374 msgid "_View" msgstr "" #: ../src/journal.c:3375 #, fuzzy msgid "_Format" msgstr "О_блик" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "_Веб везе" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Отвори скицу..." #: ../src/journal.c:3379 #, fuzzy msgid "_Save Draft" msgstr "_Сачувај скицу..." #: ../src/journal.c:3380 #, fuzzy msgid "Save Draft _as..." msgstr "_Сачувај скицу..." #: ../src/journal.c:3381 #, fuzzy msgid "_Recent Entries" msgstr "Последњи _унос" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "" #: ../src/journal.c:3383 #, fuzzy msgid "_Post Entry" msgstr "Последњи _унос" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 #, fuzzy msgid "_Update Entry" msgstr "Последњи _унос" #: ../src/journal.c:3386 #, fuzzy msgid "_Delete Entry" msgstr "Последњи _унос" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Одјави се" #: ../src/journal.c:3389 #, fuzzy msgid "C_lear Entry" msgstr "Последњи _унос" #: ../src/journal.c:3390 msgid "Select _All" msgstr "" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "Последњи _унос" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Уреди последњи послати унос" #: ../src/journal.c:3393 #, fuzzy msgid "_Friends" msgstr "Пријатељи" #: ../src/journal.c:3393 #, fuzzy msgid "Edit your friends list" msgstr "Уредите страницу са вашим пријатељима" #: ../src/journal.c:3394 #, fuzzy msgid "_History" msgstr "_Историјат..." #: ../src/journal.c:3394 #, fuzzy msgid "View or edit a previous entry" msgstr "Уредите или погледајте претходни унос" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "Активни _дневник" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "Из_дигнуто" #: ../src/journal.c:3403 #, fuzzy msgid "Subs_cript" msgstr "_Индекс" #: ../src/journal.c:3404 #, fuzzy msgid "Lis_t" msgstr "_Списак" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "С_тавка списка" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "У_влачење" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Убаци _везу..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Направите везу ка веб страници, кориснику LiveJournal-а, или дугачком уносу " "у дневник" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Убаци с_лику..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Убаците слику у ваш унос у дневник" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Убаци _анкету..." #: ../src/journal.c:3410 ../src/login.c:932 #, fuzzy msgid "_Contents" msgstr "У_влачење" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "" #: ../src/journal.c:3416 #, fuzzy msgid "More Entry _Options" msgstr "Погледај _опције" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "" #: ../src/login.c:504 #, fuzzy msgid "Bad username" msgstr "Корисник" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Корисник садржи недозвољене знаке." #: ../src/login.c:929 msgid "Remove Account" msgstr "" #: ../src/login.c:931 #, fuzzy msgid "_Preferences" msgstr "По_ставке..." #: ../src/login.c:1139 msgid "Drafts" msgstr "" #: ../src/main.c:58 msgid "Error" msgstr "" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "О муке, дође до грешке на серверу. Пробајте касније." #: ../src/main.c:351 #, fuzzy msgid "Friends Only" msgstr "Само за пријатеље" #: ../src/main.c:767 msgid "Display debugging output" msgstr "" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Неуспешно покретање ГКонф-а: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Не могу да покренем GnomeVFS!\n" #: ../src/network.c:64 #, fuzzy msgid "Done" msgstr "Ништа" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "" #: ../src/network.c:81 #, fuzzy msgid "Posting journal entry" msgstr "Унос у дневник" #: ../src/network.c:86 #, fuzzy msgid "Updating journal entry" msgstr "Унос у дневник" #: ../src/network.c:91 #, fuzzy msgid "Retrieving journal entries" msgstr "[Нема уноса у дневник]" #: ../src/network.c:96 #, fuzzy msgid "Retrieving journal history" msgstr "Балавац — сачувај скицу" #: ../src/network.c:101 #, fuzzy msgid "Updating Friends list" msgstr "Уредите страницу са вашим пријатељима" #: ../src/network.c:107 #, fuzzy msgid "Retrieving Friends list" msgstr "Уредите страницу са вашим пријатељима" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "" #: ../src/network.c:118 msgid "Setting categories" msgstr "" #: ../src/network.c:123 #, fuzzy msgid "Publishing journal entry" msgstr "Унос у дневник" #: ../src/network.c:128 #, fuzzy msgid "Deleting journal entry" msgstr "Унос у дневник" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "" #: ../src/network.c:143 msgid "Updating security groups" msgstr "" #: ../src/network.c:315 msgid "Network connection failed" msgstr "" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "" #: ../src/tray.c:129 #, fuzzy msgid "_View Friends Page" msgstr "_Корисничко име другара" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "" #, fuzzy #~ msgid "Sending / Receiving" #~ msgstr "Шаљем / примам..." #~ msgid "_Add..." #~ msgstr "_Додај..." #~ msgid "_Edit..." #~ msgstr "_Уреди..." #, fuzzy #~ msgid "Save _Draft" #~ msgstr "_Сачувај скицу..." #~ msgid "_Don't Save" #~ msgstr "_Не чувај" #, fuzzy #~ msgid "Link" #~ msgstr "_Текст везе" #~ msgid "Orientation" #~ msgstr "Усмерење" #~ msgid "The orientation of the tray." #~ msgstr "Усмерење фиоке." #, fuzzy #~ msgid "Invalid journal server" #~ msgstr "Пријави се на сервер LiveJournal-а" #~ msgid "Please enter a journal server address." #~ msgstr "Унесите адресу сервера вашег дневника." #~ msgid "Custom..." #~ msgstr "Произвољан..." #, fuzzy #~ msgid "Journal Server" #~ msgstr "Сервер дневника" #, fuzzy #~ msgid "Enable _tray icon" #~ msgstr "Укључи икону у обавештајној зони" #~ msgid "Network" #~ msgstr "Мрежа" #, fuzzy #~ msgid "drivel-add-friend" #~ msgstr "Балавац — Додај другара" #, fuzzy #~ msgid "drivel-insert-button" #~ msgstr "Балавац — убаци анкету" #, fuzzy #~ msgid "drivel-login" #~ msgstr "Пријава Балавца" #~ msgid "You must enter your username first." #~ msgstr "Морате прво унети корисчко име." #~ msgid "Sign _Up..." #~ msgstr "Укључи _се..." #~ msgid "What's a LiveJournal?" #~ msgstr "Шта је то LiveJournal?" #, fuzzy #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "О муке, дође до грешке на серверу. Пробајте касније." #, fuzzy #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "О муке, дође до грешке на серверу. Пробајте касније." #~ msgid "LiveJournal Entry" #~ msgstr "Унос у LiveJournal" #, fuzzy #~ msgid "drivel-update" #~ msgstr "Приватан" #, fuzzy #~ msgid "Edit Friend" #~ msgstr "Балавац — уреди другара" #~ msgid "LiveJournal" #~ msgstr "LiveJournal" #~ msgid "DeadJournal" #~ msgstr "DeadJournal" #~ msgid "Your current entry has not been saved." #~ msgstr "Ваш текући унос није сачуван." #~ msgid "Drivel - Insert Link" #~ msgstr "Балавац — убаци везу" # bug: string composition #~ msgid "a _web page" #~ msgstr "_веб странице" #~ msgid "_http://" #~ msgstr "_http://" #~ msgid "Drivel - Insert Image" #~ msgstr "Балавац — убаци слику" #~ msgid "Drivel - Edit Friends" #~ msgstr "Балавац — уреди другаре" #~ msgid "Drivel - Edit History" #~ msgstr "Балавац — уреди историјат" # bug: genitive, eh? #~ msgid "Drivel - %s's Journal" #~ msgstr "Балавац — дневник који води %s" #~ msgid "_Save as Draft" #~ msgstr "_Сачувај као скицу" #~ msgid "Network Progress" #~ msgstr "Ток мреже" #~ msgid "Web Links/" #~ msgstr "Веб везе/" #~ msgid "_Friends..." #~ msgstr "_Пријатељи..." #~ msgid "Edit the program preferences" #~ msgstr "Уредите поставке програма" #~ msgid "Stri_ke" #~ msgstr "Пре_цртано" #~ msgid "Options" #~ msgstr "Опције" #~ msgid "<- _XMMS" #~ msgstr "<- _XMMS" #~ msgid "Sign up for a new LiveJournal" #~ msgstr "Укључи се за нови LiveJournal" #~ msgid "What's a _LiveJournal?" #~ msgstr "Шта је _LiveJournal?" #~ msgid "Goto the LiveJournal homepage" #~ msgstr "Иди на почетну страницу LiveJournal-а" #~ msgid "" #~ msgstr "<недеф>" #~ msgid "Possible answers:" #~ msgstr "Могући одговори" #~ msgid "<< Less" #~ msgstr "<< мање" #~ msgid "More >>" #~ msgstr "више >>" #~ msgid "Poll Creator" #~ msgstr "Аутор анкете" #~ msgid "_Generate" #~ msgstr "_Образуј" #~ msgid " Question #%d - %s " #~ msgstr " Питање #%d — %s " #~ msgid "Fill in at least the first possible answer." #~ msgstr "Попуните бар први могући одговор." #~ msgid "Text parameters must be integer." #~ msgstr "Параметри текста морају бити цели бројеви." #~ msgid "" #~ "Too many elements in scale range. Either move \"From\" and \"To\" values " #~ "closer or increase \"By\"." #~ msgstr "" #~ "Превише елемената у опсегу размере. Или приближите вредности за „Од“ и " #~ "„До“ или увећајте „По“." #~ msgid "\"By\" has wrong sign." #~ msgstr "„По“ је погрешног знака." #~ msgid "\"By\" cannot be zero." #~ msgstr "„По“ не може бити нула." #~ msgid "Fill in some question text." #~ msgstr "Попуните нешто текста питања." drivel-3.0.5/po/Makefile.in.in0000644000175000017500000001604612161410720013016 00000000000000# Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper # Copyright (C) 2004-2008 Rodney Dawes # # This file may be copied and used freely without restrictions. It may # be used in projects which are not available under a GNU Public License, # but which still want to provide support for the GNU gettext functionality. # # - Modified by Owen Taylor to use GETTEXT_PACKAGE # instead of PACKAGE and to look for po2tbl in ./ not in intl/ # # - Modified by jacob berkman to install # Makefile.in.in and po2tbl.sed.in for use with glib-gettextize # # - Modified by Rodney Dawes for use with intltool # # We have the following line for use by intltoolize: # INTLTOOL_MAKEFILE GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = @top_builddir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datadir@ datarootdir = @datarootdir@ libdir = @libdir@ DATADIRNAME = @DATADIRNAME@ itlocaledir = $(prefix)/$(DATADIRNAME)/locale subdir = po install_sh = @install_sh@ # Automake >= 1.8 provides @mkdir_p@. # Until it can be supposed, use the safe fallback: mkdir_p = $(install_sh) -d INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ MSGMERGE = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist GENPOT = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot ALL_LINGUAS = @ALL_LINGUAS@ PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi) USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep \^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep \^$$lang$$`"; then printf "$$lang "; fi; done; fi) USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) DISTFILES = Makefile.in.in POTFILES.in $(POFILES) EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS POTFILES = \ # This comment gets stripped out CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done) .SUFFIXES: .SUFFIXES: .po .pox .gmo .mo .msg .cat AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ INTLTOOL_V_MSGFMT = $(INTLTOOL__v_MSGFMT_$(V)) INTLTOOL__v_MSGFMT_= $(INTLTOOL__v_MSGFMT_$(AM_DEFAULT_VERBOSITY)) INTLTOOL__v_MSGFMT_0 = @echo " MSGFMT" $@; .po.pox: $(MAKE) $(GETTEXT_PACKAGE).pot $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: $(INTLTOOL_V_MSGFMT)$(MSGFMT) -o $@ $< .po.gmo: $(INTLTOOL_V_MSGFMT)file=`echo $* | sed 's,.*/,,'`.gmo \ && rm -f $$file && $(GMSGFMT) -o $$file $< .po.cat: sed -f ../intl/po2msg.sed < $< > $*.msg \ && rm -f $@ && gencat $@ $*.msg all: all-@USE_NLS@ all-yes: $(CATALOGS) all-no: $(GETTEXT_PACKAGE).pot: $(POTFILES) $(GENPOT) install: install-data install-data: install-data-@USE_NLS@ install-data-no: all install-data-yes: all linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $$dir; \ if test -r $$lang.gmo; then \ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \ else \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $(srcdir)/$$lang.gmo as" \ "$$dir/$(GETTEXT_PACKAGE).mo"; \ fi; \ if test -r $$lang.gmo.m; then \ $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ if test -r $(srcdir)/$$lang.gmo.m ; then \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \ $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $(srcdir)/$$lang.gmo.m as" \ "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ true; \ fi; \ fi; \ done # Empty stubs to satisfy archaic automake needs dvi info ctags tags CTAGS TAGS ID: # Define this as empty until I found a useful application. install-exec installcheck: uninstall: linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ done check: all $(GETTEXT_PACKAGE).pot rm -f missing notexist srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m if [ -r missing -o -r notexist ]; then \ exit 1; \ fi mostlyclean: rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp rm -f .intltool-merge-cache clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES stamp-it rm -f *.mo *.msg *.cat *.cat.m *.gmo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f Makefile.in.in distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(DISTFILES) dists="$(DISTFILES)"; \ extra_dists="$(EXTRA_DISTFILES)"; \ for file in $$extra_dists; do \ test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \ done; \ for file in $$dists; do \ test -f $$file || file="$(srcdir)/$$file"; \ ln $$file $(distdir) 2> /dev/null \ || cp -p $$file $(distdir); \ done update-po: Makefile $(MAKE) $(GETTEXT_PACKAGE).pot tmpdir=`pwd`; \ linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ echo "$$lang:"; \ result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ if $$result; then \ if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.gmo failed!"; \ rm -f $$tmpdir/$$lang.new.po; \ fi; \ done Makefile POTFILES: stamp-it @if test ! -f $@; then \ rm -f stamp-it; \ $(MAKE) stamp-it; \ fi stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \ $(SHELL) ./config.status # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: drivel-3.0.5/po/dz.po0000644000175000017500000013361311731016426011330 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: drival.head.pot\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2007-03-19 13:59+0530\n" "Last-Translator: sonam pelden \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" "X-Poedit-Language: Dzongkha\n" "X-Poedit-Country: Bhutan\n" "X-Poedit-SourceCharset: utf-8\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "ད་ལྟོ་ནང་བསྐྱོད་འབད་ཡོད་པའི་ལག་ལེན་པ།" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "འཕྲུལ་ཆས་འདི་གུ་ཧེ་མ་ལག་ལེན་འཐབ་ཡོད་པའི་ གསར་དེབ་ལག་ལེན་པའི་མིང་གི་ཐོ་ཡིག།" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "ཉེ་གནས་ལུ་གསོག་འཇོག་འབད་ཡོད་པའི་ཚོར་ཉམས་ཀྱི་ཨང་གྲངས།" #: ../data/drivel.schemas.in.h:4 #, fuzzy msgid "A list of moods for the drivel menu." msgstr "ཇི་ཊི་ཀེ་ཀོམ་བོ་དཀར་ཆག་གི་དོན་ལུ་ཚོར་ཉམས་ཀྱི་ཐོ་ཡིག།" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "ཌི་བལ་གསར་དེབ་ཞུན་དགཔ་" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "གསར་དེབ་ཞུན་དགཔ་" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "ཁྱོད་རའི་གློག་ཐོག་གསར་དེབ་འདི་དུས་མཐུན་བཟོ་ནི་དང་འཛིན་སྐྱོང་འཐབ་" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "གསར་དེབ་ཐོ་བཀོད་ཟིན་བྲིས་" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "སྐད་བསྒྱུར་པའི་-ངོ་བསྟོད་ཚུ་" #: ../src/about.c:85 msgid "With help from:" msgstr "གྲོགས་རམ་དང་བཅས:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "གཞན་ཡང་ལེ་ཤ་རང་-- ཆ་མཉམ་བཀྲིན་ཆེ! " #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "GNOMEཌེཀསི་ཊོཔ་གི་དོན་ལུ་གསར་དེབ་ཞབས་ཏོག།" #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "སར་བར་འཛོལ་བ་" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "སར་བར་དེ་གིས་ནུས་ཅན་ཨེ་ཊོམ་ལན་གཅིག་སླར་ལོག་མ་འབད་བས།" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "མ་ཤེས་པའི་འཛོལ་བ་" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "ཐོ་བཀོད་གནས་བསྐྱོད་འཛོལ་བ་" #: ../src/blog_lj.c:290 msgid "default" msgstr "སྔོན་སྒྲིག་" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "ཅི་མེད་" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "གློག་ལམ་མེད་པའི་" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[གསར་དེབ་འཛུལ་ཞུགས་མེད་]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "རིམ་ལུགས་སྔོན་སྒྲིག་" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "ལག་ལེན་པའི་མིང་བརླག་སྟོར་ཞུགས་ཡོདཔ་" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "ཁ་སྐོང་བརྐྱབ་ནི་ལུ་ལག་ལེན་པའི་མིང་གཅིག་ཐོ་བཀོད་འབད།" #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "མི་མང་" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "སྒེར་སྡེ་" #: ../src/dialogs.c:809 msgid "Community" msgstr "མི་སྡེ་" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "མཉམ་རུབ་ཚོགས་པའི་མཁོ་སྤྲོད་འབད་ནི་" #: ../src/dialogs.c:813 msgid "User" msgstr "ལག་ལེན་པ་" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "ཆ་རོགས་ཁ་སྐོང་བརྐྱབ་" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "ཆ་རོགས་ཀྱི་ལག་ལེན་པའི་མིང་: (_F)" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "ཚིག་ཡིག་ཚོས་གཞི: (_T)" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "རྒྱབ་གཞི་ཚོས་གཞི: (_B)" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "ཡིག་སྣོད་བཀོལ་སྤྱོདཔ་ལཱ་འགན་འགྲུབ་མ་ཚུགས་" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "སེལ་འཐུ་འབད་ཡོད་པའི་ཡིག་སྣོད་ཁ་ཕྱེ་མ་ཚུགས་" #: ../src/dialogs.c:1323 #, fuzzy msgid "Save the content of this journal entry instead of clearing?" msgstr "ཁ་མ་བསྡམ་པའི་ཧེ་མར་གསར་དེབ་ཐོ་བཀོད་འདི་ལུ་བསྒྱུར་བཅོས་ཚུ་སྲུང་ག?" #: ../src/dialogs.c:1324 #, fuzzy msgid "If you don't save, content of this entry will be discarded." msgstr "ཁྱོད་ཀྱིས་མ་སྲུང་པ་ཅིན་ ཐོ་བཀོད་འདི་ལུ་བསྒྱུར་བཅོས་ཚུ་བཏོན་བཀོག་ནི་ཨིན།" #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "ཁ་མ་བསྡམ་པའི་ཧེ་མར་གསར་དེབ་ཐོ་བཀོད་འདི་ལུ་བསྒྱུར་བཅོས་ཚུ་སྲུང་ག?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "ཁྱོད་ཀྱིས་མ་སྲུང་པ་ཅིན་ ཐོ་བཀོད་འདི་ལུ་བསྒྱུར་བཅོས་ཚུ་བཏོན་བཀོག་ནི་ཨིན།" #: ../src/dialogs.c:1442 msgid "Time" msgstr "ཐེངས་" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "གསར་དེབ་ཐོ་བཀོད་" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "དབྱེ་བ་" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "འབྲེལ་ལམ་" #: ../src/dialogs.c:1542 msgid "Username" msgstr "ལག་ལེན་པའི་མིང་" #: ../src/dialogs.c:1552 msgid "Name" msgstr "མིང་" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "ཐོབ་ཚུགསཔ་" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "སྡེ་ཚན་ནང་" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "ཌི་བལ་" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "མཇུག་མ་བསྡུ་བའི་གསར་དེབ་ཐོ་བཀོད་ཅིག་ཁ་ཕྱེ་" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "ལག་ལེན་པའི་མིང་ཚུ་གློག་རྟ་བཀལ་" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "ཐོ་བཀོད་བསལ། (_l)" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "དགའ་གདམ་ཚུ། (_P)" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "ཡིག་སྡེབ་འཛོལ་བ་ཚུ་གཙོ་དམིགས་བཀོད། (_S)" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "གྲོགས་རམ། (_H)" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "སྐོར་ལས། (_A)" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "དོན་ཚན: (_S)" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "སྲུང་སྐྱོབ: (_y)" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "ཚོར་ཉམས: (_M)" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "སྙན་ཆ: (_u)" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "བསམ་བཀོད་ཚུ་བསྒྱིར་གཏང་། (_n)" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "ལག་ལེན་པ་དེ་ཚུ་ཐོ་བཀོད་འདི་གུ་བསམ་བཀོད་འབད་མ་བཅུག་" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "ཚིག་ཡིག་འདི་རང་བཞིན་རྩ་སྒྲིག་མ་འབད། (_t)" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "ཨེཆ་ཊི་ཨེམ་ཨེལ་ངོ་རྟགས་ནང་ལུ་གྲལ་ཐིག་ཆད་པ་ཡང་ན་ཝེབ་ས་ཁོངས་གྲལ་ལམ་ཚུ་རང་བཞིན་གྱིས་མིང་དཔྱད་མ་" "འབད་" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "ཚེས་གྲངས་སྦྱར: (_a)" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "ཐོ་བཀོད་འདི་སེལ་འཐུ་འབད་ཡོད་པའི་ཚེས་གྲངས་གུ་གནས་བསྐྱོད་འབད་ཡོདཔ་སྦེ་རྟགས་བཀལ་" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "པར: (_r)" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "དབྱེ་རིམ: (_t)" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "གདམ་ཁ་ཧེང་བཀལ་ཚུ་སྟོན། (_o)" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "སེལ་འཐུ་འབད་ཡོད་པའི་ཐོ་བཀོད་འདི་ཁྱོད་རའི་གསར་དེབ་ལས་བཏོན་གཏང་།" #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "ཟིན་བྲིས་སྲུང་། (_S)" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "ཁྱོད་རའི་གསར་དེབ་ལུ་ཁ་སྐོང་མ་བརྐྱབ་པར་ད་ལྟོའི་ཐོ་བཀོད་འདི་སྲུང་" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "དུས་མཐུན་བཟོ། (_p)" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "ཁྱོད་རའི་གསར་དེབ་ནང་ལུ་སེལ་འཐུ་འབད་ཡོད་པའི་ཐོ་བཀོད་འདི་དུས་མཐུན་བཟོ་" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "གནས་བསྐྱོད། (_P)" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "ད་ལྟོའི་ཐོ་བཀོད་འདི་ཁྱོད་རའི་གསར་དེབ་ལུ་གནས་བསྐྱོད་འབད་" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "པོལ་བཙུགས་" #: ../src/drivel-gtk.glade.h:35 #, fuzzy msgid "Poll _name (optional):" msgstr "པོལ་ _མིང་ (གདམ་ཁ་ཅན་):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "རྒྱན་ཤོག་བཙུགས་མི་ཚུ: (_s)" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "མཐོང་ཚུགས་པའི་གྲུབ་འབྲས་ཚུ: (_R)" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "དྲི་བ་ཚུ:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "དྲི་བ་ཁ་སྐོང་བརྐྱབ། (_Q)" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "ལེན་ཁ་སྐོང་བརྐྱབ། (_A)" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "ཡར་" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "དབྱེ་བ: (_T)" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "དྲི་བ: (_e)" #: ../src/drivel-gtk.glade.h:44 #, fuzzy msgid "Text _field size (optional):" msgstr "ཚིག་ཡིག་ _ས་སྒོའི་ཚད་ (གདམ་ཁ་ཅན་):" #: ../src/drivel-gtk.glade.h:45 #, fuzzy msgid "Maximum text _length (optional):" msgstr "ཚིག་ཡིག་མང་མཐའ་ _རིང་ཚད་ (གདམ་ཁ་ཅན་):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "ལས: (_F)" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "ལུ:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "གིས: (_B)" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "ལན་གསལ: (_w)" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "བཙུགས། (_I)" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "ཌི་བལ་དགའ་གདམ་ཚུ་" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr "ཐོ་བཀོད་སྤྱོད་ལམ་" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "ནང་བསྐྱོད་འབད་ཚར་བའི་ཤུལ་ལུ་མར་ཕབ་འབད། (_l)" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "ནང་བསྐྱོད་འབད་ཚར་བའི་ཤུལ་ལུ་གསར་དེབ་སྒོ་སྒྲིག་འདི་རང་བཞིན་གྱིས་སྦེ་ཆུང་ཀུ་བཟོ་" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "གནས་བསྐྱོད་འབད་བའི་ཤུལ་ལུ་ཆུང་ཀུ་བཟོ། (_p)" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "ཐོ་བཀོད་གཅིག་གནས་བསྐྱོད་འབད་ཞིནམ་ལས་ གསར་དེབ་སྒོ་སྒྲིག་འདི་རང་བཞིན་གྱིས་སྦེ་ཆུང་ཀུ་བཟོ་" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "གསར་དེབ་ཐོ་བཀོད་ནང་ཨེཆ་ཊི་ཨེམ་ཨེལ་གཙོ་དམིགས་བཀོད། (_H)" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "སྤྱིར་གཏང་ཚིག་ཡིག་ལས་ ཨེཆ་ཊི་ཨེམ་ཨེལ་གཙོ་ཚིག་ཚུ་ཚོས་གཞི་སོ་སོ་ནང་བཀྲམ་སྟོན་འབད་" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "སྡེབ་འཛོལ་བའི་མིང་ཚིག་ཚུ་གཙོ་དམིགས་བཀོད། (_w)" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "ཁྱོད་རའི་གློག་རིག་ཚིག་མཛོད་ནང་མ་ཐོབ་མི་མིང་ཚིག་ཚུ་གཙོ་དམིགས་བཀོད་" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "ཚིག་མཛོད: (_D)" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr "བརྡ་བསྐུལ་མངའ་ཁོངས་ཚུ་" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "ཆ་རོགས་ཚུ་དུས་མཐུན་བཟོཝ་ད་བརྡ་བསྐུལ་འབད། (_f)" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "ཁྱོད་རའི་ཆ་རོགས་ཀྱི་ཤོག་ལེབ་འདི་དུས་མཐུན་བཟོ་ཡོདཔ་ད་ དྲན་བརྡ་འདི་བཀྲམ་སྟོན་འབད\n" "(ཚེ་གསར་དེབ་ལག་ལེན་པ་རྐྱངམ་ཅིག་སྤྲོད་ཡོདཔ་)" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr "དཔེ་བསྐྲུན་" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "དུས་མཐུན་བཟོ་ཟེར་མི་གུ་ ཊེཀ་ནོ་ར་ཊི་བརྡ་བསྐུལ་འབད། (_T)" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "འཛུལ་ཞུགས་གསརཔ་གི་ཡོངས་གྲགས་ཅན་གྱི་གསར་དེབ་འཚོལ་ཞིབ་མ་འཕྲུལ་ཊེཀ་ནོ་ར་ཊི་འདི་དྲན་བརྡ་འབད་" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "ཡོངས་ཁྱབ་" #: ../src/drivel-gtk.glade.h:73 #, fuzzy msgid "Default Post Options" msgstr "སྔོན་སྒྲིག་གནས་བསྐྱོད་གདམ་ཁ་ཚུ་" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "ཨེཆ་ཊི་ཨེམ་ཨེལ་ངོ་རྟགས་ནང་ལུ་ རང་བཞིན་གྱིས་སྦེ་གྲལ་ཐིག་ཆད་པ་ཚུ་མིང་དཔྱད་མ་འབད་" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "ཐོ་བཀོད་སྔོན་སྒྲིག་ཚུ་" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "གསར་དེབ་ནང་བསྐྱོད་" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "ལག་ལེན་པའི་མིང་: (_U)" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "ཆོག་ཡིག: (_P)" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "རང་བཞིན་གྱིས་སྦེ་ནང་བསྐྱོད་འབད། (_A)" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "ཆོག་ཡིག་སེམས་ཁར་བཞག། (_R)" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "གསར་དེབ་དབྱེ་བ: (_t)" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "སར་བར་ཁ་བྱང་: (_S)" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "ལཱ་གློག་ཐོག་མེདཔ། (_O)" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "ནང་བསྐྱོད་འབད། (_L)" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "ལོ་རྒྱུས་ཞུན་དག་འབད་" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "ཞུན་དག་འབད། (_E)" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "ཆ་རོགས་ཚུ་ཞུན་དག་འབད་" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "གསར་དེབ་སྟོན། (_V)" #: ../src/drivel-gtk.glade.h:89 #, fuzzy msgid "Details" msgstr "རྒྱས་བཤད་ཚུ་" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "ལག་ལེན་པའི་མིང་:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "གསར་དེབ་དབྱེ་བ:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "ཚིག་ཡིག་ཚོས་གཞི:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "རྒྱབ་གཞི་ཚོས་གཞི:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "ཚིག་ཡིག་ཚོས་གཞི་གདམ་ཁ་བརྐྱབ་" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "རྒྱབ་གཞི་ཚོས་གཞི་གདམ་ཁ་བརྐྱབ་" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "འབྲེལ་ལམ་བཙུགས་" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "ཚིག་ཡིག: (_T)" #: ../src/drivel-gtk.glade.h:99 #, fuzzy msgid "Create a link to..." msgstr "འབྲེལ་ལམ་གཅིག་གསར་བསྐྲུན་འབད..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "ཨིན་ཊར་ནེཊི་གུ་ས་ཁོངས་གཅིག། (_s)" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "གནས་ཁོངས: (_L)" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "མི་ཚེས་གསར་དེབ་ལག་ལེན་པ་གཞན། (_J)" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "ཐོ་བཀོད་འདི་གི་ངལ་འཚོ། (_r)" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "འབྲེལ་ལམ་བཙུགས..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "གཟུགས་བརྙན་བཙུགས་" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 #, fuzzy msgid "Attributes (Optional)" msgstr "ཁྱད་ཆོས (གདམ་ཁ་ཅན་)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "མཐོ་ཚད: (_H)" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "པི་ཨེགསི་" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "རྒྱ་ཚད: (_W)" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "འགྲེལ་བཤད: (_D)" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "གཟུགས་བརྙན་བཙུགས..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "སྲུང་སྐྱོབ་སྡེ་ཚན་ཚུ་" #: ../src/drivel-gtk.glade.h:116 #, fuzzy msgid "Groups" msgstr "སྡེ་ཚན་ནང་" #: ../src/drivel-gtk.glade.h:117 #, fuzzy msgid "Group Details" msgstr "སྡེ་ཚན་རྒྱས་བཤད་ཚུ་" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "མིང་: (_N)" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "རིམ་པ། (_O)" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "མི་མང་། (_P)" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "ལག་ལེན་པ་ཆ་མཉམ་ཚུ་" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "ཆ་རོགས་ཚུ་" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "ཚིག་ཡིག་" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "གདམ་ཐོའི་སེལ་འཐུ་" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "རེ་ཌིའོ་སེལ་འཐུ་" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "ཞིབ་དཔྱད་སྒྲོམ་གྱི་སེལ་འཐུ་" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "ཚིག་ཡིག་ཐོ་བཀོད་" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "ཆ་ཚད་" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "ཞུན་དག་འབད་ནི་ལུ་ཐོ་བཀོད་འདི་ཁ་ཕྱེ་" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "ཐོ་ཡིག་འདི་ཡང་སེལ་འབད་" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "%s's གསར་དེབ་-ཌི་བལ་" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "%s མི་སྡེ་-ཌི་བལ་" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "གློག་ལམ་མེད་པའི་-ཌི་བལ་" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "ཌི་བལ་-ཟིན་བྲིས་ཁ་ཕྱེ་" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "ཨེགསི་ཨེམ་ཨེལ་ཡིག་སྣོད་ཚུ་ཆ་མཉམ་" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "ཌི་བལ་-ཟིན་བྲིས་སྲུང་" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "གསར་དེབ་ཁ་བྱང་གཅིག་སེལ་འཐུ་འབད་གནང་" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "ཁ་བྱང་རེ་རེ་ལུ་སོ་སོ་སྦེ་དགའ་གདམ་འཇུག་སྤྱོད་ དེ་འབད་བ་ཅིན་ ཁྱོད་ཀྱིས་དགའ་གདམ་འདི་ཞུན་དག་མ་འབད་" "བའི་ཧེ་མར་ ཁྱོད་ཀྱིས་ཁྱོད་རའི་ཁ་བྱང་འདི་སེལ་འཐུ་འབད།" #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "གནས་བསྐྱོད་འབད་ནི་ལུ་གསར་དེབ་གཅིག་སེལ་འཐུ་འབད་" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "གསར་དེབ། (_J)" #: ../src/journal.c:3374 msgid "_View" msgstr "མཐོང་སྣང་། (_V)" #: ../src/journal.c:3375 msgid "_Format" msgstr "རྩ་སྒྲིག། (_F)" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "ཝེབ་འབྲེལ་ལམ་ཚུ། (_W)" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "གྲོགས་རམ། (_H)" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "ཟིན་བྲིས་ཁ་ཕྱེ... (_O)" #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "ཟིན་བྲིས་སྲུང་། (_S)" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "ཟིན་བྲིས་དེ་སྦེ་སྲུང་... (_a)" #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "འཕྲལ་གྱི་འཛུལ་ཞུགས་། (_R)" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "འཕྲལ་གྱི་ཟིན་བྲིས་ཚུ། (_D)" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "ཐོ་བཀོད་གནས་བསྐྱོད་འབད། (_P)" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "ཐོ་བཀོད་དུས་མཐུན་བཟོ། (_U)" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "ཐོ་བཀོད་བཏོན་གཏང་། (_D)" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "ཕྱིར་བསྐྱོད་འབད། (_L)" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "ཐོ་བཀོད་བསལ། (_l)" #: ../src/journal.c:3390 msgid "Select _All" msgstr "ཆ་མཉམ་སེལ་འཐུ་འབད། (_A)" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "མཇུག་གི་ཐོ་བཀོད། (_E)" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "ཁྱོད་ཀྱིས་གནས་བསྐྱོད་འབད་ཡོད་པའི་མཇུག་གི་ཐོ་བཀོད་འདི་ཞུན་དག་འབད་" #: ../src/journal.c:3393 msgid "_Friends" msgstr "ཆ་རོགས་ཚུ། (_F)" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "ཁྱོད་རའི་ཆ་རོགས་ཀྱི་ཐོ་ཡིག་ཞུན་དག་འབད་" #: ../src/journal.c:3394 msgid "_History" msgstr "ལོ་རྒྱུས། (_H)" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "ཧེ་མའི་ཐོ་བཀོད་འདི་སྟོན་ནི་ཡང་ན་ཞུན་དག་འབད་" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "ཁྱོད་ཀྱི་འཛུལ་ཞུས་ཚུ་ལྷག་ཚུགས་མི་ དམིགས་བསལ་གྱི་མི་ཚན་ཞུན་དག་འབད་" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "ཤུགས་ལྡན་གསར་དེབ། (_J)" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "སྟེང་ཡིག། (_r)" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "མཁོ་མངགས་འབད་ནི། (_c)" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "ཐོ་ཡིག། (_t)" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "ཐོ་ཡིག་རྣམ་གྲངས། (_m)" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "འགོ་མཚམས། (_n)" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "འབྲེལ་ལམ་བཙུགས... (_L)" #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "འབྲེལ་ལམ་འདི་ ཝེབ་ཀྱི་ཤོག་ལེབ་ མི་ཚེ་གསར་དེབ་ལག་ལེན་པ་ ཡང་ན་ གསར་དེབ་ཐོ་བཀོད་རིངམ་ཅིག་ལུ་གསར་" "བསྐྲུན་འབད་" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "གཟུགས་བརྙན་བཙུགས... (_g)" #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "གཟུགས་བརྙན་འདི་ཁྱོད་རའི་གསར་དེབ་ཐོ་བཀོད་ནང་ལུ་བཙུགས་" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "པོལ་བཙུགས... (_P)" #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "ནང་དོན་ཚུ། (_C)" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "འཕྲལ་འཕྲལ་དྲི་ཡོད་པའི་དྲི་བ་ཚུ། (_F)" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "སྐོར་ལས། (_A)" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "ཐོ་བཀོད་གདམ་ཁ་ཧེང་བཀལ། (_O)" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "ཡིག་སྡེབ་འཛོལ་བ་ཚུ་གཙོ་དམིགས་བཀོད། (_S)" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "ཨེཆ་ཊི་ཨེམ་ཨེལ་གཙོ་དམིགས་བཀོད། (_H)" #: ../src/login.c:504 msgid "Bad username" msgstr "ལག་ལེན་པའི་མིང་བྱང་ཉེས་" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "ལག་ལེན་པའི་མིང་དེ་གིས་ནུས་ཅན་མེད་པའི་ཡིག་འབྲུ་ཚུ་ཡོདཔ་ཨིན།" #: ../src/login.c:929 msgid "Remove Account" msgstr "རྩིས་ཐོ་རྩ་བསྐྲད་གཏང་" #: ../src/login.c:931 msgid "_Preferences" msgstr "དགའ་གདམ་ཚུ། (_P)" #: ../src/login.c:1139 msgid "Drafts" msgstr "ཟིན་བྲིས་ཚུ་" #: ../src/main.c:58 msgid "Error" msgstr "འཛོལ་བ་" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "བུ་སྤུན་ དེ་ནང་སར་བར་འཛོལ་བ་འདུག། ལོག་འབད་གནང་།" #: ../src/main.c:351 msgid "Friends Only" msgstr "ཆ་རོགས་ཚུ་རྐྱངམ་ཅིག་" #: ../src/main.c:767 #, fuzzy msgid "Display debugging output" msgstr "བཀྲམ་སྟོན་འབད་ཡོད་པའི་སྐར་མ་" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "ཇི་རིམ་སྒྲིག་ཨིན་ཨའིཊི་འཐུས་ཤོར་བྱུང་ཡོདཔ: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "ཇི་ནོམ་ཝི་ཨེཕ་ཨེསི་འགོ་འབྱེད་འབད་མ་ཚུགས!\n" #: ../src/network.c:64 #, fuzzy msgid "Done" msgstr "ཅི་མེད་" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "ལག་ལེན་པའི་པར་ཚུ་ཕབ་ལེན་འབད་དོ་" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "གསར་དེབ་ཐོ་བཀོད་གནས་བསྐྱོད་འབད་དོ་" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "གསར་དེབ་ཐོ་བཀོད་དུས་མཐུན་བཟོ་དོ་" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "གསར་དེབ་འཛུལ་ཞུགས་སླར་འདྲེན་འབད་དོ་" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "གསར་དེབ་ལོ་རྒྱུས་སླར་འདྲེན་འབད་དོ་" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "ཆ་རོགས་ཚུ་གི་ཐོ་ཡིག་དུས་མཐུན་བཟོ་དོ་" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "ཆ་རོགས་ཀྱི་ཐོ་ཡིག་སླར་འདྲེན་འབད་དོ་" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "དབྱེ་རིམ་སླར་འདྲེན་འབད་དོ་" #: ../src/network.c:118 msgid "Setting categories" msgstr "དབྱེ་རིམ་ཚུ་སྒྲིག་སྟངས་འབད་དོ་" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "གསར་དེབ་ཐོ་བཀོད་དཔེ་བསྐྲུན་འབད་དོ་" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "གསར་དེབ་ཐོ་བཀོད་བཏོན་གཏང་དོ་" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "ཊེཀ་ནོ་ར་ཊི་བརྡ་བསྐུལ་འབད་དོ་" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "སྲུང་སྐྱོབ་སྡེ་ཚན་སླར་འདྲེན་འབད་དོ་" #: ../src/network.c:143 msgid "Updating security groups" msgstr "སྲུང་སྐྱོབ་སྡེ་ཚན་ཚུ་དུས་མཐུན་བཟོ་དོ་" #: ../src/network.c:315 msgid "Network connection failed" msgstr "ཡོངས་འབྲེལ་མཐུད་མ་ཚུགས་" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "སར་བར་ལན་ཧ་དགོ་མ་ཚུགས་" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "ཞབས་ཁྲ་མི་གཏང་མ་ཚུགས་" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "ཆ་རོགས་དག་པ་ཅིག་གི་ཤོགལེབ། (_V)" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "ཤོག་སྣོད་ལས་རྩ་བསྐྲད་གཏང་། (_R)" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "མགོ་མིང་མ་བཏགསཔ།" #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "བྱ་རིམ་མ་འབད་བའི་ཧེ་མར་གསར་དེབ་འདི་ལུ་བསྒྱུར་བཅོས་སྲུང་ག?" #, fuzzy #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "དཔེར་ན་: http://gnome.org/pic.png" #, fuzzy #~ msgid "Example: http://www.gnome.org" #~ msgstr "དཔེར་ན: http://www.gnome.org" #~ msgid "Retrieving user information" #~ msgstr "ལག་ལེན་པའི་བརྡ་དོན་སླར་འདྲེན་འབད་དོ་" #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "ང་བཅས་ཚུ་ག་ཅི་ཅིག་འབད་དོ་ དེ་འབདཝ་ད་ག་ཅི་ཨིན་ན་ང་གི་མི་ཤེས་བས་" #~ msgid "Sending / Receiving" #~ msgstr "གཏང་དོ/ཐོབ་དོ་" #~ msgid "_Add..." #~ msgstr "ཁ་སྐོང་བརྐྱབ... (_A)" #~ msgid "_Edit..." #~ msgstr "ཞུན་དག་འབད... (_E)" #~ msgid "Save _Draft" #~ msgstr "ཟིན་བྲིས་སྲུང་། (_D)" #~ msgid "_Don't Save" #~ msgstr "མ་སྲུང་། (_D)" #~ msgid "Groups" #~ msgstr "སྡེ་ཚན་ཚུ་" #~ msgid "Image" #~ msgstr "གཟུགས་བརྙན་" #~ msgid "Link" #~ msgstr "འབྲེལ་ལམ་" #~ msgid "Display flags" #~ msgstr "ཟུར་རྟགས་ཚུ་བཀྲམ་སྟོན་འབད་" #~ msgid "Displayed date and/or time properties" #~ msgstr "ཚེས་གྲངས་དང་/ཡང་ན་དུས་ཡུན་རྒྱུ་དངོས་བཀརམ་སྟོན་འབད་ཡོདཔ་" #~ msgid "Lazy mode" #~ msgstr "ལེ་ལོ་ཅན་ཐབས་ལམ་" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "" #~ "ལེ་ལོ་ཅན་ཐབས་ལམ་དེ་གིས་ ཐོ་བཀོད་འབད་ཡོད་པའི་ཚེས་གྲངས་དང་ཆུ་ཚོད་གནས་གོང་ཚུ་ཨ་རྟག་ཧ་ལུ་མི་" #~ "བཟོ་" #~ msgid "Year" #~ msgstr "ལོ་" #~ msgid "Displayed year" #~ msgstr "བཀྲམ་སྟོན་འབད་ཡོད་པའི་ལོ་" #~ msgid "Month" #~ msgstr "ཟླཝ་" #~ msgid "Displayed month" #~ msgstr "བཀྲམ་སྟོན་འབད་ཡོད་པའི་ཟླཝ་" #~ msgid "Day" #~ msgstr "ཉིནམ་" #~ msgid "Displayed day of month" #~ msgstr "ཟླཝ་གི་བཀྲམ་སྟོན་འབད་ཡོད་པའི་ཉིནམ་" #~ msgid "Hour" #~ msgstr "ཆུ་ཚོད་" #~ msgid "Displayed hour" #~ msgstr "བཀྲམ་སྟོན་འབད་ཡོད་པའི་ཆུ་ཚོད་" #~ msgid "Minute" #~ msgstr "སྐར་མ་" #~ msgid "Second" #~ msgstr "སྐར་ཆ་" #~ msgid "Displayed second" #~ msgstr "བཀྲམ་སྟོན་འབད་ཡོད་པའི་སྐར་ཆ་" #~ msgid "Lower limit year" #~ msgstr "འོག་གི་ཚད་ལོ་" #~ msgid "Year part of the lower date limit" #~ msgstr "འོག་གི་ཚེས་གྲངས་ཚད་ཀྱི་ལོའི་ཆ་ཤས་" #~ msgid "Upper limit year" #~ msgstr "ལྟག་གི་ལོ་ཚད་" #~ msgid "Year part of the upper date limit" #~ msgstr "ལྟག་གི་ཚེས་གྲངས་ཚད་ཀྱི་ལོའི་ཆ་ཤས་" #~ msgid "Lower limit month" #~ msgstr "འོག་གི་ཟླཝ་ཚད་" #~ msgid "Month part of the lower date limit" #~ msgstr "འོག་གི་ཚེས་གྲངས་ཚད་ཀྱི་ཟླཝ་ཆ་ཤས་" #~ msgid "Upper limit month" #~ msgstr "ལྟག་གི་ཟླཝ་ཚད་" #~ msgid "Month part of the upper date limit" #~ msgstr "ལྟག་གི་ཚེས་གྲངས་ཚད་ཀྱི་ཟླཝ་ཆ་ཤས་" #~ msgid "Lower limit day" #~ msgstr "འོག་གི་ཉིནམ་ཚད་" #~ msgid "Day of month part of the lower date limit" #~ msgstr "འོག་གི་ཚེས་གྲངས་ཚད་ཀྱི་ཟླཝ་ཆ་ཤས་ཀྱི་ཉིནམ་" #~ msgid "Upper limit day" #~ msgstr "ལྟག་གི་ཉིནམ་ཚད་" #~ msgid "Day of month part of the upper date limit" #~ msgstr "ལྟག་གི་ཚེས་གྲངས་ཚད་ཀྱི་ཟླཝ་ཆ་ཤས་ཀྱི་ཉིནམ་" #~ msgid "Lower limit hour" #~ msgstr "འོག་གི་ཆུ་ཚོད་ཚད་" #~ msgid "Hour part of the lower time limit" #~ msgstr "འོག་གི་ཆུ་ཚོད་ཚད་ཀྱི་ཆུ་ཚོད་ཆ་ཤས་" #~ msgid "Upper limit hour" #~ msgstr "ལྟག་གི་ཆུ་ཚོད་ཚད་" #~ msgid "Hour part of the upper time limit" #~ msgstr "ལྟག་གི་ཆུ་ཚོད་ཚད་ཀྱི་ཆུ་ཚོད་ཆ་ཤས།" #~ msgid "Lower limit minute" #~ msgstr "འོག་གི་སྐར་ཆའི་ཚད་" #~ msgid "Minute part of the lower time limit" #~ msgstr "འོག་གི་ཆུ་ཚོད་ཚད་ཀྱི་སྐར་ཆའི་ཆ་ཤས་" #~ msgid "Upper limit minute" #~ msgstr "ལྟག་གི་སྐར་ཆའི་ཚད་" #~ msgid "Minute part of the upper time limit" #~ msgstr "ལྟག་གི་ཆུ་ཚོད་ཚད་ཀྱི་སྐར་ཆའི་ཆ་ཤས་" #~ msgid "Lower limit second" #~ msgstr "འོག་གི་སྐར་ཆའི་ཚད་" #~ msgid "Second part of the lower time limit" #~ msgstr "འོག་གི་ཆུ་ཚོད་ཚད་ཀྱི་ཆ་ཤས་གཉིས་པ་" #~ msgid "Upper limit second" #~ msgstr "ལྟག་གི་སྐར་ཆའི་ཚད་" #~ msgid "Second part of the upper time limit" #~ msgstr "ལྟག་གི་ཆུ་ཚོད་ཚད་ཀྱི་ཆ་ཤས་གཉིས་པ་" #~ msgid "calendar:week_start:0" #~ msgstr "ཟླ་ཐོ་:བདུན་ཕྲག་འགོ་བཙུགས:0 (_s)" #~ msgid "Date" #~ msgstr "ཚེས་གྲངས་" #~ msgid "Enter the date directly" #~ msgstr "ཚེས་གྲངས་འདི་ཐད་ཀར་དུ་ཐོ་བཀོད་འབད་" #~ msgid "Select Date" #~ msgstr "ཚེས་གྲངས་སེལ་འཐུ་འབད་" #~ msgid "Select the date from a calendar" #~ msgstr "ཟླ་ཐོ་ལས་ཚེས་གྲངས་འདི་སེལ་འཐུ་འབད་" #~ msgid "Enter the time directly" #~ msgstr "ཐད་ཀར་དུ་ཆུ་ཚོད་ཐོ་བཀོད་འབད་" #~ msgid "Select Time" #~ msgstr "ཆུ་ཚོད་སེལ་འཐུ་འབད་" #~ msgid "Select the time from a list" #~ msgstr "ཐོ་ཡིག་ལས་ཆུ་ཚོད་སེལ་འཐུ་འབད་" #~ msgid "24hr: no" #~ msgstr "24hr: no" #~ msgid "AM" #~ msgstr "དྲོ་པ་" #~ msgid "PM" #~ msgstr "ཕྱི་རུ་" #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%02d:%02d:%02d %s" #~ msgid "%02d:%02d %s" #~ msgstr "%02d:%02d %s" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d:%02d:%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d:%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d-%02d-%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "ཕྱོགས་" #~ msgid "The orientation of the tray." #~ msgstr "ཤོག་སྣོད་ཀྱི་ཕྱོགས།" drivel-3.0.5/po/vi.po0000644000175000017500000006302311731016427011327 00000000000000# Vietnamese translation for Drivel. # Copyright © 2009 Free Software Foundation, Inc. # Clytie Siddall , 2006-2009. # msgid "" msgstr "" "Project-Id-Version: drivel 3.0.0-1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2009-09-22 18:23+0930\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: LocFactoryEditor 1.8\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "Người dùng được đăng nhập hiện thời." #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "Danh sách mọi tên người dùng nhật ký đã dùng trên máy này." #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "Số các tâm trạng được cất giữ cục bộ." #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "Danh sách các tâm trạng cho trình đơn Drivel." #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Bộ biên soạn nhật ký Drivel" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Bộ biên soạn nhật ký" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Cập nhật và quản lý nhật ký trực tuyến của bạn" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Bài nháp nhật ký" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "Nhóm Việt hóa Gnome " #: ../src/about.c:85 msgid "With help from:" msgstr "Với sự giúp đỡ của:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "Và nhiều người khác — cám ơn các bạn !" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "Ứng dụng khách nhật ký cho môi trường GNOME." #: ../src/about.c:108 msgid "Homepage:" msgstr "Trang chủ :" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Lỗi máy phục vụ" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "Máy phục vụ không đáp ứng một cách Atom đúng." #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "Lỗi không rõ" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "Lỗi gửi bài" #: ../src/blog_lj.c:290 msgid "default" msgstr "mặc định" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Không có" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Ngoại tuyến" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Không có mục nhật ký]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Mặc định hệ thống" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Thiếu tên người dùng" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Hãy gõ tên người dùng cần thêm." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Công" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Riêng" #: ../src/dialogs.c:809 msgid "Community" msgstr "Cộng đồng" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Nguồn tin tức" #: ../src/dialogs.c:813 msgid "User" msgstr "Người dùng" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Thêm người bạn" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "Tên người dùng của _bạn này:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "Màu _chữ :" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "Màu _nền:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "Không thể thực hiện thao tác tập tin" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "Không thể mở tập tin đã chọn" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "Lưu nội dung của mục nhập nhật ký này thay vào xoá sạch không?" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "Không lưu thì nội dung mục này bị huỷ." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "Lưu các thay đổi trong bài nhật ký này trước khi đóng không?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "Không lưu thì các thay đổi trong bài này sẽ bị hủy." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Giờ" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Bài nhật ký" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Kiểu" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Liên kết" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Tên người dùng" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Tên" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "Sẵn sàng" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "Trong nhóm" # Name: don't translate / Tên: đừng dịch #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Mở một bài nhật ký chưa viết xong" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Chuyển tên người dùng" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "_Gột mục" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "Tù_y thích" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "Tô sáng từ _sai chính tả" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "Trợ g_iúp" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "_Giới thiệu" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Chủ đề:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "_Bảo mật:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "Tâ_m trạng:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "_Nhạc:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "_Thẻ:" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "Tắt bì_nh luận" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "Đừng cho phép người dùng bình luận bài này" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Đừng định dạng _tự động đoạn chữ" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "Đừng phân tách tự động ký tự ngắt dòng hay liên kết chỗ Mạng thành thẻ HTML" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "Ngày t_rước:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "Đánh dấu bài đã được gửi vào ngày đã chọn" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "Ả_nh:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "_Loại:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Hiện thêm tù_y chọn" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Xoá bỏ khỏi nhật ký bài đã chọn." #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "_Lưu nháp" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Lưu bài đang viết mà không thêm vào nhật ký" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "Cậ_p nhật" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Cập nhật bài được chọn trong nhật ký" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Gửi" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Gửi bài hiện thời cho nhật ký" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Chèn trưng cầu" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "Tê_n trưng cầu (tùy chọn):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "Người _bỏ phiếu :" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "Hiện kết _quả cho :" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Câu hỏi:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "_Hỏi câu" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "T_rả lời" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "Lên" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Kiểu :" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "Câu _hỏi:" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "_Kích cỡ trường chữ (tùy chọn):" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "Độ _dài văn bản tối đa (tùy chọn):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_Từ :" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "Cho :" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "Tác _giả:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "Trả _lời:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "C_hèn" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Tùy thích Drivel" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "Ứng xử gõ bài" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Thu nhỏ sau khi đăng _nhập" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "Tự động thu nhỏ cửa sổ nhật ký sau khi đăng nhập" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Thu nhỏ sau khi _gửi bài" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "Tự động thu nhỏ cửa sổ nhật ký sau khi gửi bài" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "Tô sáng mã _HTML trong bài nhật ký" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "Hiển thị từ khoá HTML bằng màu khác với các chữ của thân" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Tô sáng từ _sai chính tả" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "Tô sáng từ không nằm trong từ điển trên máy tính" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "Từ đ_iển:" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "Vùng thông báo" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "Thông báo khi _bạn bè cập nhật" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Báo động khi Trang Người Bạn của bạn được cập nhật\n" "(chỉ cho người dùng LiveJournal đã trả tiền)" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "Xuất bản" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "Thông báo _Technorati khi cập nhật" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "Báo công cụ tìm kiếm nhật ký phổ biến Technorati biết về mục nhập mới" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "Thuộc tính phông" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "Dùng phông sắc _thái mặc định" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "Phông soạn thảo :" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Chung" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "Tùy chọn gửi bài mặc định" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "Đừng phân tách tự động ký tự ngắt dòng thành thẻ HTML" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Mặc định gõ bài" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Đăng nhập nhật ký" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "Tên n_gười dùng:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Mật khẩu :" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "_Tự động đăng nhập" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_Nhớ mật khẩu" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "Kiểu nhậ_t ký:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "Địa chỉ máy _phục vụ :" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "Ng_oại tuyến" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "Đăng _nhập" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Sửa Lược Sử" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Sửa" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Sửa Bạn Bè" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "_Xem nhật ký" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "Chi tiết" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Tên người dùng:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Kiểu nhật ký:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Màu chữ :" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Màu nền:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Chọn màu chữ" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Chọn màu nền" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Chèn liên kết" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "_Thân:" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "Tạo liên kết tới..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "một địa chỉ trên _Internet" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "Đị_a chỉ:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "Ví dụ :" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "một người dùng Live_Journal khác" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "_phần bài này còn lại" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "C_hèn liên kết..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Chèn ảnh" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "Ảnh" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "Thuộc tính (tùy chọn)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "C_ao :" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Rộng:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Mô tả:" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "C_hèn ảnh..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "Nhóm bảo mật" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "Nhóm" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "Chi tiết nhóm" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "Tê_n:" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "_Thứ tự :" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "_Công" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Mọi người dùng" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Bạn bè" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Thân" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Thả xuống để chọn" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Chọn một" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Hộp chọn" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Trường nhập chữ" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Co giãn" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "Mở bài này để soạn thảo" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "Cập nhật danh sách này" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "Nhật ký của %s — Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "Cộng đồng %s — Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Ngoại tuyến — Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel — Mở bài nháp" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Mọi tập tin XML" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "Bài Drivel nháp" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel — Lưu bài nháp" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Hãy chọn một tài khoản nhật ký" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "Tùy thích đặc trưng cho tài khoản: bạn hãy chọn mỗi tài khoản để có khả năng " "sửa đổi tùy thích về nó." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Chọn nhật ký cho đó cần gửi bài" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "_Nhật ký" #: ../src/journal.c:3374 msgid "_View" msgstr "_Xem" #: ../src/journal.c:3375 msgid "_Format" msgstr "Định _dạng" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "Liên kết _Web" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "Trợ g_iúp" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Mở bài nháp..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "_Lưu bài nháp" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Lư_u bài nháp dạng..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "Bài _vừa viết" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "Bài _nháp vừa viết" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "_Gửi bài" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "_Cập nhật bài" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "_Xoá bài" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "Đăng _xuất" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "_Gột mục" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Chọn tất _cả" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "_Bài cuối" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Soạn thảo bài cuối cùng bạn đã gửi" #: ../src/journal.c:3393 msgid "_Friends" msgstr "_Bạn bè" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Sửa đổi danh sách bạn bè" #: ../src/journal.c:3394 msgid "_History" msgstr "_Lược sử" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Xem hay soạn thảo một bài viết trước" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "Sửa đổi những nhóm người riêng có khả năng đọc các bài của bạn" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "_Nhật ký hoạt động" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "Chữ nhỏ t_rên" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "_Chữ nhỏ dưới" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "Liệ_t kê" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "_Mục danh sách" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "Thụt _lề" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Chèn _liên kết..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Tạo liên kết tới một trang Web, người dùng LiveJournal, hay bài nhật ký dài" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "_Chèn ảnh..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Chèn một ảnh vào bài nhật ký của bạn" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Chèn mục t_rưng cầu..." #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "Mục lụ_c" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "_Hỏi Đáp" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "_Giới thiệu" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Tù_y chọn bài bổ sung" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "Tô sáng từ _sai chính tả" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "Tô sáng _HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "Tên người dùng sai" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Tên người dùng chứa ký tự không hợp lệ." #: ../src/login.c:929 msgid "Remove Account" msgstr "Bỏ tài khoản" #: ../src/login.c:931 msgid "_Preferences" msgstr "Tù_y thích" #: ../src/login.c:1139 msgid "Drafts" msgstr "Nháp" #: ../src/main.c:58 msgid "Error" msgstr "Lỗi" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "Khố quá, gặp lỗi máy phục vụ. Hãy thư lại sau này." #: ../src/main.c:351 msgid "Friends Only" msgstr "Chỉ Bạn Bè" #: ../src/main.c:767 msgid "Display debugging output" msgstr "Hiển thị kết xuất gỡ lỗi" #: ../src/main.c:770 msgid "file" msgstr "tập tin" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Lỗi sơ khởi GConf: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Không thể sơ khởi GnomeVFS.\n" #: ../src/network.c:64 msgid "Done" msgstr "Hoàn tất" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "Đang đăng nhập vào..." #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "Đang tải về ảnh người dùng" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "Đang gửi bài nhật ký" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "Đang cập nhật bài nhật ký" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "Đang lấy bài nhật ký" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "Đang lấy lược sử nhật ký" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "Đang cập nhật danh sách Bạn Bè" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "Đang lấy danh sách Bạn Bè" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "Đang lấy phân loại" #: ../src/network.c:118 msgid "Setting categories" msgstr "Đang đặt phân loại" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "Đăng xuất bản bài nhật ký" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "Đang xoá bài nhật ký" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "Đang thông báo Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "Đang lấy nhóm bảo mật" #: ../src/network.c:143 msgid "Updating security groups" msgstr "Đang cập nhật nhóm bảo mật" #: ../src/network.c:315 msgid "Network connection failed" msgstr "Lỗi kết nối tới mạng." #: ../src/network.c:321 msgid "Could not understand server response" msgstr "Không thể hiểu đáp ứng của máy phục vụ" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Không có bài hát đang phát" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "_Xem trang Bạn Bè" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "Bỏ _ra khay" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Không tên" drivel-3.0.5/po/ru.po0000644000175000017500000007306711731016427011350 00000000000000# translation of ru.po to Russian # Copyright (C) 2006 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Valek Filippov , 2006. # Yuri Kozlov , 2009. msgid "" msgstr "" "Project-Id-Version: drivel 3.0.0-1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2009-09-10 19:28+0400\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "Пользователь вошедший в систему в настоящий момент" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" "Список всех имён пользователей журнала ранее использовавшихся на этой машине." #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "Число настроений сохраняемых локально." #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "Список настроений меню drivel." #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Drivel: Редактор журнала" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Редактор журнала" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Обновление и управление онлайновым журналом" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Черновик журнальной записи" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "Валёк Филиппов " #: ../src/about.c:85 msgid "With help from:" msgstr "С помощью:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "И многих других -- всем спасибо!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "Журнальный клиент для GNOME." #: ../src/about.c:108 msgid "Homepage:" msgstr "Домашняя страница:" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Ошибка сервера" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "Сервер не вернул подходящий ответ Atom." #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "Неизвестная ошибка" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "Ошибка публикации записи" #: ../src/blog_lj.c:290 msgid "default" msgstr "по умолчанию" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Нет" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Не в сети" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Нет записей в журнале]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Установки системы по умолчанию" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Нет имени пользователя" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Пожалуйста введите имя пользователя для добавления." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Общее" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Личное" #: ../src/dialogs.c:809 msgid "Community" msgstr "Сообщество" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Лента новостей" #: ../src/dialogs.c:813 msgid "User" msgstr "Пользователь" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Добавить друга" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "Имя друга:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "Цвет _текста:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "Цвет _фона:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "Невозможно выполнить операцию с файлом" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "Невозможно открыть выбранный файл" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "Сохранить содержимое этой журнальной записи вместо очистки?" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "Если не сохранить, содержимое этой записи будет утрачено." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "Сохранить изменения в этой журнальной записи перед закрытием?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "Если не сохранить, изменения в этой записи будут утрачены." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Время" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Запись в журнале" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Тип" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Ссылка" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Имя пользователя" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Имя" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "Доступен" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "В группе" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Открыть незаконченную запись для журнала" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Переключиться на другого пользователя" #: ../src/drivel-gtk.glade.h:4 msgid "Clear Entry" msgstr "Очистить запись" #: ../src/drivel-gtk.glade.h:5 msgid "Preferences" msgstr "Настройки" #: ../src/drivel-gtk.glade.h:6 msgid "Highlight Spelling Errors" msgstr "Подсвечивать опечатки" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "Полужирный" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "Курсив" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "Подчеркивание" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "Зачеркивание" #: ../src/drivel-gtk.glade.h:11 msgid "Help" msgstr "Справка" #: ../src/drivel-gtk.glade.h:12 msgid "About" msgstr "О программе" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "Тема:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "Безопасность:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "Настроение:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "Музыка:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "Метки:" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "Отключить комментарии" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "Запретить комментарии к этой записи" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Не выполнять автоформатирование текста" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "Не проводить автоматически лексический анализ переносов строк или " "гиперссылок в тегах HTML" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "Прошедшая дата:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "Пометить запись как опубликованную в указанный день" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "Картинка:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "Категория:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Показать больше параметров" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Удалить выбранную запись из вашего журнала." #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "Сохранить черновик" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Сохранить текущую запись без добавления в журнал" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "Обновить" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Обновить выбранную запись в вашем журнале" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "Отправить" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Поместить текущую запись в ваш журнал" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Вставить опрос" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "Название опроса (необязательно):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "Голосую_щие:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "Результаты видны:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Вопросы:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "Добавить вопрос" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "Добавить ответ" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "Вверх" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Тип:" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "Вопрос:" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "Размер текстового поля (необязательно):" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "Максимальная ­длина текстового поля необязательно):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_С:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "На:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "По:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "Ответ:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "Вставить" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Настройки Drivel" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "Поведение записи" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Минимизировать после входа" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "Автоматически минимизировать окно журнала после входа" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Минимизировать после отправки записи" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "Автоматически минимизировать окно журнала после отправки записи" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "Подсвечивать HTML в журнальной записи" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "" "Показывать ключевые слова HTML цветами отличающимися от обычного текста" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Подсвечивать слова с ошибками" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "Подсвечивает слова не найденные в вашем компьютерном словаре" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "Словарь:" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "Область уведомления" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "Извещать об обновлении страницы друзей" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Показывать предупреждение при обновлении страницы друзей\n" "(только платные пользователи LiveJournal)" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "Публикация" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "Извещать Technorati об обновлениях" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" "Уведомить Technorati (популярный движок поиска в журналах) о новых записях" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "Свойство шрифта" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "Использовать шрифт темы по умолчанию" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "Шрифт в редакторе:" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Общие" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "Параметры отправки по умолчанию" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "" "Не проводить автоматически лексический анализ переносов строк в тегах HTML" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Настройки для записи" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Регистрационное имя для журнала" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "Имя пользователя:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "Пароль:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "Автоматический вход" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_Запомнить пароль" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "Тип журнала:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "Адрес сервера:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "Перейти в режим работы вне сети" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "Войти" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Правка истории" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Правка" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Правка друзей" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "Просмотр журнала" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "Подробности" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Имя пользователя:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Тип журнала:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Цвет _текста:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Цвет фона:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Выбрать цвет текста" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Выбрать цвет фона" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Вставить ссылку" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "Текст:" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "Создать ссылку на..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "сайт в Интернет" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "Расположение:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "Пример:" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "другой пользователь Live_Journal" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "остаток этой записи" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "Вставить ссылку..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Вставить изображение" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "Изображение" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "Атрибуты (необязательно)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "Вы_сота:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Ширина:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Описание:" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "Вставить изображение..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "Группы безопасности" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "Группы" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "Сведения о группе" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "_Имя:" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "_Порядок" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "Публичное" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Всем пользователям" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Друзьям" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Текст" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Выпадающее меню для выбора" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Исключающий выбор" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Выбор всего что подходит" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Текстовое поле" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Масштаб" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "Открыть эту запись для редактирования" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "Обновить этот список" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "Журнале %s - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "Сообщество %s - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Не в сети - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - Открыть черновик" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Все файлы XML" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "Черновики отправлений drivel" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Сохранить черновик" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Выберите учётную запись для журнала" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "Настройки применяются раздельно к каждой учётной записи, поэтому вы должны " "выбрать учётную запись прежде чем редактировать её настройки." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Выбрать журнал для публикации" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "Журнал" #: ../src/journal.c:3374 msgid "_View" msgstr "_Вид" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Формат" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "Ссылки" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "_Справка" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "Открыть черновик..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "Сохранить черновик" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Сохранить черновик как..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "Последние записи" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "Последние черновики" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "Опубликовать запись" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "Обновить запись" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "Удалить запись" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Завершить сеанс" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "Очистить запись" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Выделить вс_е" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "Последняя запись" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Редактировать последнюю опубликованную запись" #: ../src/journal.c:3393 msgid "_Friends" msgstr "Друзья" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Правка списка друзей" #: ../src/journal.c:3394 msgid "_History" msgstr "_История" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Просмотр или редактирование предыдущей записи" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "Правка специальных групп людей имеющих возможность читать ваши записи" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "Активный журнал" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "Верхний индекс" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "Нижний индекс" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "Список" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "Элемент списка" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "Отступ" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Вставить ссылку..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Создать ссылку на веб-страницу, пользователя LiveJournal или длинную " "журнальную запись." #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Вставить изображение..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Вставить изображение в журнальную запись" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Вставить опрос..." #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "_Содержание" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "Часто задаваемые вопросы" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "_О программе" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Дополнительные параметры записи" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "Подсвечивать опечатки" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "Подсвечивать HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "Неправильное имя пользователя" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Имя пользователя содержит недопустимые символы." #: ../src/login.c:929 msgid "Remove Account" msgstr "Удалить учётную запись" #: ../src/login.c:931 msgid "_Preferences" msgstr "Настройки" #: ../src/login.c:1139 msgid "Drafts" msgstr "Черновики" #: ../src/main.c:58 msgid "Error" msgstr "Ошибка" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "Возникла ошибка на сервере. Попробуйте позже." #: ../src/main.c:351 msgid "Friends Only" msgstr "Только для друзей" #: ../src/main.c:767 msgid "Display debugging output" msgstr "Показывать отладку" #: ../src/main.c:770 msgid "file" msgstr "файл" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Сбой при инициализации GConf: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Не удалось инициализировать GnomeVFS!\n" #: ../src/network.c:64 msgid "Done" msgstr "Выполнено" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "Вход в . . " #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "Скачивание пользовательских картинок" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "Публикация журнальной записи" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "Обновление журнальной записи" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "Получение журнальных записей" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "Получение истории журнала" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "Обновление списка друзей" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "Получение списка друзей" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "Получение категорий" #: ../src/network.c:118 msgid "Setting categories" msgstr "Установка категорий" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "Публикация журнальной записи" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "Удаление журнальной записи" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "Извещение Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "Получение групп безопасности" #: ../src/network.c:143 msgid "Updating security groups" msgstr "Обновление групп безопасности" #: ../src/network.c:315 msgid "Network connection failed" msgstr "Ошибка сетевого подключения" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "Не удалось понять ответ сервера" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Музыка выключена" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "Просмотр страницы друзей" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "Убрать с панели быстрого доступа" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Безымянный" drivel-3.0.5/po/pl.po0000644000175000017500000010106511731016426011322 00000000000000# msgid "" msgstr "" "Project-Id-Version: drivel VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2005-07-08 23:13+0200\n" "Last-Translator: \n" "Language-Team: Polish \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-2\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "Obecnie zalogowany uytkownik" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "Lista wszystkich poprzednich uytkownikw blogw na tym komputerze" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "Liczba modw przechowywanych lokalnie" #: ../data/drivel.schemas.in.h:4 #, fuzzy msgid "A list of moods for the drivel menu." msgstr "Lista modw dla GtkCombo menu" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Edytor blogw Drivel" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Edytor blogw" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Aktualizuj i zarzdzaj blogiem" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Szkic wpisu" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "Micha Kastelik " #: ../src/about.c:85 msgid "With help from:" msgstr "Z pomoc:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "I wielu innych - dzikuj Wam wszystkim!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "Klient blogw pod GNOME" #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Bd serwera" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "Serwer nie odpowiada" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "" #: ../src/blog_atom.c:411 #, fuzzy msgid "Error Posting Entry" msgstr "_Wylij wpis" #: ../src/blog_lj.c:290 msgid "default" msgstr "domylny" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "aden" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Offline" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Brak wpisw]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Domylne ustawienia systemu" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Niewaciwy uytkownik" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Wpisz uytkownika do dodania" #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Publiczne" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Prywatne" #: ../src/dialogs.c:809 msgid "Community" msgstr "Komunikacja" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Syndicated Feed" #: ../src/dialogs.c:813 msgid "User" msgstr "Uytkownik" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Dodaj przyjaciela" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "_Nazwa przyjaciela:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "Kolor _tekstu:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "Kolor ta:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "Nie mona wykona operacji na pliku" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "Nie mona otworzy wskazanego pliku" #: ../src/dialogs.c:1323 #, fuzzy msgid "Save the content of this journal entry instead of clearing?" msgstr "Zapisa zmiany wpisu tego bloga przed zamkniciem?" #: ../src/dialogs.c:1324 #, fuzzy msgid "If you don't save, content of this entry will be discarded." msgstr "Jeli nie zapiszesz zmian, wpis bdzie anulowany." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "Zapisa zmiany wpisu tego bloga przed zamkniciem?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "Jeli nie zapiszesz zmian, wpis bdzie anulowany." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Czas" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Wpis bloga" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Typ" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Odnonik" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Uytkownik" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Nazwa" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "Dostpny" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "W grupie" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Otwrz niedokoczony wpis" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Przecz uytkownika" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "Wyczy wpis" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "_Preferencje" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "Podwietlaj bdy pisowni" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "_Pomoc" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "O _aplikacji" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Temat:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "Bezpieczes_two:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Mood:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "M_uzyka:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "Wycz kome_ntarze" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "Nie pozwalaj uytkownikom komentowa ten wpis" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Wycz automatyczne formatowanie _tekstu" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "Do not automatically parse line-breaks or website links into HTML tags" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "Ostatnia d_ata:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "Oznacz wpis do wysania okrelonego dnia" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "Ob_razek:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "_Kategoria:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Poka wicej opcji" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Usu wybrany wpis z bloga" #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "_Zapisz szkic" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Zapisz biecy wpis bez dodawania go do bloga" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "_Aktualizuj" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Aktualizuj wybrany wpis w blogu" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Wysane" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Wylij biecy wpis do bloga" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Wstaw ankiet" #: ../src/drivel-gtk.glade.h:35 #, fuzzy msgid "Poll _name (optional):" msgstr "_Nazwa ankiety (opcjonalnie):" #: ../src/drivel-gtk.glade.h:36 #, fuzzy msgid "Voter_s:" msgstr "Gosujc_y:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Wyniki widoczne do:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Pytania:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "Dodaj p_ytanie" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "Dodaj od_powied" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Typ:" #: ../src/drivel-gtk.glade.h:43 #, fuzzy msgid "Qu_estion:" msgstr "Pyta_nie:" #: ../src/drivel-gtk.glade.h:44 #, fuzzy msgid "Text _field size (optional):" msgstr "_Wielko pola tekstu (opcjonalnie):" #: ../src/drivel-gtk.glade.h:45 #, fuzzy msgid "Maximum text _length (optional):" msgstr "Maksyma_lna dugo tekstu (opcjonalnie):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_Od:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "Do:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "_Przez:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "Od_powied:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "_Wstaw" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Drivel Preferencje" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr "Zachowanie wpisu" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Minimalizuj po za_logowaniu" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "Minimalizuj gwne okno programu po zalogowaniu" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Minimalizuj _po wysaniu" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "Minimalizuj gwne okno po wysaniu wpisu" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "_Podwietlaj HTML w wpisie" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "Wywietlaj kod HTML w innych kolorach ni normalny tekst" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Podwietlanie nierozpoznanych sw" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "Podwietlaj wyrazy nie znalezione w twoim sowniku" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "_Sownik:" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr "Panel powiadamiania" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "Zawiadamiaj kiedy lista przyjaci zostanie zmieniona" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Wywietlaj powiadomienie kiedy Strona Przyjaci zostanie zmieniona\n" "(Tylko uytkownicy LiveJournal)" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr "Publikacja" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "Zawiadamiaj kiedy _Technorati zostanie zaktualizowany" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "Powiadam modu szukania Technorati o nowych wpisach" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Oglne" #: ../src/drivel-gtk.glade.h:73 #, fuzzy msgid "Default Post Options" msgstr "Domylne preferencje listw" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "Do not automatically parse line-breaks into HTML tags" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Domylny wpis" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Logowanie" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_Uytkownik:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Haso:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "_Zaloguj automatycznie" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "Za_pamitaj haso" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "_Typ bloga:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "_Adres serwera:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "Tryb _offline" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "_Zaloguj" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Modyfikuj historie" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Modyfikuj" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Modyfikuj list przyjaci" #: ../src/drivel-gtk.glade.h:88 #, fuzzy msgid "_View journal" msgstr "_Blog" #: ../src/drivel-gtk.glade.h:89 #, fuzzy msgid "Details" msgstr "Szczegy" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Uytkownik:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Typ bloga:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Kolor tekstu:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Kolor ta:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Wybierz kolor tekstu" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Wybierz kolor ta" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Wstaw odnonik" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "_Tekst:" #: ../src/drivel-gtk.glade.h:99 #, fuzzy msgid "Create a link to..." msgstr "Wstaw odnonik do..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "_serwer w Internecie" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "_Pooenie:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "inny uytkownik bloga" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "poka _cay tekst tego wpisu" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "Wstaw odnonik..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Wstaw obrazek" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 #, fuzzy msgid "Attributes (Optional)" msgstr "Atrybuty (Opcjonalnie)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Wysoko:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Szeroko:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Popis:" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "Wstaw obrazek..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "Bezpieczne grupy" #: ../src/drivel-gtk.glade.h:116 #, fuzzy msgid "Groups" msgstr "W grupie" #: ../src/drivel-gtk.glade.h:117 #, fuzzy msgid "Group Details" msgstr "Szczegy grupy" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "_Nazwa:" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "_Porada" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "_Publiczny" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Wszyscy uytkownicy" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Przyjaciele" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Tekst" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Wybieranie w rozwijanej listy" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Przyciski radiowe" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Wybieranie jednej odpowiedzi" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Tekst wpisu" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Skala" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "Otwrz ten wpis do modyfikacji" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "Odwie t list" # Ouch #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "Blog uytkownika %s - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "Komunikacja %s - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Offline - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - Otwrz szkic" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Wszystkie plikii XML" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Zapisz szkic" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Wybierz konto bloga" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "Ustalaj preferencje dla kadego konta osobno, wybierz konto zanim zaczniesz " "modyfikowa preferencje." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Wybierz blog do ktrego chcesz wysa wpis" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "_Blog" #: ../src/journal.c:3374 msgid "_View" msgstr "_Poka" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Format" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "Odnoniki" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "_Pomoc" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Otwrz szkic..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "_Zapisz szkic" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Zapisz szkic _jako..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "_Ostatnie wpisy" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "Ostatnie_szkice" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "_Wylij wpis" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "_Aktualizuj wpis" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "_Usu wpis" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Wyloguj" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "Wyczy wpis" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Zaznacz wszystko" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "_Ostatni wpis" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Modyfikuj ostatni wysany wpis" #: ../src/journal.c:3393 msgid "_Friends" msgstr "_Przyjacielei" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Modyfikuj list przyjaci" #: ../src/journal.c:3394 msgid "_History" msgstr "_Historia" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Poka lub modyfikuj poprzedni wpis" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "Modyfikuj grup przyjaci, ktta moe czyta twoje wpisy" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "_Aktywny blog" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "_Grny indeks" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "_Dolny indeks" #: ../src/journal.c:3404 #, fuzzy msgid "Lis_t" msgstr "_Lista" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "_Element listy" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "Od_sazen" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Wstaw _odnonik" #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Stwrz odnonik do strony internetowej, uytkownika bloga lub dugiego wpisu" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Wstaw obraz_ek" #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Wstaw obrazek do twojego wpisu" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Wstaw _Ankiet" #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "_Komentarze" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "O _aplikacji" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Wicej _opcji wpisu" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "Podwietlaj bdy pisowni" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "Podwietlaj kod HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "Za nazwa uytkownika" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Nazwa uytkownika zawiera niewaciwe znaki." #: ../src/login.c:929 msgid "Remove Account" msgstr "Usu konto" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Preferencje" #: ../src/login.c:1139 msgid "Drafts" msgstr "Szkice" #: ../src/main.c:58 msgid "Error" msgstr "Bd" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "Bd serwera. Sprbuj pniej." #: ../src/main.c:351 msgid "Friends Only" msgstr "Tylko dla przyjaci" #: ../src/main.c:767 #, fuzzy msgid "Display debugging output" msgstr "Wywietlana minuta" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Bd inicjalizacji GConf: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Bd inicjalizacji GnomeVFS!\n" #: ../src/network.c:64 #, fuzzy msgid "Done" msgstr "aden" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "Przesyanie zdjcia uytkownika" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "Wysyanie wpisu bloga" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "Aktualizacja wpisu bloga" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "Otrzymywanie wpisw bloga" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "Otrzymywanie historii wpisw" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "Aktualizacja listy przyjaci" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "Otrzymywanie listy przyjaci" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "Otrzymywanie kategorii" #: ../src/network.c:118 msgid "Setting categories" msgstr "Modyfikacja kategorii" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "Publikowanie wpisu bloga" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "Kasowanie wpisu blogu" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "Pokazuj Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "Przesyanie zabezpieczenia grup" #: ../src/network.c:143 msgid "Updating security groups" msgstr "Aktualizuj zabezpieczenie grup" #: ../src/network.c:315 msgid "Network connection failed" msgstr "" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Wyczenie odtwarzania muzyki" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "Poka strony przyjaci" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "_Usu z paska zada" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Beznazwy" #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "Zapisa zmiany wpisu tego bloga przed wysaniem?" #, fuzzy #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "Przykad: http://gnome.org/pic.png" #, fuzzy #~ msgid "Example: http://www.gnome.org" #~ msgstr "Przykad: http://www.gnome.org" #~ msgid "Retrieving user information" #~ msgstr "Otrzymywanie informacji o uytkowniku" #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "Zadanie jest wykonywane, ale nie zostao okrelone jakie" #~ msgid "Sending / Receiving" #~ msgstr "Wylij/Odbierz" #~ msgid "_Add..." #~ msgstr "_Dodaj..." #~ msgid "_Edit..." #~ msgstr "_Modyfikuj..." #~ msgid "Save _Draft" #~ msgstr "_Zapisz szkic" #~ msgid "_Don't Save" #~ msgstr "_Nie zapisuj" #~ msgid "Groups" #~ msgstr "Grupa" #~ msgid "Image" #~ msgstr "Obrazek" #~ msgid "Link" #~ msgstr "Odnonik" #~ msgid "Display flags" #~ msgstr "Wywietlaj flagi" #~ msgid "Displayed date and/or time properties" #~ msgstr "Preferencje wywietlanej daty i/lub czasu" #~ msgid "Lazy mode" #~ msgstr "Tryb wolny" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "Tryb wolny nie normalizuje wpisanych dat ani czasw" #~ msgid "Year" #~ msgstr "Rok" #~ msgid "Displayed year" #~ msgstr "Wywietlany rok" #~ msgid "Month" #~ msgstr "Miesic" #~ msgid "Displayed month" #~ msgstr "Wywietlany miesic" #~ msgid "Day" #~ msgstr "Dzie" #~ msgid "Displayed day of month" #~ msgstr "Wywietlany dzie miesica" #~ msgid "Hour" #~ msgstr "Godzina" #~ msgid "Displayed hour" #~ msgstr "Wywietlana godzina" #~ msgid "Minute" #~ msgstr "Minuta" #~ msgid "Second" #~ msgstr "Sekunda" #~ msgid "Displayed second" #~ msgstr "Wywietlana sekunda" #~ msgid "Lower limit year" #~ msgstr "Dolny limit roku" #~ msgid "Year part of the lower date limit" #~ msgstr "Rok, cz dolnego limitu daty" #~ msgid "Upper limit year" #~ msgstr "Grny limit roku" #~ msgid "Year part of the upper date limit" #~ msgstr "Rok, cz grnego limitu daty" #~ msgid "Lower limit month" #~ msgstr "Dolny limit miesica" #~ msgid "Month part of the lower date limit" #~ msgstr "Miesic, cz dolnego limitu daty" #~ msgid "Upper limit month" #~ msgstr "Grny limit miesica" #~ msgid "Month part of the upper date limit" #~ msgstr "Miesic, cz grnego limitu daty" #~ msgid "Lower limit day" #~ msgstr "Dolny limit dnia" #~ msgid "Day of month part of the lower date limit" #~ msgstr "Dzie meisica, cz dolnego limitu daty" #~ msgid "Upper limit day" #~ msgstr "Grny limit dnia" #~ msgid "Day of month part of the upper date limit" #~ msgstr "Dzie miesica, cz grnego limitu daty" #~ msgid "Lower limit hour" #~ msgstr "Dolny limit godziny" #~ msgid "Hour part of the lower time limit" #~ msgstr "Godzina, cz dolnego limitu czasu" #~ msgid "Upper limit hour" #~ msgstr "Grny limit godziny" #~ msgid "Hour part of the upper time limit" #~ msgstr "Godzina, cz grnego limitu czasu" #~ msgid "Lower limit minute" #~ msgstr "Dolny limit minuty" #~ msgid "Minute part of the lower time limit" #~ msgstr "Minuta, cz grnego limitu czasu" #~ msgid "Upper limit minute" #~ msgstr "Grny limit minuty" #~ msgid "Minute part of the upper time limit" #~ msgstr "Minuta, cz grnego limitu czasu" #~ msgid "Lower limit second" #~ msgstr "Dolny limit sekundy" #~ msgid "Second part of the lower time limit" #~ msgstr "Sekunda, cz dolnego limitu czasu" #~ msgid "Upper limit second" #~ msgstr "Grny limit sekundy" #~ msgid "Second part of the upper time limit" #~ msgstr "Sekunda, cz grnego limitu czasu" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:1" #~ msgid "Date" #~ msgstr "Data" #~ msgid "Enter the date directly" #~ msgstr "Wstaw dat bezporednio" #~ msgid "Select Date" #~ msgstr "Wybierz dat" #~ msgid "Select the date from a calendar" #~ msgstr "Wybierz dat z kalendarza" #~ msgid "Enter the time directly" #~ msgstr "Wpisz godzin bezporednio" #~ msgid "Select Time" #~ msgstr "Wybierz czas" #~ msgid "Select the time from a list" #~ msgstr "Wybierz godzin z listy" #~ msgid "24hr: no" #~ msgstr "24hr: nie" #~ msgid "AM" #~ msgstr "AM" #~ msgid "PM" #~ msgstr "PM" #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%02d:%02d:%02d %s" #~ msgid "%02d:%02d %s" #~ msgstr "%02d:%02d %s" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d:%02d:%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d:%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d-%02d-%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "Orientacja" #~ msgid "The orientation of the tray." #~ msgstr "Orientacja paska zada." #~ msgid "Communication Error" #~ msgstr "Bd komunikacji" #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "" #~ "Bd w czasie wysyania informacji do serwera. Sprbuj ponownie pniej." #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "Nie mona otrzyma informacji z serwera. Sprbuj ponownie pniej." #~ msgid "Sign _Up..." #~ msgstr "_Vytvořit..." #~ msgid "What's a LiveJournal?" #~ msgstr "Co je LiveJournal?" #~ msgid "Invalid journal server" #~ msgstr "" #~ "NeplatnĂ˝ server " #~ "denĂ­ku" #~ msgid "Please enter a journal server address." #~ msgstr "" #~ "Zadejte prosĂ­m adresu serveru s " #~ "denĂ­kem." #~ msgid "Custom..." #~ msgstr "VlastnĂ­..." #~ msgid "Account Information" #~ msgstr "" #~ "Informace o " #~ "účtu" #~ msgid "Journal Server" #~ msgstr "Server s denĂ­kem" #~ msgid "Server Options" #~ msgstr "MoĚŞnosti serveru" #~ msgid "Account Manager" #~ msgstr "" #~ "SprĂĄvce " #~ "účtĚŝ" #~ msgid "Display a journal update alert in the notification area" #~ msgstr "" #~ "Zobrazovat " #~ "upozorněnĂ­ " #~ "na aktualizaci denĂ­ku v " #~ "oznamovacĂ­ oblasti" #~ msgid "Enable _tray icon" #~ msgstr "Povolit _ikonu v oznamovacĂ­ oblasti" #~ msgid "Network" #~ msgstr "SĂ­ĹĽ" #~ msgid "_Address:" #~ msgstr "_Adresa:" #~ msgid "_Server:" #~ msgstr "_Server:" #~ msgid "_Traditional (POST) interface" #~ msgstr "" #~ "_TradičnĂ­ " #~ "rozhranĂ­ (POST)" #~ msgid "_XML-RPC interface" #~ msgstr "RozhranĂ­ _XML-RPC" #~ msgid "You must enter your username first." #~ msgstr "" #~ "Nejdříve " #~ "musĂ­te zadat " #~ "svĂŠ " #~ "jmĂŠno " #~ "uĚŞivatele." #~ msgid "_Show Entry" #~ msgstr "_Zobrazit zĂĄznam" #~ msgid "The file does not appear to be a valid draft." #~ msgstr "" #~ "Soubor " #~ "zřejmě " #~ "nenĂ­ platnĂ˝ " #~ "koncept." drivel-3.0.5/po/sq.po0000644000175000017500000007014311731016427011335 00000000000000# Përkthimi i mesazheve të drivel në shqip # Copyright (C) 2004 THE drivel'S COPYRIGHT HOLDER # This file is distributed under the same license as the drivel package. # Laurent Dhima , 2004. # msgid "" msgstr "" "Project-Id-Version: drivel HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2004-09-03 17:40+0200\n" "Last-Translator: Laurent Dhima \n" "Language-Team: Albanian \n" "Language: sq\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "Përdoruesit e lidhur aktualisht." #: ../data/drivel.schemas.in.h:2 #, fuzzy msgid "A list of every journal username previously used on this machine." msgstr "A lista nga përdoruesi në." #: ../data/drivel.schemas.in.h:3 #, fuzzy msgid "The number of moods stored locally." msgstr "nga." #: ../data/drivel.schemas.in.h:4 #, fuzzy msgid "A list of moods for the drivel menu." msgstr "A lista nga për menuja." #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Editori i Gazetës Drivel" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Editori i Gazetës" #: ../data/gnome-drivel.desktop.in.h:3 #, fuzzy msgid "Update and manage your online journal" msgstr "Rifresko dhe organizo ditarin tuaj" #: ../data/mime/drivel.xml.in.h:1 #, fuzzy msgid "Draft journal entry" msgstr "Kopje e keqe" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 #, fuzzy msgid "translator-credits" msgstr "Laurent Dhima " #: ../src/about.c:85 msgid "With help from:" msgstr "Me ndihmë nga:" #: ../src/about.c:90 #, fuzzy msgid "And many others--thank you, all!" msgstr "And!" #: ../src/about.c:102 #, fuzzy msgid "A journal client for the GNOME desktop." msgstr "A për GNOME." #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Gabim i serverit" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "" #: ../src/blog_lj.c:290 msgid "default" msgstr "prezgjedhur" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Asnjë" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "" #: ../src/dialogs.c:319 ../src/dialogs.c:714 #, fuzzy msgid "[No journal entries]" msgstr "Jo" #. Context: Spell check dictionary #: ../src/dialogs.c:394 #, fuzzy msgid "System default" msgstr "prezgjedhur" #: ../src/dialogs.c:426 #, fuzzy msgid "Missing username" msgstr "Mungues përdoruesi" #: ../src/dialogs.c:427 #, fuzzy msgid "Please enter a username to add." msgstr "shkruaj a përdoruesi shto." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Publik" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Privat" #: ../src/dialogs.c:809 msgid "Community" msgstr "" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "" #: ../src/dialogs.c:813 msgid "User" msgstr "Përdoruesi" #: ../src/dialogs.c:867 #, fuzzy msgid "Add Friend" msgstr "Shto" #: ../src/dialogs.c:895 #, fuzzy msgid "_Friend's username:" msgstr "përdoruesi:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "Ngjyra e _tekstit:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "_Ngjyra e sfondit:" #: ../src/dialogs.c:1261 #, fuzzy msgid "Could not perform the file operation" msgstr "nuk" #: ../src/dialogs.c:1275 #, fuzzy msgid "Could not open the selected file" msgstr "nuk hap" #: ../src/dialogs.c:1323 #, fuzzy msgid "Save the content of this journal entry instead of clearing?" msgstr "Ruaj përpara?" #: ../src/dialogs.c:1324 #, fuzzy msgid "If you don't save, content of this entry will be discarded." msgstr "ruaj." #: ../src/dialogs.c:1359 #, fuzzy msgid "Save changes to this journal entry before closing?" msgstr "Ruaj përpara?" #: ../src/dialogs.c:1360 #, fuzzy msgid "If you don't save, changes to this entry will be discarded." msgstr "ruaj." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Ora" #: ../src/dialogs.c:1450 #, fuzzy msgid "Journal Entry" msgstr "Gazeta" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Lloji" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Lidhje" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Përdoruesi" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Emri" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 #, fuzzy msgid "Open an unfinished journal entry" msgstr "Hap" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 #, fuzzy msgid "Switch usernames" msgstr "Kalo" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "C" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "_Preferimet" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "Vër në dukje" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "_Ndihmë" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "_Informacione" #: ../src/drivel-gtk.glade.h:13 #, fuzzy msgid "_Subject:" msgstr "Subjekti:" #: ../src/drivel-gtk.glade.h:14 #, fuzzy msgid "Securit_y:" msgstr "p:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "" #: ../src/drivel-gtk.glade.h:16 #, fuzzy msgid "M_usic:" msgstr "M:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 #, fuzzy msgid "Tur_n off comments" msgstr "j komente" #: ../src/drivel-gtk.glade.h:19 #, fuzzy msgid "Do not allow users to comment on this entry" msgstr "Bëje nuk përdorues komenti në" #: ../src/drivel-gtk.glade.h:20 #, fuzzy msgid "Don't auto-format _text" msgstr "tekst" #: ../src/drivel-gtk.glade.h:21 #, fuzzy msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "Bëje nuk HTML" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "" #: ../src/drivel-gtk.glade.h:23 #, fuzzy msgid "Mark entry as having been posted on the selected date" msgstr "në data" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Shfaq _opcionet e tjera" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 #, fuzzy msgid "Delete the selected entry from your journal." msgstr "Elemino." #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "Ruaj Kopje e keqe" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 #, fuzzy msgid "Save the current entry without adding it to your journal" msgstr "Ruaj" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "Ri_fresko" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 #, fuzzy msgid "Update the selected entry in your journal" msgstr "Rifresko në" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "" #: ../src/drivel-gtk.glade.h:34 #, fuzzy msgid "Insert Poll" msgstr "Fut Votim" #: ../src/drivel-gtk.glade.h:35 #, fuzzy msgid "Poll _name (optional):" msgstr "Votim emri:" #: ../src/drivel-gtk.glade.h:36 #, fuzzy msgid "Voter_s:" msgstr "V:" #: ../src/drivel-gtk.glade.h:37 #, fuzzy msgid "_Results visible to:" msgstr "Rezultatet i dukshëm:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Pyetje:" #: ../src/drivel-gtk.glade.h:39 #, fuzzy msgid "Add _Question" msgstr "Shto Pyetje" #: ../src/drivel-gtk.glade.h:40 #, fuzzy msgid "Add _Answer" msgstr "Shto Përgjigje" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Lloji:" #: ../src/drivel-gtk.glade.h:43 #, fuzzy msgid "Qu_estion:" msgstr "Q:" #: ../src/drivel-gtk.glade.h:44 #, fuzzy msgid "Text _field size (optional):" msgstr "Teksti madhësia:" #: ../src/drivel-gtk.glade.h:45 #, fuzzy msgid "Maximum text _length (optional):" msgstr "tekst:" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_Nga:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "Për:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "_Ndërfut" #: ../src/drivel-gtk.glade.h:51 #, fuzzy msgid "Drivel Preferences" msgstr "Drivel Preferimet" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr " Sjellja" #: ../src/drivel-gtk.glade.h:53 #, fuzzy msgid "Minimize after _logging in" msgstr "mbas në" #: ../src/drivel-gtk.glade.h:54 #, fuzzy msgid "Automatically minimize the journal window after logging in" msgstr "dritare mbas në" #: ../src/drivel-gtk.glade.h:55 #, fuzzy msgid "Minimize after _posting" msgstr "mbas" #: ../src/drivel-gtk.glade.h:56 #, fuzzy msgid "Automatically minimize the journal window after posting an entry" msgstr "dritare mbas" #: ../src/drivel-gtk.glade.h:57 #, fuzzy msgid "_Highlight HTML in journal entry" msgstr "Vër në dukje HTML në" #: ../src/drivel-gtk.glade.h:58 #, fuzzy msgid "Display HTML keywords in different colors than normal text" msgstr "Shfaq HTML në tekst" #: ../src/drivel-gtk.glade.h:59 #, fuzzy msgid "Highlight misspelled _words" msgstr "Vër në dukje" #: ../src/drivel-gtk.glade.h:60 #, fuzzy msgid "Highlight words not found in your computer's dictionary" msgstr "Vër në dukje nuk në" #: ../src/drivel-gtk.glade.h:61 #, fuzzy msgid "_Dictionary:" msgstr "_Përshkrimi:" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr " Lajmërim" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr " Lajmërim" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Të përgjithshme" #: ../src/drivel-gtk.glade.h:73 #, fuzzy msgid "Default Post Options" msgstr " E prezgjedhur Mundësitë" #: ../src/drivel-gtk.glade.h:74 #, fuzzy msgid "Do not automatically parse line-breaks into HTML tags" msgstr "Bëje nuk HTML" #: ../src/drivel-gtk.glade.h:75 #, fuzzy msgid "Entry Defaults" msgstr "Vlerat e prezgjedhura" #: ../src/drivel-gtk.glade.h:76 #, fuzzy msgid "Journal Login" msgstr "Gazeta Futu" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_Përdoruesi:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Fjalëkalimi:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_Kujto fjalëkalimin" #: ../src/drivel-gtk.glade.h:81 #, fuzzy msgid "Journal _type:" msgstr "Gazeta Lloji:" #: ../src/drivel-gtk.glade.h:82 #, fuzzy msgid "_Server address:" msgstr "_Adresa:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "_Futu" #: ../src/drivel-gtk.glade.h:85 #, fuzzy msgid "Edit History" msgstr "Ndrysho Kronollogjia" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Ndrysho" #: ../src/drivel-gtk.glade.h:87 #, fuzzy msgid "Edit Friends" msgstr "Ndrysho" #: ../src/drivel-gtk.glade.h:88 #, fuzzy msgid "_View journal" msgstr "Gazeta" #: ../src/drivel-gtk.glade.h:89 #, fuzzy msgid "Details" msgstr " Hollësi" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Përdoruesi:" #: ../src/drivel-gtk.glade.h:91 #, fuzzy msgid "Journal Type:" msgstr "Gazeta Lloji:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Ngjyra e tekstit:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Ngjyra e sfondit:" #: ../src/drivel-gtk.glade.h:94 #, fuzzy msgid "Choose a text color" msgstr "a tekst" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Zgjidh një ngjyrë për sfondin" #: ../src/drivel-gtk.glade.h:96 #, fuzzy msgid "Insert Link" msgstr "Shto lidhje" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "_Teksti:" #: ../src/drivel-gtk.glade.h:99 #, fuzzy msgid "Create a link to..." msgstr " Krijo a lidhje" #: ../src/drivel-gtk.glade.h:100 #, fuzzy msgid "a _site on the Internet" msgstr "a siti në Internet" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "_Pozicioni:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 #, fuzzy msgid "another Live_Journal user" msgstr "Gazeta përdorues" #: ../src/drivel-gtk.glade.h:104 #, fuzzy msgid "the _rest of this entry" msgstr "nga" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "Fut Lidhje." #: ../src/drivel-gtk.glade.h:106 #, fuzzy msgid "Insert Image" msgstr "Fut Figura" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 #, fuzzy msgid "Attributes (Optional)" msgstr " Veçoritë Me dëshirë" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Lartësia:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 #, fuzzy msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Gjerësia:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Përshkrimi:" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "Fut Figura." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 #, fuzzy msgid "Security Groups" msgstr "p:" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "" #: ../src/drivel-gtk.glade.h:117 #, fuzzy msgid "Group Details" msgstr " Hollësi" #: ../src/drivel-gtk.glade.h:118 #, fuzzy msgid "_Name:" msgstr "Emri" #: ../src/drivel-gtk.glade.h:119 #, fuzzy msgid "_Order" msgstr "_Provider:" #: ../src/drivel-gtk.glade.h:120 #, fuzzy msgid "_Public" msgstr "Publik" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Të gjithë përdoruesit" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Teksti" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "" #: ../src/insert_poll_dialog.c:222 #, fuzzy msgid "Radio selection" msgstr "Radio" #: ../src/insert_poll_dialog.c:224 #, fuzzy msgid "Checkbox selection" msgstr "Kutia e zgjedhjes" #: ../src/insert_poll_dialog.c:226 #, fuzzy msgid "Text entry" msgstr "Teksti" #: ../src/insert_poll_dialog.c:228 #, fuzzy msgid "Scale" msgstr "Shkalla" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "" #: ../src/journal.c:389 #, fuzzy, c-format msgid "%s's Journal - Drivel" msgstr "Gazeta Drivel" #: ../src/journal.c:392 #, fuzzy, c-format msgid "The %s Community - Drivel" msgstr "Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "" #: ../src/journal.c:829 #, fuzzy msgid "Drivel - Open Draft" msgstr "Drivel Hap Kopje e keqe" #: ../src/journal.c:838 ../src/journal.c:1109 #, fuzzy msgid "All XML Files" msgstr "Gjithçka XML Files" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 #, fuzzy msgid "Drivel - Save Draft" msgstr "Drivel Ruaj Kopje e keqe" #: ../src/journal.c:2782 #, fuzzy msgid "Please select a journal account" msgstr "Zgjidh a" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" #: ../src/journal.c:3087 #, fuzzy msgid "Select a journal to post to" msgstr "Zgjidh a" #: ../src/journal.c:3372 ../src/login.c:925 #, fuzzy msgid "_Journal" msgstr "Gazeta" #: ../src/journal.c:3374 msgid "_View" msgstr "" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Formato" #: ../src/journal.c:3376 #, fuzzy msgid "_Web Links" msgstr "Web Lidhje" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "_Ndihmë" #: ../src/journal.c:3378 #, fuzzy msgid "_Open Draft..." msgstr "Hap Kopje e keqe." #: ../src/journal.c:3379 #, fuzzy msgid "_Save Draft" msgstr "Ruaj Kopje e keqe" #: ../src/journal.c:3380 #, fuzzy msgid "Save Draft _as..." msgstr "Ruaj Kopje e keqe." #: ../src/journal.c:3381 #, fuzzy msgid "_Recent Entries" msgstr "Elemino" #: ../src/journal.c:3382 #, fuzzy msgid "Recent _Drafts" msgstr "Kopje" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 #, fuzzy msgid "_Update Entry" msgstr "Rifresko" #: ../src/journal.c:3386 #, fuzzy msgid "_Delete Entry" msgstr "Elemino" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Dil" #: ../src/journal.c:3389 #, fuzzy msgid "C_lear Entry" msgstr "C" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Zgjidh _gjithçka" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 #, fuzzy msgid "Last _Entry" msgstr "E fundit" #: ../src/journal.c:3392 #, fuzzy msgid "Edit the last entry you posted" msgstr "Ndrysho e fundit" #: ../src/journal.c:3393 msgid "_Friends" msgstr "" #: ../src/journal.c:3393 #, fuzzy msgid "Edit your friends list" msgstr "Ndrysho lista" #: ../src/journal.c:3394 msgid "_History" msgstr "_Kronollogjia" #: ../src/journal.c:3394 #, fuzzy msgid "View or edit a previous entry" msgstr "Paraqitja ndrysho a paraardhësja" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" #: ../src/journal.c:3396 #, fuzzy msgid "Active _Journal" msgstr "Aktiv Gazeta" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "" #: ../src/journal.c:3403 #, fuzzy msgid "Subs_cript" msgstr "Subscript" #: ../src/journal.c:3404 #, fuzzy msgid "Lis_t" msgstr "L" #: ../src/journal.c:3405 #, fuzzy msgid "List Ite_m" msgstr "Lista m" #: ../src/journal.c:3406 #, fuzzy msgid "I_ndent" msgstr "I" #: ../src/journal.c:3407 #, fuzzy msgid "Insert _Link..." msgstr "Fut Lidhje." #: ../src/journal.c:3407 #, fuzzy msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "Krijo a lidhje a faqe përdorues a" #: ../src/journal.c:3408 #, fuzzy msgid "Insert Ima_ge..." msgstr "Fut." #: ../src/journal.c:3408 #, fuzzy msgid "Insert an image into your journal entry" msgstr "Fut figurë" #: ../src/journal.c:3409 #, fuzzy msgid "Insert _Poll..." msgstr "Fut Votim." #: ../src/journal.c:3410 ../src/login.c:932 #, fuzzy msgid "_Contents" msgstr "_Përmbajtja" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "_Informacione" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "" #: ../src/journal.c:3417 #, fuzzy msgid "Highlight _Spelling Errors" msgstr "Vër në dukje" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "" #: ../src/login.c:504 msgid "Bad username" msgstr "Emër përdoruesi i keqformuar" #: ../src/login.c:505 #, fuzzy msgid "Username contains invalid characters." msgstr "Përdoruesi përmban I pavlefshëm." #: ../src/login.c:929 msgid "Remove Account" msgstr "" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Preferimet" #: ../src/login.c:1139 msgid "Drafts" msgstr "Kopje" #: ../src/main.c:58 msgid "Error" msgstr "Gabim" #: ../src/main.c:64 #, fuzzy msgid "Oh bother, there's a server error. Please try again later." msgstr "a server gabim." #: ../src/main.c:351 #, fuzzy msgid "Friends Only" msgstr "Vetëm" #: ../src/main.c:767 #, fuzzy msgid "Display debugging output" msgstr "minutë" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "" #: ../src/main.c:793 #, fuzzy msgid "Could not initialize GnomeVFS!\n" msgstr "nuk j" #: ../src/network.c:64 #, fuzzy msgid "Done" msgstr "Asnjë" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "" #: ../src/network.c:81 #, fuzzy msgid "Posting journal entry" msgstr "Kopje e keqe" #: ../src/network.c:86 #, fuzzy msgid "Updating journal entry" msgstr "Kopje e keqe" #: ../src/network.c:91 #, fuzzy msgid "Retrieving journal entries" msgstr "Jo" #: ../src/network.c:96 #, fuzzy msgid "Retrieving journal history" msgstr "Editori i Gazetës Drivel" #: ../src/network.c:101 #, fuzzy msgid "Updating Friends list" msgstr "Ndrysho lista" #: ../src/network.c:107 #, fuzzy msgid "Retrieving Friends list" msgstr "Ndrysho lista" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "" #: ../src/network.c:118 msgid "Setting categories" msgstr "" #: ../src/network.c:123 #, fuzzy msgid "Publishing journal entry" msgstr "Vër në dukje HTML në" #: ../src/network.c:128 #, fuzzy msgid "Deleting journal entry" msgstr "Kopje e keqe" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "" #: ../src/network.c:143 msgid "Updating security groups" msgstr "" #: ../src/network.c:315 msgid "Network connection failed" msgstr "" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "" #: ../src/query_music_players.c:115 #, fuzzy msgid "No song playing" msgstr "Jo" #: ../src/tray.c:129 #, fuzzy msgid "_View Friends Page" msgstr "Paraqitja Faqja" #: ../src/tray.c:135 #, fuzzy msgid "_Remove From Tray" msgstr "Hiq Nga" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "" #, fuzzy #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "Ruaj përpara?" #, fuzzy #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr " Shembullhttp://gnome.org/pic.png" #, fuzzy #~ msgid "Example: http://www.gnome.org" #~ msgstr " Shembullhttp://www.gnome.org" #~ msgid "_Add..." #~ msgstr "_Shto..." #~ msgid "_Edit..." #~ msgstr "_Ndrysho..." #, fuzzy #~ msgid "Save _Draft" #~ msgstr "Ruaj Kopje e keqe" #, fuzzy #~ msgid "_Don't Save" #~ msgstr "Ruaj" #, fuzzy #~ msgid "Image" #~ msgstr " Figura" #, fuzzy #~ msgid "Link" #~ msgstr " Lidhje" #, fuzzy #~ msgid "Display flags" #~ msgstr "Shfaq" #, fuzzy #~ msgid "Displayed date and/or time properties" #~ msgstr "data dhe ora pronësitë" #, fuzzy #~ msgid "Lazy mode" #~ msgstr "modaliteti" #, fuzzy #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "modaliteti data dhe ora" #, fuzzy #~ msgid "Year" #~ msgstr "Viti" #, fuzzy #~ msgid "Month" #~ msgstr "Muaji" #, fuzzy #~ msgid "Day" #~ msgstr "Dita" #, fuzzy #~ msgid "Displayed day of month" #~ msgstr "ditë nga" #, fuzzy #~ msgid "Hour" #~ msgstr "Orë" #, fuzzy #~ msgid "Displayed hour" #~ msgstr "orë" #, fuzzy #~ msgid "Minute" #~ msgstr "Minutë" #, fuzzy #~ msgid "Second" #~ msgstr "Sekonda" #, fuzzy #~ msgid "Displayed second" #~ msgstr "sekondë" #, fuzzy #~ msgid "Lower limit year" #~ msgstr "Inferior" #, fuzzy #~ msgid "Year part of the lower date limit" #~ msgstr "Viti nga data" #, fuzzy #~ msgid "Upper limit year" #~ msgstr "Superior" #, fuzzy #~ msgid "Year part of the upper date limit" #~ msgstr "Viti nga data" #, fuzzy #~ msgid "Lower limit month" #~ msgstr "Inferior" #, fuzzy #~ msgid "Month part of the lower date limit" #~ msgstr "Muaji nga data" #, fuzzy #~ msgid "Upper limit month" #~ msgstr "Superior" #, fuzzy #~ msgid "Month part of the upper date limit" #~ msgstr "Muaji nga data" #, fuzzy #~ msgid "Lower limit day" #~ msgstr "Inferior ditë" #, fuzzy #~ msgid "Day of month part of the lower date limit" #~ msgstr "Dita nga nga data" #, fuzzy #~ msgid "Upper limit day" #~ msgstr "Superior ditë" #, fuzzy #~ msgid "Day of month part of the upper date limit" #~ msgstr "Dita nga nga data" #, fuzzy #~ msgid "Lower limit hour" #~ msgstr "Inferior orë" #, fuzzy #~ msgid "Hour part of the lower time limit" #~ msgstr "Orë nga ora" #, fuzzy #~ msgid "Upper limit hour" #~ msgstr "Superior orë" #, fuzzy #~ msgid "Hour part of the upper time limit" #~ msgstr "Orë nga ora" #, fuzzy #~ msgid "Lower limit minute" #~ msgstr "Inferior minutë" #, fuzzy #~ msgid "Minute part of the lower time limit" #~ msgstr "Minutë nga ora" #, fuzzy #~ msgid "Upper limit minute" #~ msgstr "Superior minutë" #, fuzzy #~ msgid "Minute part of the upper time limit" #~ msgstr "Minutë nga ora" #, fuzzy #~ msgid "Lower limit second" #~ msgstr "Inferior sekondë" #, fuzzy #~ msgid "Second part of the lower time limit" #~ msgstr "Sekonda nga ora" #, fuzzy #~ msgid "Upper limit second" #~ msgstr "Superior sekondë" #, fuzzy #~ msgid "Second part of the upper time limit" #~ msgstr "Sekonda nga ora" #, fuzzy #~ msgid "calendar:week_start:0" #~ msgstr "kalendari:week_start:0" #, fuzzy #~ msgid "Date" #~ msgstr "Kopje" #, fuzzy #~ msgid "Enter the date directly" #~ msgstr "Shto data" #, fuzzy #~ msgid "Select Date" #~ msgstr "Zgjidh _gjithçka" #, fuzzy #~ msgid "Select the date from a calendar" #~ msgstr "Zgjidh datën nga një kalendar" #, fuzzy #~ msgid "Enter the time directly" #~ msgstr "Shto ora" #, fuzzy #~ msgid "Select Time" #~ msgstr "Zgjidh _gjithçka" #, fuzzy #~ msgid "Select the time from a list" #~ msgstr "Zgjidh orën nga një listë" #, fuzzy #~ msgid "24hr: no" #~ msgstr "jo" #~ msgid "Orientation" #~ msgstr "Orientimi" #~ msgid "The orientation of the tray." #~ msgstr "Orientimi i sirtarit." #, fuzzy #~ msgid "Invalid journal server" #~ msgstr "E pavlefshme server" #, fuzzy #~ msgid "Please enter a journal server address." #~ msgstr "shkruaj a server." #~ msgid "Custom..." #~ msgstr "Personalizimi..." #~ msgid "*" #~ msgstr "*" #, fuzzy #~ msgid "Journal Server" #~ msgstr " Gazeta Serveri" #, fuzzy #~ msgid "Server Options" #~ msgstr " Serveri Mundësitë" #~ msgid "DYNAMIC" #~ msgstr "DINAMIK" #, fuzzy #~ msgid "Display a journal update alert in the notification area" #~ msgstr "Shfaq a alarm në" #, fuzzy #~ msgid "Enable _tray icon" #~ msgstr "Aktivo ikonë" #~ msgid "Network" #~ msgstr "Rrjeti" #, fuzzy #~ msgid "_Traditional (POST) interface" #~ msgstr "Tradicionale interfaqja" #, fuzzy #~ msgid "_XML-RPC interface" #~ msgstr "XML interfaqja" #, fuzzy #~ msgid "drivel-add-answer" #~ msgstr "shto" #, fuzzy #~ msgid "drivel-add-friend" #~ msgstr "shto" #, fuzzy #~ msgid "drivel-add-question" #~ msgstr "shto" #, fuzzy #~ msgid "drivel-edit" #~ msgstr "ndrysho" #, fuzzy #~ msgid "drivel-sign-up" #~ msgstr "sipër" #, fuzzy #~ msgid "You must enter your username first." #~ msgstr "Ti shkruaj përdoruesi i pari." #, fuzzy #~ msgid "Sign _Up..." #~ msgstr "Sinj Sipër." #, fuzzy #~ msgid "What's a LiveJournal?" #~ msgstr "Çfarë a?" #, fuzzy #~ msgid "Communication Error" #~ msgstr "Ndërlidhje Gabim" #, fuzzy #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "a server." #, fuzzy #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "a server." #, fuzzy #~ msgid "_Show Entry" #~ msgstr "Shfaq" drivel-3.0.5/po/no.po0000644000175000017500000006155711731016426011336 00000000000000# Norwegian/Bokmaal translation of PACKAGE. # Copyright (C) 2004 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Terance Edward Sola , 2004. # # # msgid "" msgstr "" "Project-Id-Version: drivel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2004-07-29 12:52+0200\n" "Last-Translator: Terance Edward Sola \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "" #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 #, fuzzy msgid "Drivel Journal Editor" msgstr "Drivel - journalutkast" #: ../data/gnome-drivel.desktop.in.h:2 #, fuzzy msgid "Journal Editor" msgstr "Dagbok oppføring" #: ../data/gnome-drivel.desktop.in.h:3 #, fuzzy msgid "Update and manage your online journal" msgstr "Oppdater og vedlikehold din LiveJournal (Drivel)" #: ../data/mime/drivel.xml.in.h:1 #, fuzzy msgid "Draft journal entry" msgstr "Dagbok oppføring" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 #, fuzzy msgid "translator-credits" msgstr "Terance Edward Sola " #: ../src/about.c:85 msgid "With help from:" msgstr "" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "" #: ../src/about.c:102 #, fuzzy msgid "A journal client for the GNOME desktop." msgstr "En LiveJournal-klient for skrivebordsmiljøet GNOME." #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 #, fuzzy msgid "Server error" msgstr "_Tjener:" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "" #: ../src/blog_atom.c:411 #, fuzzy msgid "Error Posting Entry" msgstr "_Legg ut oppføring" #: ../src/blog_lj.c:290 msgid "default" msgstr "" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Ingen" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Ingen dagbok oppføringer]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "" #: ../src/dialogs.c:426 #, fuzzy msgid "Missing username" msgstr "_Brukernavn for venn:" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Skriv et brukernavn å legge til" #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Offentlig" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Privat" #: ../src/dialogs.c:809 msgid "Community" msgstr "Samfunn" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "" #: ../src/dialogs.c:813 msgid "User" msgstr "Bruker" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Legg til venn" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "_Brukernavn for venn:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "_Tekstfarge:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "_Bakgrunnsfarge:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "" #: ../src/dialogs.c:1275 #, fuzzy msgid "Could not open the selected file" msgstr "Kunne ikke åpne %s." #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "" #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "" #: ../src/dialogs.c:1442 msgid "Time" msgstr "Tid" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Dagbok oppføring" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Skriv" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Lenke" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Brukernavn" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Navn" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Åpne en uferdig oppføring" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Veksle brukernavn" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "Tøm o_ppføring" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "_Brukervalg" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "Uthev feilstavede _ord" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "_Hjelp" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "_Om" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Emne:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "Sikkerhe_t:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Humør:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "M_usikk:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 #, fuzzy msgid "Tur_n off comments" msgstr "For_by kommentarer" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Ikke autoformater _tekst" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "Bil_de:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Vis flere _alternativer" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Slett valgt oppføring fra din dagbok." #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "_Lagre utkast" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Lagre den nåværende teksten uten å legge den til dagboken din" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "O_ppdater" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Oppdater valgt oppføring i din dagbok" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Send" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Legg ut denne oppføringen i dagboken din" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Sett inn avstemning" #: ../src/drivel-gtk.glade.h:35 #, fuzzy msgid "Poll _name (optional):" msgstr "Navn på avstemning (valgfritt):" #: ../src/drivel-gtk.glade.h:36 #, fuzzy msgid "Voter_s:" msgstr "S_temmere:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Resultater synlige for:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Spørsmål:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "Legg til _spørsmål" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "Legg til _svar" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Type:" #: ../src/drivel-gtk.glade.h:43 #, fuzzy msgid "Qu_estion:" msgstr "S_pørsmål:" #: ../src/drivel-gtk.glade.h:44 #, fuzzy msgid "Text _field size (optional):" msgstr "Størrelse på tekst_felt (valgfritt):" #: ../src/drivel-gtk.glade.h:45 #, fuzzy msgid "Maximum text _length (optional):" msgstr "Maksimum tekst_lengde (valgfritt):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_Fra:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "Til:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "_Av:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "Bes_var:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "Sett _inn" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Drivel instillinger" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr "Oppførings oppførsel" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Minimer etter på_logging" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Minimer etter _posting" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "_Uthev HTML i dagbokoppføringer" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Uthev feilstavede _ord" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "" #: ../src/drivel-gtk.glade.h:61 #, fuzzy msgid "_Dictionary:" msgstr "_Beskrivelse:" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr "Varslingsområde" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr "Varslingsområde" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Generelt" #: ../src/drivel-gtk.glade.h:73 #, fuzzy msgid "Default Post Options" msgstr "Forvalgte innstillinger for posting" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Standard for oppføring" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Pålogging for dagbok" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_Brukernavn:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Passord:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "_Logg på automatisk" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_Husk passord" #: ../src/drivel-gtk.glade.h:81 #, fuzzy msgid "Journal _type:" msgstr "Type dagbok:" #: ../src/drivel-gtk.glade.h:82 #, fuzzy msgid "_Server address:" msgstr "_Adresse:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 #, fuzzy msgid "_Log In" msgstr "_Logg in" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Rediger historikk" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Rediger" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Rediger venner" #: ../src/drivel-gtk.glade.h:88 #, fuzzy msgid "_View journal" msgstr "_Journal" #: ../src/drivel-gtk.glade.h:89 #, fuzzy msgid "Details" msgstr "Detaljer" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Brukernavn:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Type dagbok:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Tekstfarge:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Bakgrunnsfarge:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Velg en tekstfarge" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Velg en bakgrunnsfarge" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Sett inn lenke" #: ../src/drivel-gtk.glade.h:98 #, fuzzy msgid "_Text:" msgstr "Tekst" #: ../src/drivel-gtk.glade.h:99 #, fuzzy msgid "Create a link to..." msgstr "Opprett en lenke til..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "et _nettsted på Internett" #: ../src/drivel-gtk.glade.h:101 #, fuzzy msgid "_Location:" msgstr "Bilde _Plassering" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 #, fuzzy msgid "another Live_Journal user" msgstr "en annen _LiveJournal bruker" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "_resten av denne oppføringen" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "Sett inn lenke..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Sett inn bilde" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 #, fuzzy msgid "Attributes (Optional)" msgstr "Bilde egenskaper (valgfritt)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Høyde:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Bredde:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Beskrivelse:" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "Sett inn bilde..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 #, fuzzy msgid "Security Groups" msgstr "Sikkerhe_t:" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "" #: ../src/drivel-gtk.glade.h:117 #, fuzzy msgid "Group Details" msgstr "Detaljer" #: ../src/drivel-gtk.glade.h:118 #, fuzzy msgid "_Name:" msgstr "Navn" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "" #: ../src/drivel-gtk.glade.h:120 #, fuzzy msgid "_Public" msgstr "Offentlig" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Alle brukere" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Venner" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Tekst" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Nedtrekksmeny" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Radioknapper" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Avkryssingsbokser" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Tekstoppføring" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Skaler" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "%s's dagbok - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - Åpne utkast" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Alle XML-filer" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Lagre utkast" #: ../src/journal.c:2782 #, fuzzy msgid "Please select a journal account" msgstr "Velg hvilken dagbok du vil føre til" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Velg hvilken dagbok du vil føre til" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "_Journal" #: ../src/journal.c:3374 msgid "_View" msgstr "" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Formater" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "_Vevlenker" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "_Hjelp" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Åpne utkast..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "_Lagre utkast" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Lagre utk_ast som..." #: ../src/journal.c:3381 #, fuzzy msgid "_Recent Entries" msgstr "_Slett oppføring" #: ../src/journal.c:3382 #, fuzzy msgid "Recent _Drafts" msgstr "Skisser" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "_Legg ut oppføring" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "_Oppdater oppføring" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "_Slett oppføring" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Logg ut" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "Tøm o_ppføring" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Velg _alt" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "Sist_Oppføring" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Rediger den siste oppføringen du postet" #: ../src/journal.c:3393 msgid "_Friends" msgstr "_Venner" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Rediger din venneliste" #: ../src/journal.c:3394 msgid "_History" msgstr "_Historikk" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Vis eller rediger en tidligere oppføring" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "Aktiv _Dagbok" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "Hev_et" #: ../src/journal.c:3403 #, fuzzy msgid "Subs_cript" msgstr "_Senket skrift" #: ../src/journal.c:3404 #, fuzzy msgid "Lis_t" msgstr "L_iste" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "Liste Ele_ment" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "I_nnrykk" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Sett inn _Lenke..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Lag en lenke til en vevside, livejournalbruker eller en lang dagbok oppføring" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Sett inn bil_de..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Sett inn et bilde i din dagbok oppføring" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Sett inn _Avstemning" #: ../src/journal.c:3410 ../src/login.c:932 #, fuzzy msgid "_Contents" msgstr "I_nnrykk" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "_Om" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "" #: ../src/journal.c:3417 #, fuzzy msgid "Highlight _Spelling Errors" msgstr "Uthev feilstavede _ord" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "" #: ../src/login.c:504 #, fuzzy msgid "Bad username" msgstr "Brukernavn" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Brukernavnet inneholder ugyldige tegn." #: ../src/login.c:929 msgid "Remove Account" msgstr "" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Brukervalg" #: ../src/login.c:1139 msgid "Drafts" msgstr "Skisser" #: ../src/main.c:58 msgid "Error" msgstr "" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "Søren også, det er en feil på tjeneren. Prøv igjen senere." #: ../src/main.c:351 #, fuzzy msgid "Friends Only" msgstr "Kun venner" #: ../src/main.c:767 msgid "Display debugging output" msgstr "" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Initiering av GConf feilet: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Kunne ikke initiere GnomeVFS!\n" #: ../src/network.c:64 #, fuzzy msgid "Done" msgstr "Ingen" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "" #: ../src/network.c:81 #, fuzzy msgid "Posting journal entry" msgstr "Dagbok oppføring" #: ../src/network.c:86 #, fuzzy msgid "Updating journal entry" msgstr "Dagbok oppføring" #: ../src/network.c:91 #, fuzzy msgid "Retrieving journal entries" msgstr "[Ingen dagbok oppføringer]" #: ../src/network.c:96 #, fuzzy msgid "Retrieving journal history" msgstr "Drivel - journalutkast" #: ../src/network.c:101 #, fuzzy msgid "Updating Friends list" msgstr "Rediger din venneliste" #: ../src/network.c:107 #, fuzzy msgid "Retrieving Friends list" msgstr "Rediger din venneliste" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "" #: ../src/network.c:118 msgid "Setting categories" msgstr "" #: ../src/network.c:123 #, fuzzy msgid "Publishing journal entry" msgstr "_Uthev HTML i dagbokoppføringer" #: ../src/network.c:128 #, fuzzy msgid "Deleting journal entry" msgstr "Dagbok oppføring" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "" #: ../src/network.c:143 msgid "Updating security groups" msgstr "" #: ../src/network.c:315 msgid "Network connection failed" msgstr "" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Ingen sang spilles av" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "_Vis vennesiden" #: ../src/tray.c:135 #, fuzzy msgid "_Remove From Tray" msgstr "Fjern fra trau" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "" #~ msgid "_Add..." #~ msgstr "_Legg til" #~ msgid "_Edit..." #~ msgstr "_Rediger..." #, fuzzy #~ msgid "Save _Draft" #~ msgstr "_Lagre utkast" #, fuzzy #~ msgid "Image" #~ msgstr "Detaljer" #, fuzzy #~ msgid "Link" #~ msgstr "Lenke_tekst" #, fuzzy #~ msgid "Date" #~ msgstr "Skisser" #, fuzzy #~ msgid "Select Date" #~ msgstr "Velg _alt" #, fuzzy #~ msgid "Select Time" #~ msgstr "Velg _alt" #~ msgid "Orientation" #~ msgstr "Orientering" #~ msgid "The orientation of the tray." #~ msgstr "Plassering av systemkurv." #, fuzzy #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "Søren også, det er en feil på tjeneren. Prøv igjen senere." #, fuzzy #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "Søren også, det er en feil på tjeneren. Prøv igjen senere." #, fuzzy #~ msgid "Account Information" #~ msgstr "Varslingsområde" #~ msgid "DYNAMIC" #~ msgstr "DYNAMISK" #, fuzzy #~ msgid "Enable _tray icon" #~ msgstr "Vis ikon i systemkurv" #, fuzzy #~ msgid "_Server:" #~ msgstr "_Tjener:" #~ msgid "drivel-add-friend" #~ msgstr "driver-add-friend" #~ msgid "Sign _Up..." #~ msgstr "Registrer _deg..." #~ msgid "What's a LiveJournal?" #~ msgstr "Hva er LiveJournal?" #~ msgid "_Show Entry" #~ msgstr "Vi_s oppføring" #~ msgid "Please enter a journal server address." #~ msgstr "Skriv adresse for dagboktjeneren." #~ msgid "Custom..." #~ msgstr "Egendefinert..." #~ msgid "Journal Server" #~ msgstr "Dagboktjener" #~ msgid "Server Options" #~ msgstr "Tjeneralternativer" #~ msgid "Network" #~ msgstr "Nettverk" #~ msgid "_Traditional (POST) interface" #~ msgstr "_Tradisjonelt (POST) grensesnitt" #~ msgid "_XML-RPC interface" #~ msgstr "_XML-RPC-grensesnitt" #~ msgid "You must enter your username first." #~ msgstr "Du må skrive ditt brukernavn først." #~ msgid "LiveJournal Entry" #~ msgstr "LiveJournal oppføring" #, fuzzy #~ msgid "drivel-update" #~ msgstr "driver-add-friend" #~ msgid "Close _without Saving" #~ msgstr "Lukk _uten å lagre" #~ msgid "Proceed _without Saving" #~ msgstr "Fortsett _uten å lagre" drivel-3.0.5/po/pt_BR.po0000644000175000017500000010174311731016426011720 00000000000000# Brazilian Portuguese translation of drivel # Copyright (C) 2004-2006 Free Software Foundation, Inc. # This file is distributed under the same license as the drivel package. # Raphael Higino , 2004-2006. # Fábio Nogueira , 2006. # debian-l10n-portuguese@lists.debian.org # msgid "" msgstr "" "Project-Id-Version: drivel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2006-12-30 18:47-0300\n" "Last-Translator: Fábio Nogueira \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "O usuário atualmente logado." #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" "Uma lista de todos os nomes de usuário de blogs anteriormente utilizados " "nesta máquina." #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "O número de humores armazenados localmente." #: ../data/drivel.schemas.in.h:4 #, fuzzy msgid "A list of moods for the drivel menu." msgstr "Uma lista de humores para o menu do GtkCombo." #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Drivel - Editor de Blogs" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Editor de Blogs" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Atualize e gerencie o seu blog" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Rascunhar entrada do blog" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "" "Raphael Higino \n" "Fábio Nogueira " #: ../src/about.c:85 msgid "With help from:" msgstr "Com ajuda de:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "E muitos outros. Obrigado a todos vocês!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "Um cliente de blogs para o ambiente GNOME." #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Erro do servidor" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "O servidor não retornou uma resposta do Atom válida." #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "Erro desconhecido" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "Erro ao postar entrada" #: ../src/blog_lj.c:290 msgid "default" msgstr "padrão" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Nenhum" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Desconectado" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Sem entradas do blog]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Sistema padrão" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Falta o nome do usuário" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Por favor, digite um nome de usuário para adicionar." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Público" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Privado" #: ../src/dialogs.c:809 msgid "Community" msgstr "Comunitário" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Servidor Associado" #: ../src/dialogs.c:813 msgid "User" msgstr "Usuário" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Adicionar Amigo" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "Nome de usuário do _amigo:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "Cor do _texto:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "Cor de _fundo:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "Não foi possível executar a operação com o arquivo" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "Não foi possível abrir o arquivo selecionado" #: ../src/dialogs.c:1323 #, fuzzy msgid "Save the content of this journal entry instead of clearing?" msgstr "Salvar as modificações nesta entrada do blog antes de fechar?" #: ../src/dialogs.c:1324 #, fuzzy msgid "If you don't save, content of this entry will be discarded." msgstr "Se você não salvar, as alterações nesta entrada serão descartadas." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "Salvar as modificações nesta entrada do blog antes de fechar?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "Se você não salvar, as alterações nesta entrada serão descartadas." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Hora" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Entrada do Blog" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Tipo" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Link" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Usuário" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Nome" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "Disponível" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "Em Grupo" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Abre uma entrada do blog não finalizada" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Alterna nomes de usuário" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "_Limpar Entrada" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "_Preferências" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "Destacar _palavras incorretas" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "Aj_uda" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "_Sobre" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Assunto:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "_Segurança:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Humor:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "Mús_ica:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "_Desabilitar comentários" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "Não permitir que os usuários comentem sobre essa entrada" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Não auto-formatar o _texto" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "Não transforma quebras de linha e links para sites da web em marcas HTML " "automaticamente" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "_Data antiga:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "Marca a entrada como tendo sido postada na data selecionada" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "Figu_ra:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "Ca_tegoria:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Mostrar mais _opções" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Apaga do seu blog a entrada selecionada." #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "_Salvar Rascunho" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Salva a entrada atual sem adicioná-la ao seu blog" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "Atuali_zar" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Atualiza a entrada selecionada no seu jornal" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Postar" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Posta a entrada atual no seu blog" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Inserir Enquete" #: ../src/drivel-gtk.glade.h:35 #, fuzzy msgid "Poll _name (optional):" msgstr "_Nome da enquete (opcional):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "Votante_s:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Resultados visíveis para:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Perguntas:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "Adicionar _Pergunta" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "_Adicionar Resposta" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "Acima" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Tipo:" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "P_ergunta:" #: ../src/drivel-gtk.glade.h:44 #, fuzzy msgid "Text _field size (optional):" msgstr "Tamanho do _campo de texto (opcional):" #: ../src/drivel-gtk.glade.h:45 #, fuzzy msgid "Maximum text _length (optional):" msgstr "_Tamanho máximo do texto (opcional):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_De:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "Para:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "_Por:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "_Resposta:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "_Inserir" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Preferências do Drivel" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr "Comportamento da Entrada" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Minimizar depois de _entrar" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "Minimiza automaticamente a janela do blog após entrar" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Minimizar depois de _postar" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "Minimiza automaticamente a janela do blog após postar uma entrada" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "Destacar _HTML na entrada do blog" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "Exibe as palavras-chave HTML em cores diferentes do texto normal" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Destacar _palavras incorretas" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "Destacar palavras não encontradas no dicionário do seu computador" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "_Dicionário:" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr "Área de Notificação" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "Notificar quando os _amigos atualizarem" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Exibir um alerta quando a sua Página de Amigos for atualizada\n" "(Somente para usuários pagos do LiveJournal)" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr "Publicação" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "Notificar o _Technorati ao atualizar" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" "Alertar ao Technorati (popular mecanisco de busca em blogs) sobre as novas " "entradas" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Geral" #: ../src/drivel-gtk.glade.h:73 #, fuzzy msgid "Default Post Options" msgstr "Opções Padrão de Postagem" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "Não transforma quebras de linha em marcas HTML automaticamente" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Padrões das Entradas" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Entrar no Blog" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_Usuário:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Senha:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "Entrar _automaticamente" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_Lembrar senha" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "_Tipo de blog:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "Endereço do _servidor:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "Trabalhar _offline" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "_Entrar" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Editar Histórico" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Editar" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Editar Amigos" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "_Visualizar blog" #: ../src/drivel-gtk.glade.h:89 #, fuzzy msgid "Details" msgstr "Detalhes" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Usuário:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Tipo do Blog:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Cor do texto:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Cor de fundo:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Escolha uma cor para o texto" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Escolha uma cor de fundo" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Inserir Link" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "_Texto:" #: ../src/drivel-gtk.glade.h:99 #, fuzzy msgid "Create a link to..." msgstr "Criar um link para..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "um _site na Internet" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "_Localização:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "um outro usuário Live_Journal" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "o _restante desta entrada" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "Inserir Link..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Inserir Imagem" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 #, fuzzy msgid "Attributes (Optional)" msgstr "Atributos (Opcional)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Altura:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Largura:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Descrição:" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "Inserir Imagem..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "Grupos de Segurança" #: ../src/drivel-gtk.glade.h:116 #, fuzzy msgid "Groups" msgstr "Em Grupo" #: ../src/drivel-gtk.glade.h:117 #, fuzzy msgid "Group Details" msgstr "Detalhes do Grupo" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "_Nome:" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "_Ordem" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "_Público" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Todos os usuários" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Amigos" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Texto" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Caixa de combinação" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Botões de opção" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Caixas de verificação" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Entrada de texto" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Escala" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "Abrir esta entrada para editar" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "Renovar esta lista" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "Blog de %s - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "A Comunidade %s - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Offline - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - Abrir Rascunho" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Todos os arquivos XML" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 #, fuzzy msgid "Draft drivel posts" msgstr "drivel-postar" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Salvar Rascunho" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Por favor selecione um blog" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "As preferências aplicam-se a cada cliente separadamente, assim você deve " "selecionar sua conta antes de editar as preferências." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Selecione um blog para o qual postar" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "_Blog" #: ../src/journal.c:3374 msgid "_View" msgstr "_Visualizar" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Formatar" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "Links da _Web" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "Aj_uda" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Abrir Rascunho..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "_Salvar Rascunho" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Salvar rascunho _como..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "Entradas _recentes" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "Rascunhos r_ecentes" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "_Postar Entrada" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "At_ualizar Entrada" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "A_pagar Entrada" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Sair" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "_Limpar Entrada" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Selecionar _Tudo" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "Última _Entrada" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Edita a última entrada que você postou" #: ../src/journal.c:3393 msgid "_Friends" msgstr "_Amigos" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Edita sua lista de amigos" #: ../src/journal.c:3394 msgid "_History" msgstr "_Histórico" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Visualiza ou edita uma entrada anterior" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "Editar grupos específicos de pessoas aptas a ler suas entradas" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "_Blog ativo" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "Sob_rescrito" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "Subs_crito" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "L_ista" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "Íte_m da Lista" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "I_ndentar" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Inserir _Link..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Cria um link para uma página web, usuário LiveJournal, ou uma grande entrada " "do blog" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Inserir Ima_gem..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Insere uma imagem na sua entrada do blog" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Inserir _Enquete..." #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "_Conteúdo" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "_Perguntas Freqüentes" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "_Sobre" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Mais _Opções de Entrada" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "Destacar _palavras incorretas" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "Destacar _HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "Nome de usuário inválido" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "O nome do usuário contém caracteres inválidos." #: ../src/login.c:929 msgid "Remove Account" msgstr "Remover Conta" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Preferências" #: ../src/login.c:1139 msgid "Drafts" msgstr "Rascunhos" #: ../src/main.c:58 msgid "Error" msgstr "Erro" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "" "Que azar, há um erro no servidor. Por favor, tente novamente mais tarde." #: ../src/main.c:351 msgid "Friends Only" msgstr "Somente para amigos" #: ../src/main.c:767 #, fuzzy msgid "Display debugging output" msgstr "Exibição de minutos" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Falha na inicialização do GConf: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Não foi possível iniciar o GnomeVFS!\n" #: ../src/network.c:64 #, fuzzy msgid "Done" msgstr "Nenhum" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "Baixando imagens do usuário" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "Postando entrada do blog" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "Atualizando entrada do blog" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "Recuperando entradas do blog" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "Recuperando histórico do blog" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "Atualizando lista de amigos" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "Recuperando lista de amigos" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "Recuperando categorias" #: ../src/network.c:118 msgid "Setting categories" msgstr "Configurando categorias" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "Publicando entrada do blog" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "Apagando entrada do blog" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "Notificando o Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "Recuperando grupos de segurança" #: ../src/network.c:143 msgid "Updating security groups" msgstr "Atualizando grupos de segurança" #: ../src/network.c:315 msgid "Network connection failed" msgstr "Falha na conexão de rede" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "Não foi possível compreender a resposta do servidor" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Nenhuma música sendo reproduzida" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "_Visualizar Página de Amigos" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "_Remover da bandeja" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Sem-título" #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "Salvar modificações nesta entrada do blog antes de continuar?" #, fuzzy #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "Exemplo: http://gnome.org/pic.png" #, fuzzy #~ msgid "Example: http://www.gnome.org" #~ msgstr "Exemplo: http://www.gnome.org" #~ msgid "Retrieving user information" #~ msgstr "Recuperando informações do usuário" #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "Nós estamos fazendo algo, mas eu não sei bem o quê" #~ msgid "Sending / Receiving" #~ msgstr "Enviando / Recebendo" #~ msgid "_Add..." #~ msgstr "_Adicionar..." #~ msgid "_Edit..." #~ msgstr "_Editar..." #~ msgid "Save _Draft" #~ msgstr "Sal_var rascunho" #~ msgid "_Don't Save" #~ msgstr "_Não Salvar" #~ msgid "Groups" #~ msgstr "Grupos" #~ msgid "Image" #~ msgstr "Imagem" #~ msgid "Link" #~ msgstr "Link" #~ msgid "Display flags" #~ msgstr "Exibir sinalizadores" #~ msgid "Displayed date and/or time properties" #~ msgstr "Propriedades de exibição de data e ou hora" #~ msgid "Lazy mode" #~ msgstr "Modo preguiçoso" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "O modo preguiçoso não normaliza os valores de data e hora digitados" #~ msgid "Year" #~ msgstr "Ano" #~ msgid "Displayed year" #~ msgstr "Exibição de anos" #~ msgid "Month" #~ msgstr "Mês" #~ msgid "Displayed month" #~ msgstr "Exibição de meses" #~ msgid "Day" #~ msgstr "Dia" #~ msgid "Displayed day of month" #~ msgstr "Exibição de dias do mês" #~ msgid "Hour" #~ msgstr "Hora" #~ msgid "Displayed hour" #~ msgstr "Exibição de horas" #~ msgid "Minute" #~ msgstr "Minuto" #~ msgid "Second" #~ msgstr "Segundo" #~ msgid "Displayed second" #~ msgstr "Exibição de segundos" #~ msgid "Lower limit year" #~ msgstr "Limite inferior para anos" #~ msgid "Year part of the lower date limit" #~ msgstr "A parte do ano do limite inferior para datas" #~ msgid "Upper limit year" #~ msgstr "Limite superior para anos" #~ msgid "Year part of the upper date limit" #~ msgstr "A parte do ano do limite superior para datas" #~ msgid "Lower limit month" #~ msgstr "Limite inferior para meses" #~ msgid "Month part of the lower date limit" #~ msgstr "A parte do mês do limite inferior para datas" #~ msgid "Upper limit month" #~ msgstr "Limite superior para meses" #~ msgid "Month part of the upper date limit" #~ msgstr "A parte do mês do limite superior para datas" #~ msgid "Lower limit day" #~ msgstr "Limite inferior para dias" #~ msgid "Day of month part of the lower date limit" #~ msgstr "A parte do dia do mês do limite inferior para datas" #~ msgid "Upper limit day" #~ msgstr "Limite superior para dias" #~ msgid "Day of month part of the upper date limit" #~ msgstr "A parte do dia do mês do limite superior para datas" #~ msgid "Lower limit hour" #~ msgstr "Limite inferior para horas" #~ msgid "Hour part of the lower time limit" #~ msgstr "A parte das horas do limite inferior para horas" #~ msgid "Upper limit hour" #~ msgstr "Limite superior para horas" #~ msgid "Hour part of the upper time limit" #~ msgstr "A parte das horas do limite superior para horas" #~ msgid "Lower limit minute" #~ msgstr "Limite inferior para minutos" #~ msgid "Minute part of the lower time limit" #~ msgstr "A parte dos minutos do limite inferior para horas" #~ msgid "Upper limit minute" #~ msgstr "imite superior para minutos" #~ msgid "Minute part of the upper time limit" #~ msgstr "A parte dos minutos do limite superior para horas" #~ msgid "Lower limit second" #~ msgstr "Limite inferior para segundos" #~ msgid "Second part of the lower time limit" #~ msgstr "A parte dos segundos do limite inferior para horas" #~ msgid "Upper limit second" #~ msgstr "Limite superior para segundos" #~ msgid "Second part of the upper time limit" #~ msgstr "A parte dos minutos do limite superior para horas" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:0" #~ msgid "Date" #~ msgstr "Data" #~ msgid "Enter the date directly" #~ msgstr "Digite a data diretamente" #~ msgid "Select Date" #~ msgstr "Selecionar Data" #~ msgid "Select the date from a calendar" #~ msgstr "Selecione a data a partir de um calendário" #~ msgid "Enter the time directly" #~ msgstr "Digite a hora diretamente" #~ msgid "Select Time" #~ msgstr "Selecionar Hora" #~ msgid "Select the time from a list" #~ msgstr "Selecione a hora a partir de uma lista" #~ msgid "24hr: no" #~ msgstr "24hr: yes" #~ msgid "AM" #~ msgstr "AM" #~ msgid "PM" #~ msgstr "PM" #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%02d:%02d:%02d %s" #~ msgid "%02d:%02d %s" #~ msgstr "%02d:%02d %s" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d:%02d:%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d:%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d-%02d-%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "Orientação" #~ msgid "The orientation of the tray." #~ msgstr "A orientação da bandeja." #~ msgid "Invalid journal server" #~ msgstr "Servidor de diário inválido" #~ msgid "Please enter a journal server address." #~ msgstr "Por favor, digite o endereço de um servidor de diários." #~ msgid "Custom..." #~ msgstr "Personalizar..." #~ msgid "*" #~ msgstr "*" #~ msgid "Journal Server" #~ msgstr "Servidor de Diário" #~ msgid "Server Options" #~ msgstr "Opções de Servidor" #~ msgid "DYNAMIC" #~ msgstr "DINÂMICO" #~ msgid "Display a journal update alert in the notification area" #~ msgstr "Exibe um alerta de atualização de diário na área de notificação" #~ msgid "Enable _tray icon" #~ msgstr "Habilitar ícone na _bandeja" #~ msgid "Network" #~ msgstr "Rede" #~ msgid "_Traditional (POST) interface" #~ msgstr "Interface (DE POSTAGEM) _tradicional" #~ msgid "_XML-RPC interface" #~ msgstr "Interface _XML-RPC" #~ msgid "drivel-add-answer" #~ msgstr "drivel-adicionar-resposta" #~ msgid "drivel-add-friend" #~ msgstr "drivel-adicionar-amigo" #~ msgid "drivel-add-question" #~ msgstr "drivel-adicionar-pergunta" #~ msgid "drivel-edit" #~ msgstr "drivel-editar" #~ msgid "drivel-insert-button" #~ msgstr "drivel-inserir-botão" #~ msgid "drivel-login" #~ msgstr "drivel-login" #~ msgid "drivel-sign-up" #~ msgstr "drivel-assinar" #~ msgid "You must enter your username first." #~ msgstr "Você deve digitar seu nome de usuário primeiro." #~ msgid "Sign _Up..." #~ msgstr "_Assinar..." #~ msgid "What's a LiveJournal?" #~ msgstr "O que é um LiveJournal?" #~ msgid "Communication Error" #~ msgstr "Erro de Comunicação" #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "" #~ "Houve um problema ao enviar informações para o servidor. Por favor, tente " #~ "novamente mais tarde." #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "" #~ "Houve um problema ao receber informações do servidor. Por favor, tente " #~ "novamente mais tarde." #~ msgid "_Show Entry" #~ msgstr "_Exibir Entrada" #~ msgid "LiveJournal Entry" #~ msgstr "Redação de LiveJournal" #~ msgid "The file does not appear to be a valid draft." #~ msgstr "O arquivo não parece ser um rascunho válido." #~ msgid "" #~ "If you close without saving, changes to this entry will be discarded." #~ msgstr "" #~ "Se você fechar sem salvar, as alterações nesta entrada serão discartadas." #~ msgid "Close _without Saving" #~ msgstr "Fec_har sem salvar" #~ msgid "Proceed _without Saving" #~ msgstr "_Continuar sem salvar" #~ msgid "drivel-update" #~ msgstr "drivel-atualizar" #~ msgid "Edit Friend" #~ msgstr "Editar Amigo" #~ msgid "LiveJournal" #~ msgstr "LiveJournal" #~ msgid "DeadJournal" #~ msgstr "DeadJournal" #~ msgid "Unable to open file, %s. This file is not compatible with Drivel." #~ msgstr "" #~ "Impossível abrir o arquivo %s. Esso arquivo não é compatível com o Drivel." drivel-3.0.5/po/ne.po0000644000175000017500000010631711731016426011316 00000000000000# translation of ne.po to Nepali # This file is distributed under the same license as the PACKAGE package. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. # # Pawan Chitrakar , 2005. # Kapil Timilsina , 2005. # Shiva Pokharel , 2005. # Jaydeep Bhusal , 2005. # Mahesh subedi , 2006. # Shyam Krishna Bal , 2007. # Ishwor Kafle , 2009. msgid "" msgstr "" "Project-Id-Version: ne\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2009-09-09 14:46-0400\n" "Last-Translator: Ishwor Kafle \n" "Language-Team: Nepali \n" "Language: ne\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2;plural=(n!=1)\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "हाल लगइन भएको प्रयोगकर्ता ।" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "यो मेशिनमा पहिले नै प्रयोग गरिएको प्रत्येक जर्नल प्रयोगकर्ताको नाम सूची ।" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "स्थानीय रूपमा भण्डारण भएका मूडहरूको सङ्ख्या ।" #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "ड्रिभेल मेनुको लागि मूडहरूको सूची ।" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "ड्रिभेल जर्नल सम्पादक" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "जर्नल सम्पादक" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "तपाईँको अनलाइन जर्नल अद्यावधिक र व्यवस्थित गर्नुहोस्" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "ड्राफ्ट जर्नल प्रविष्टि" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "Ishwor Kafle" #: ../src/about.c:85 msgid "With help from:" msgstr "यसबाट मद्दत:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "र थुप्रै अन्य--सबैलाई, धन्यवाद !" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "जिनोम डेस्कटपका लागि एउटा जर्नल क्लाइन्ट ।" #: ../src/about.c:108 msgid "Homepage:" msgstr "गृहपृष्ठ:" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "सर्भर त्रुटि" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "सर्भरले वैध एटम प्रतिक्रिया फर्काएन ।" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "अज्ञात त्रुटि" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "प्रविष्टि पोस्ट गर्दा त्रुटि" #: ../src/blog_lj.c:290 msgid "default" msgstr "पूर्वनिर्धारित" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "कुनै पनि होइन" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "अफलाइन" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[जर्नल प्रविष्टिहरू होइन]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "पूर्वनिर्धारित प्रणाली" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "हराइरहेको प्रयोगकर्ता नाम" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "कृपया थप्नका लागि प्रयोगकर्ता नाम प्रविष्ट गर्नुहोस् ।" #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "सार्वजनिक" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "नीजि" #: ../src/dialogs.c:809 msgid "Community" msgstr "समुदाय" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "सिन्डिकेटेड फिड" #: ../src/dialogs.c:813 msgid "User" msgstr "प्रयोगकर्ता" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "साथी थप्नुहोस्" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "साथीको प्रयोगकर्ता नाम:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "पाठको रङ:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "पृष्ठभूमि रङ:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "फाइल सञ्चालन कार्यसम्पादन गर्न सकेन" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "चयन गरिएको फाइल खोल्न सकेन" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "संशोधन गर्नको सट्टा यो जर्नल प्रविष्टिको सामाग्री बचत गर्न चाहनुहुन्छ ?" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "यदि तपाईँले बचत गर्नुभएन भने, यस प्रविष्टिको सामाग्रीहरू अस्विकृत हुनेछ ।" #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "बन्द गर्नु अगाडि यो जर्नल प्रविष्टिमा परिवर्तनहरू बचत गर्नु हुन्छ ?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "यदि तपाईँले बचत गर्नुभएन भने, यस प्रविष्टिको अस्विकार हुनेछन् ।" #: ../src/dialogs.c:1442 msgid "Time" msgstr "समय" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "जर्नल प्रविष्टि" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "प्रकार" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "लिङ्क" #: ../src/dialogs.c:1542 msgid "Username" msgstr "प्रयोगकर्ता नाम" #: ../src/dialogs.c:1552 msgid "Name" msgstr "नाम" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "उपलब्ध" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "समूह भित्र" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "ड्रिभेल" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "नसकिएको जर्नल प्रविष्टि खोल्नुहोस्" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "प्रयोगकर्ता नामहरू स्विच गर्नुहोस्" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "प्रविष्टि सफा गर्नुहोस्" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "प्राथमिकताहरू" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "हिज्जे त्रुटिहरू हाइलाइट गर्नुहोस्" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "मद्दत" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "बारेमा" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "विषय:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "सुरक्षा:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "मूड:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "सङ्गीत:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "ट्यागहरू:" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "टिप्पणीहरू बन्द गर्नुहोस्" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "यो प्रविष्टिमा प्रयोगकर्ताहरूलाई टिप्पणी गर्न अनुमति नदिनुहोस्" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "स्वत-ढाँचा पाठ नगर्नुहोस्" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "एचटीएमएल ट्याग भित्र रेखा-बिच्छेद वा वेबसाइट लिङ्कहरू स्वचालित रूपमा पद वर्णन नगर्नुहोस्" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "गएको मिति:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "चयन गरिएको मितिमा प्रविष्टिलाई पहिले नै पोस्ट भइसक्यो भनेर चिन्ह लगाउनुहोस्" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "तस्वीर:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "कोटि:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "धेरै विकल्पहरू देखाउनुहोस्" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "तपाईँको जर्नलबाट चयन गरिएको प्रविष्टि मेट्नुहोस्" #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "ड्राफ्ट बचत गर्नुहोस्" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "तपाईँको यो जर्नलमा नथपिकनै हालको प्रविष्टि बचत गर्नुहोस्" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "अद्यावधिक गर्नुहोस्" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "तपाईँको जर्नलमा चयन गरिएको प्रविष्टि अद्यावधिक गर्नुहोस्" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "पोस्ट" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "तपाईँको जर्नलमा हालको प्रविष्टि पोस्ट गर्नुहोस्" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "पोल घुसाउनुहोस्" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "पोल नाम (वैकल्पिक):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "मतदाता:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "यसमा परिणाम देखिन्छ:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "प्रश्नहरू:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "प्रश्न थप्नुहोस्" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "उत्तर थप्नुहोस्" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "माथि" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "प्रकार:" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "प्रश्न:" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "पाठ फाँट साइज (वैकल्पिक):" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "अधिकतम पाठ लम्बाइ (वैकल्पिक):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "बाट:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "लाई:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "द्वारा:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "उत्तर:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "घुसाउनुहोस्" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "ड्रिभेल प्राथमिकताहरू" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "प्रविष्टि व्यवहार" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "लगइन गरेपछि न्यूनतम बनाउनुहोस्" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "लगइन गरेपछि जर्नलको सञ्झ्याल स्वचालित रूपमा न्यून हुन्छ" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "पोस्ट गरेपछि न्यूनतम बनाउनुहोस्" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "प्रविष्टि पोस्ट गरेपछि जर्नलको सञ्झ्याल स्वचालित रूपमा न्युन हुन्छ" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "जर्नल प्रविष्टिमा एचटीएमएल हाइलाइट गर्नुहोस्" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "सामान्य पाठभन्दा फरक रङ्गहरूमा एचटीएमएल शब्दकुञ्जी प्रदर्शन गर्नुहोस्" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "गलत हिज्जे शब्द हाइलाइट गर्नुहोस्" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "तपाईँको कम्प्युटरको शब्दकोशमा हाइलाइट भएका शब्दहरू फेला परेन" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "शब्दकोश:" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "सूचना क्षेत्र" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "साथीहरूल अद्यावधिक भएपछि सूचित गर्नुहोस्" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "तपाईँको साथीको पृष्ठ अद्यावधिक भएपछि सावधानी प्रदर्शन गर्नुहोस्\n" "(प्रत्यक्ष जर्नल प्रयोगकर्ताहरू मात्र तिर्नुहोस्)" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "प्रकाशन" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "अद्यावधिकहरूमा टेक्नोरेटी सूचित गर्नुहोस्" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "नयाँ प्रविष्टिहरूको प्रसिद्ध जर्नल खोजी इन्जिन टेक्नोरेटीमा सावधान हुनुहोस्" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "फन्ट गुण" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "पूर्वनिर्धारित विषय वस्तु प्रयोग गर्नुहोस्" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "सम्पादक फन्ट:" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "साधारण" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "पूर्वनिर्धारित पोष्ट विकल्पहरू" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "एचटीएमएल ट्यागहरूमा पद वर्णन रेखा-बिच्छेदहरू स्वचालित नगर्नुहोस्" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "पूर्वनिर्धारित प्रविष्टि" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "जर्नल लगइन" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "प्रयोगकर्ता नाम:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "पासवर्ड:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "स्वचालित रूपमा लगइन" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "पासवर्ड सम्झनुहोस्" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "जर्नल प्रकार:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "सर्भर ठेगाना:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "अफलाइन कार्य गर्नुहोस्" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "लगइन" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "इतिहास सम्पादन गर्नुहोस्" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "सम्पादन" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "साथीहरू सम्पादन गर्नुहोस्" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "जर्नल हेर्नुहोस्" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "विवरणहरू" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "प्रयोगकर्ता नाम:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "जर्नल प्रकार:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "पाठ रङ:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "पृष्ठभूमि रङ:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "पाठ रङ रोज्नुहोस्" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "पृष्ठभूमि रङ रोज्नुहोस्" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "लिङ्क घुसाउनुहोस्" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "पाठ:" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "यसमा लिङ्क सिर्जना गर्नुहोस्..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "इन्टरनेटमा एउटा साइट" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "स्थान:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "उदाहरण:" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "अर्को प्रत्यक्ष जर्नल प्रयोगकर्ता" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "यस प्रविष्टिको बाँकी" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "...लिङ्क घुसाउनुहोस्" #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "छवि घुसाउनुहोस्" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "छवि" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "विशेषताहरू (वैकल्पिक)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "उचाइ:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "पीएक्स" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "चौडाइ:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "वर्णन:" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "...छवि घुसाउनुहोस्" #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "सुरक्षा समूहहरू" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "समूह" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "समूह विवरण" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "नाम:" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "आदेश" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "सार्वजनिक" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "सबै प्रयोगकर्ता" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "साथी" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "पाठ" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "ड्रपडाउन चयन" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "रेडियो चयन" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "जाँचबाकस चयन" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "पाठ प्रविष्टि" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "मापन गर्नुहोस्" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "सम्पादनका लागि यो प्रविष्टि खोल्नुहोस्" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "यो सूची ताजा गर्नुहोस्" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "%s को जर्नल - ड्रिभेल" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "%s समुदाय - ड्रिभेल" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "अफलाइन - ड्रिभेल" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "ड्रिभेल - खुला ड्राफ्ट" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "सबै एक्सएमएल फाइलहरू" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "ड्राफ्ट ड्रिभेल पोष्ट" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "ड्रिभेल - ड्राफ्ट बचत गर्नुहोस्" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "कृपया जर्नल खाता चयन गर्नुहोस्" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "प्राथमिकताहरूले प्रत्येक खातामा छुट्टै लागू गर्दछ, त्यसैले यसको प्राथमिकताहरू सम्पादन गर्नु अघि " "तपाईँले आफ्नो खाता चयन गर्नु पर्दछ ।" #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "यसमा पोस्ट गर्नका लागि जर्नल चयन गर्नुहोस्" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "जर्नल" #: ../src/journal.c:3374 msgid "_View" msgstr "दृश्य" #: ../src/journal.c:3375 msgid "_Format" msgstr "ढाँचा" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "वेब लिङ्कहरू" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "मद्दत" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "...ड्राफ्ट खोल्नुहोस्" #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "ड्राफ्ट बचत गर्नुहोस्" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "...यस रूपमा ड्राफ्ट बचत गर्नुहोस्" #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "भर्खरैका प्रविष्टिहरू" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "भर्खरैको ड्राफ्टहरू" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "प्रविष्टि पोस्ट गर्नुहोस्" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "प्रविष्टि अद्यावधिक गर्नुहोस्" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "प्रविष्टि मेट्नुहोस्" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "लगआउट" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "प्रविष्टि सफा गर्नुहोस्" #: ../src/journal.c:3390 msgid "Select _All" msgstr "सबै चयन गर्नुहोस्" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "अन्तिम प्रविष्टि" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "तपाईँले पोस्ट गर्नुभएको अन्तिम प्रविष्टि सम्पादन गर्नुहोस्" #: ../src/journal.c:3393 msgid "_Friends" msgstr "साथीहरू" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "तपाईँको साथीहरूको सूची सम्पादन गर्नुहोस्" #: ../src/journal.c:3394 msgid "_History" msgstr "इतिहास" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "अघिल्लो प्रविष्टि हेर्नुहोस् वा सम्पादन गर्नुहोस्" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "तपाईँको प्रविष्टहरू पढ्न सक्ने तोकिएका मानिसहरूको समूहहरू सम्पादन गर्नुहोस्" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "जर्नल सक्रिय पार्नुहोस्" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "सुपरस्क्रिप्ट" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "सवस्क्रिप्ट" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "सूची" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "वस्तु सूचीबद्ध गर्नुहोस्" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "इन्डेन्ट" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "...लिङ्क घुसाउनुहोस्" #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "वेब पृष्ठ, प्रत्यक्ष जर्नल प्रयोगकर्ता, वा लामो जर्नल प्रविष्टिकामा लिङ्क सिर्जना गर्नुहोस्" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "...छवि घुसाउनुहोस्" #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "तपाईँको जर्नल प्रविष्टि भित्र छवि घुसाउनुहोस्" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "...पोल घुसाउनुहोस्" #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "विषयसूची" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "बारम्बार सोधिने प्रश्नहरू" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "बारेमा" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "थुप्रै प्रविष्टि विकल्पहरू" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "हिज्जे त्रुटिहरू हाइलाइट गर्नुहोस्" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "एचटीएमएल हाइलाइट गर्नुहोस्" #: ../src/login.c:504 msgid "Bad username" msgstr "खराब प्रयोगकर्ता नाम" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "प्रयोगकर्तानामले अवैध क्यारेक्टरहरू समाविष्ट गर्दछ ।" #: ../src/login.c:929 msgid "Remove Account" msgstr "खाता हटाउनुहोस्" #: ../src/login.c:931 msgid "_Preferences" msgstr "प्राथमिकताहरू" #: ../src/login.c:1139 msgid "Drafts" msgstr "ड्राफ्टहरू" #: ../src/main.c:58 msgid "Error" msgstr "त्रुटि" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "अहो दाई, त्यहाँ सर्भर त्रुटिहरू छन्। कृपया पछि पुन: प्रयास गर्नुहोस्।" #: ../src/main.c:351 msgid "Friends Only" msgstr "साथीहरू मात्र" #: ../src/main.c:767 msgid "Display debugging output" msgstr "डिबगिङ् प्रतिफल प्रदर्शन गर्नुहोस्" #: ../src/main.c:770 msgid "file" msgstr "फाईल" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "जीकन्फ सुरुआत असफल: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "जिनोम भिएफएस थालनी गर्न सकेन !\n" #: ../src/network.c:64 msgid "Done" msgstr "गरियो" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "यसमा लगइन गर्दै . . " #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "प्रयोगकर्ता छविहरू डाउनलोड हुँदैछ" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "जर्नल प्रविष्टि पोस्ट हुँदैछ" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "जर्नल प्रविष्टि अद्यावधिक हुँदैछ" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "जर्नल प्रविष्टिहरू पुन: प्रयास गरिंदैछ" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "जर्नल इतिहास पुन: प्रयास गरिंदैछ" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "साथीहरूको सूची अद्यावधिक हुँदैछ" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "साथीहरूको सूचीको पुन:प्रयास गरिंदैछ" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "कोटिहरूको पुन: प्रयास गरिंदैछ" #: ../src/network.c:118 msgid "Setting categories" msgstr "कोटिहरू सेट हुँदैछ" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "जर्नल प्रविष्टि प्रकाशन हुँदैछ" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "जर्नल प्रविष्टि मेटाउदैछ" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "टेक्नोरेटी सूचीत गर्दैछ" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "सुरक्षा समूहहरू पुन: प्रयास गरिंदैछ" #: ../src/network.c:143 msgid "Updating security groups" msgstr "सुरक्षा समूहहरू अद्यावधिक गर्दैछ" #: ../src/network.c:315 msgid "Network connection failed" msgstr "सञ्जाल जडान असफल भयो" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "सर्भर प्रतिक्रिया बुझ्न सकेन" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "गीत बजिरहेको छैन" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "साथीहरूको पृष्ठ हेर्नुहोस्" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "ट्रेबाट हटाउनुहोस्" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "शीर्षक नभएको" drivel-3.0.5/po/cs.po0000644000175000017500000006166111731016426011323 00000000000000# Czech translation of drivel. # Copyright (C) 2004, 2005, 2008 the author(s) of drivel. # Copyright (C) 2004, 2005 Miloslav Trmac . # This file is distributed under the same license as the drivel package. # # Michal Simunek , 2009, 2010. # msgid "" msgstr "" "Project-Id-Version: drivel 3.0.1-1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2010-07-27 16:08+0200\n" "Last-Translator: Michal Simunek \n" "Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "Momentálně přihlášený uživatel." #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "Seznam všech uživatelů deníku dříve použitých na tomto počítači." #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "Počet lokálně uložených nálad." #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "Seznam nálad pro nabídku drivel." #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Editor deníku Drivel" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Editor deníku" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Aktualizuje a spravuje váš deník online" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Koncept záznamu v deníku" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "" "Miloslav Trmač Michal Šimůnek " #: ../src/about.c:85 msgid "With help from:" msgstr "S pomocí od:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "A mnoho dalších--všem děkujeme!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "Klient deníků pro GNOME desktop." #: ../src/about.c:108 msgid "Homepage:" msgstr "Domovská stránka:" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Chyba serveru" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "Server nevrátil platnou odpověď Atom." #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "Neznámá chyba" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "Chyba při odesílání záznamu" #: ../src/blog_lj.c:290 msgid "default" msgstr "implicitní" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Žádné" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Odpojen" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Žádné záznamy v deníku]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Implicitní nastavení systému" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Chybí uživatelské jméno" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Zadejte prosím uživatelské jméno, které chcete přidat." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Veřejné" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Soukromé" #: ../src/dialogs.c:809 msgid "Community" msgstr "Komunita" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Sdružený kanál" #: ../src/dialogs.c:813 msgid "User" msgstr "Uživatel" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Přidat přítele" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "_Uživatelské jméno _přítele:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "Barva _textu:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "Barva _pozadí:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "Nemohu provést operaci se souborem" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "Nemohu otevřít zvolený soubor" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "Uložit před zavřením změny v tomto záznamu deníku?" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "Pokud záznam neuložíte, změny v něm budou zahozeny." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "Uložit před zavřením změny v tomto záznamu deníku?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "Pokud záznam neuložíte, změny v tomto záznamu budou zahozeny." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Čas" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Záznam v deníku" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Typ" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Odkaz" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Uživatelské jméno" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Jméno" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "K dispozici" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "Ve skupině" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Otevřít nedokončený záznam v deníku" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Přepnout uživatele" #: ../src/drivel-gtk.glade.h:4 msgid "Clear Entry" msgstr "Vyprázdnit záznam" #: ../src/drivel-gtk.glade.h:5 msgid "Preferences" msgstr "Nastavení" #: ../src/drivel-gtk.glade.h:6 msgid "Highlight Spelling Errors" msgstr "Zvýrazňovat slova s překlepy" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "Tučné" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "Kurzíva" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "Podtržené" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "Přeškrtnuté" #: ../src/drivel-gtk.glade.h:11 msgid "Help" msgstr "Nápověda" #: ../src/drivel-gtk.glade.h:12 msgid "About" msgstr "O aplikaci" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Předmět:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "_Zabezpečení:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Nálada:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "_Hudba:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "Značk_y:" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "_Vypnout komentáře" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "Nepovolit uživatelům komentovat tento záznam" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Ne_formátovat text automaticky" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "Nezpracovávat automaticky konce řádků nebo odkazy na WWW servery jako značky " "HTML" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "_Datum v minulosti:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "Označit záznam, že byl odeslán zvoleného dne" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "_Obrázek:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "_Kategorie:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Zobrazit další _možnosti" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Odstranit vybraný záznam z vašeho deníku." #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "_Uložit koncept" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Uložit aktuální záznam bez přidání do deníku" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "_Aktualizovat" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Aktualizovat vybraný záznam ve vašem deníku" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Vystavit" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Odeslat aktuální záznam do vašeho deníku" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Vložit anketu" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "_Název ankety (volitelné):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "Hla_sující:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Výsledky viditelné pro:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Otázky:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "Přidat o_tázku" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "Přidat od_pověď" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "Nahoru" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Typ:" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "O_tázka:" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "_Velikost textového pole (volitelné):" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "Maximální _délka textu (volitelné):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_Od:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "Do:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "_Po:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "Od_pověď:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "V_ložit" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Nastavení drivel" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "Chování záznamu" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Minimalizovat po _přihlášení" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "Automaticky minimalizovat okno deníku po přihlášení" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Minimalizovat po _odeslání" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "Automaticky minimalizovat okno deníku po odeslání záznamu" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "_Zvýrazňovat HTML v záznamu deníku" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "Zobrazovat klíčová slova HTML jinými barvami než obyčejný text" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Zvýrazňovat slova s _překlepy" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "Zvýrazňovat slova nenalezená ve slovníku vašeho počítače" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "_Slovník:" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "Oznamovací oblast" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "Upozornit při _aktualizaci přátel" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Zobrazit upozornění, když je aktualizována vaše stránka s přáteli\n" "(jen platící uživatelé LiveJournal)" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "Publikace" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "Upozorňovat _Technorati na aktualizace" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "Upozorňovat populární vyhledávač deníků Technorati na nové záznamy" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "Vlastnosti písma" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "Použít písmo výchozího motivu" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "Písmo editoru:" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Obecné" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "Výchozí nastavení odesílání" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "Nezpracovávat automaticky konce řádků jako značky HTML" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Implicitní nastavení záznamu" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Přihlášení k deníku" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_Uživatelské jméno:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Heslo:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "_Automaticky přihlásit" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "Za_pamatovat si heslo" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "_Typ deníku:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "_Adresa serveru:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "Pracovat _odpojen" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "_Přihlásit" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Upravit historii" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Upravit" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Upravit přátele" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "_Zobrazit deník" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "Podrobnosti" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Uživatelské jméno:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Typ deníku:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Barva textu:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Barva pozadí:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Zvolte barvu textu" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Zvolte barvu pozadí" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Vložit odkaz" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "_Text:" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "Vytvořit odkaz na..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "_server na Internetu" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "_Umístění:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "Příklad:" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "jiného uživatele _LiveJournal" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "z_bytek tohoto záznamu" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "Vložit od_kaz..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Vložit obrázek" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "Obrázek" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "Atributy (volitelné)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Výška:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "Šířk_a:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Popis:" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "V_ložit obrázek..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "Skupiny zabezpečení" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "Skupiny" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "Podrobnosti o skupině" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "_Jméno:" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "_Pořadí" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "_Veřejné" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Všichni uživatelé" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Přátelé" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Text" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Kontextové menu" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Přepínací tlačítka" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Zaškrtávací pole" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Vkládání textu" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Stupnice" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "Otevřít tento záznam pro úpravy" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "Obnovit tento seznam" # Ouch #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "Deník uživatele %s - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "Komunita %s - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Odpojen - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - Otevřít koncept" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Všechny soubory XML" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "Navrhnout odeslání" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Uložit koncept" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Zvolte prosím účet deníku" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "Nastavení se týkají každého účtu zvlášť, takže před úpravou nastavení musíte " "zvolit účet." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Vyberte deník, na který odesílat" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "_Deník" #: ../src/journal.c:3374 msgid "_View" msgstr "_Zobrazit" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Formát" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "_Webové odkazy" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "_Nápověda" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Otevřít koncept..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "_Uložit koncept" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Uložit koncept _jako..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "_Nedávné záznamy" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "Nedávné _koncepty" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "_Odeslat záznam" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "_Aktualizovat záznam" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "_Odstranit záznam" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Odhlásit" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "_Vyprázdnit záznam" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Vybrat _vše" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "_Poslední záznam" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Upravit poslední odeslaný záznam" #: ../src/journal.c:3393 msgid "_Friends" msgstr "_Přátelé" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Upravit váš seznam přátel" #: ../src/journal.c:3394 msgid "_History" msgstr "_Historie" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Zobrazit nebo upravit předchozí záznam" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "Upravit konkrétní skupiny lidí, kteří mohou číst vaše záznamy" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "_Aktivní deník" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "_Horní index" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "_Dolní index" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "_Seznam" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "_Položka seznamu" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "Od_sazení" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Vložit _odkaz..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Vytvořit odkaz na webovou stránku, uživatel livejournal, nebo dlouhý záznam " "deníku" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Vložit _obrázek..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Vložit do vašeho záznamu v deníku obrázek" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Vložit _anketu..." #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "_Obsah" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "Č_asto kladené otázky" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "O _aplikaci" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Ví_ce možností záznamu" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "Zvýrazňovat slova s _překlepy" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "Zvýrazňovat _HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "Špatné uživatelské jméno" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Uživatelské jméno obsahuje neplatné znaky." #: ../src/login.c:929 msgid "Remove Account" msgstr "Odstranit účet" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Nastavení" #: ../src/login.c:1139 msgid "Drafts" msgstr "Koncepty" #: ../src/main.c:58 msgid "Error" msgstr "Chyba" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "K sakru, došlo k chybě serveru. Zkuste to prosím později znovu." #: ../src/main.c:351 msgid "Friends Only" msgstr "Jen přátelé" #: ../src/main.c:767 msgid "Display debugging output" msgstr "Zobrazovat chybové hlášení" #: ../src/main.c:770 msgid "file" msgstr "soubor" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Inicializace GConf selhala: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Nemohu inicializovat GnomeVFS!\n" #: ../src/network.c:64 msgid "Done" msgstr "Budiž" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "Přihlašování na . . " #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "Stahuji obrázky uživatelů" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "Odesílám záznam do deníku" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "Aktualizuji záznam v deníku" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "Stahuji záznamy v deníku" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "Stahuji historii deníku" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "Aktualizuji seznam přátel" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "Stahuji seznam přátel" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "Stahuji kategorie" #: ../src/network.c:118 msgid "Setting categories" msgstr "Nastavuji kategorie" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "Zveřejňuji záznam deníku" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "Odstraňuji záznam z deníku" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "Upozorňuji Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "Stahuji skupiny zabezpečení" #: ../src/network.c:143 msgid "Updating security groups" msgstr "Aktualizuji skupiny zabezpečení" #: ../src/network.c:315 msgid "Network connection failed" msgstr "Připojení k síti selhalo" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "Nepodařilo se porozumět odpovědi serveru" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Nepřehrává se žádná skladba" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "Zobrazit přítelovu _stránku" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "O_dstranit z oznamovací oblasti" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Nepojmenovaný" drivel-3.0.5/po/de.po0000644000175000017500000006310111731016426011275 00000000000000# German drivel translation. # Copyright (C) 2005 Free Software Foundation, Inc. # This file is distributed under the same license as the drivel package. # Dominique Schramm , 2004. # Frank Arnold , 2005. # Hendrik Richter , 2005. # Mario Blättermann , 2008-2010. # Christian Kirbach , 2009. # msgid "" msgstr "" "Project-Id-Version: drivel 3.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2010-09-21 20:20+0100\n" "Last-Translator: Mario Blättermann \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "Momentan angemeldeter Benutzer." #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" "Eine Liste aller Tagebuch-Benutzernamen, die auf diesem Rechner verwendet " "wurden." #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "Anzahl der lokal gespeicherten Stimmungen." #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "Eine Liste von Stimmungen für das Drivel-Menü." #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Drivel Tagebucheditor" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Tagebucheditor" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Bearbeiten und Verwalten Ihres Online-Tagebuchs" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Entwurf für Tagebucheintrag" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "" "Dominique Schramm \n" "Frank Arnold \n" "Hendrik Richter \n" "Mario Blättermann \n" "Christian Kirbach " #: ../src/about.c:85 msgid "With help from:" msgstr "Mit Hilfe von:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "Und vielen anderen — Dank euch allen!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "Ein Tagebuch-Client für die GNOME-Arbeitsumgebung." #: ../src/about.c:108 msgid "Homepage:" msgstr "Webseite:" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Server-Fehler" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "Der Server lieferte keine gültige Atom-Rückmeldung." #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "Unbekannter Fehler" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "Fehler beim Einstellen des Eintrags" #: ../src/blog_lj.c:290 msgid "default" msgstr "Vorgabe" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Keine" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Offline" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Keine Tagebucheinträge]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Systemvorgabe" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Benutzername fehlt" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Bitte geben Sie einen Benutzernamen ein, den Sie hinzufügen möchten." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Öffentlich" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Privat" #: ../src/dialogs.c:809 msgid "Community" msgstr "Gemeinschaft" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Externe Artikelquelle" #: ../src/dialogs.c:813 msgid "User" msgstr "Benutzer" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Freund hinzufügen" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "Benutzername des _Freundes:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "_Textfarbe:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "_Hintergrundfarbe:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "Die Dateioperation konnte nicht ausgeführt werden" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "Die gewählte Datei konnte nicht geöffnet werden" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "Änderungen an diesem Tagebucheintrag speichern, anstatt zu löschen?" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "Änderungen an diesem Eintrag gehen verloren, wenn Sie nicht speichern." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "Vor dem Schließen die Änderungen an diesem Tagebucheintrag speichern?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "Änderungen an diesem Eintrag gehen verloren, wenn Sie nicht speichern." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Zeit" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Tagebucheintrag" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Typ" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Verweis" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Benutzername" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Name" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "Verfügbar" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "In Gruppe" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Einen nicht fertiggestellten Tagebucheintrag öffnen" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Benutzername wechseln" #: ../src/drivel-gtk.glade.h:4 msgid "Clear Entry" msgstr "Eintrag löschen" #: ../src/drivel-gtk.glade.h:5 msgid "Preferences" msgstr "Einstellungen" #: ../src/drivel-gtk.glade.h:6 msgid "Highlight Spelling Errors" msgstr "Rechtschreibfehler hervorheben" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "Fett" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "Kursiv" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "Unterstrichen" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "Durchgestrichen" #: ../src/drivel-gtk.glade.h:11 msgid "Help" msgstr "Hilfe" #: ../src/drivel-gtk.glade.h:12 msgid "About" msgstr "Info" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Betreff:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "Sicher_heit:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Stimmung:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "M_usik:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "_Markierungen:" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "Kommentare _abschalten" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "Benutzern nicht erlauben, diesen Eintrag zu kommentieren" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "_Text nicht automatisch formatieren" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "Zeilenumbrüche und Verweise auf Websites nicht automatisch in HTML-Tags " "umwandeln" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "_Zurückdatieren:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "Den Eintrag als am gewählten Datum eingestellt markieren" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "Bil_d:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "Ka_tegorie:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Mehr _Optionen zeigen" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Den gewählten Eintrag aus dem Tagebuch entfernen." #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "_Entwurf speichern" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Den momentanen Text speichern, ohne ihn in das Tagebuch einzufügen." #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "_Aktualisieren" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Den gewählten Eintrag im Tagebuch aktualisieren" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "Ein_stellen" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Den aktuellen Eintrag in das Tagebuch einstellen" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Umfrage einfügen" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "_Name der Abfrage (optional):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "Be_werter:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Ergebnisse sichtbar für:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Fragen:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "_Frage hinzufügen" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "_Antwort hinzufügen" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "Nach oben" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Typ:" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "F_rage:" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "Text_feldgröße (optional):" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "Maximale Text_länge (optional):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_Von:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "An:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "_Durch:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "Ant_wort:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "Ein_fügen" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Einstellungen von Drivel" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "Eintragsverhalten" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Nach dem Anme_lden minimieren" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "Nach dem Anmelden das Tagebuchfenster automatisch minimieren" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Nach dem Eins_tellen minimieren" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "" "Nach dem Einstellen eines Eintrags das Tagebuchfenster automatisch minimieren" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "HTML im Tagebucheintrag _hervorheben" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "" "HTML-Schlüsselwörter in anderen Farben als den normalen Text darstellen" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "_Rechtschreibfehler hervorheben" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "Worte hervorheben, die nicht im Wörterbuch des Rechners enthalten sind" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "_Wörterbuch:" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "Benachrichtigungsfeld" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "Benachrichtigung, wenn _Freunde aktualisieren" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Einen Hinweis anzeigen, wenn die Seite\n" "eines Freundes aktualisiert wurde.\n" "(nur für zahlende LiveJournal-Benutzer)" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "Veröffentlichung" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "_Technorati bei Aktualisierungen benachrichtigen" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" "Die populäre Tagebuch-Suchmaschine Technorati auf neue Einträge hinweisen" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "Schrifteigenschaft" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "Voreingestellte _Themenschriftart verwenden" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "Editor-Schriftart:" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Allgemeines" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "Optionsvorgaben für Einträge" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "Zeilenumbrüche nicht automatisch in HTML-Tags umwandeln" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Eintragsvorgaben" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Tagebuchanmeldung" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_Benutzername:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Passwort:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "_Automatisch anmelden" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_Passwort speichern" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "Tagebuch_typ:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "_Serveradresse:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "_Offline arbeiten" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "_Anmelden" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Chronik bearbeiten" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Bearbeiten" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Freunde bearbeiten" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "_Journal anzeigen" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "Details" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Benutzername:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Tagebuchtyp:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Textfarbe:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Hintergrundfarbe:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Eine Textfarbe auswählen" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Hintergrundfarbe auswählen" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Verweis einfügen" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "_Text:" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "Erstellen eines Verweises zu …" #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "Eine _Seite im Internet" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "A_dresse:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "Beispiel:" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "ein anderer Live_Journal-Benutzer" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "der _Rest dieses Eintrags" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "_Verweis einfügen …" #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Bild einfügen" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "Bild" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "Attribute (optional)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Höhe:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "Pixel" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Breite:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "Be_schreibung:" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "_Bild einfügen …" #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "Sicherheitsgruppen" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "Gruppen" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "Gruppendetails" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "_Name:" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "Ein_ordnung" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "Ö_ffentlich" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Alle Benutzer" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Freunde" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Text" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Listenauswahl" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Optionsfeldauswahl" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Ankreuzfeldauswahl" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Texteingabe" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Maßstab" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "Diesen Eintrag zum Bearbeiten öffnen" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "Diese Liste auffrischen" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "Tagebuch von %s - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "Die %s-Gemeinschaft - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Offline - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - Entwurf öffnen" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Alle XML-Dateien" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "Drivel-Einträge als Entwurf speichern" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Entwurf speichern" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Bitte einen Tagebuch-Konto auswählen" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "Die Einstellungen gelten nur für ein einzelnes Konto. Um die Einstellungen " "für ein Konto zu bearbeiten, muss dieses vorher ausgewählt werden." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Das Tagebuch wählen, in das eingestellt wird" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "_Tagebuch" #: ../src/journal.c:3374 msgid "_View" msgstr "_Ansicht" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Format" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "_Web-Verweise" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "_Hilfe" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "Entwurf _öffnen …" #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "_Entwurf speichern" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Entwurf speichern _unter …" #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "_Letzte Einträge" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "Letzte Ent_würfe" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "Eintrag _einstellen" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "Eintrag akt_ualisieren" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "Eintrag _löschen" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Abmelden" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "Eintrag _löschen" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Alle _markieren" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "Letzter _Eintrag" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Den zuletzt gesendeten Eintrag bearbeiten" #: ../src/journal.c:3393 msgid "_Friends" msgstr "_Freunde" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Freundesliste bearbeiten" #: ../src/journal.c:3394 msgid "_History" msgstr "C_hronik" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Einen früheren Eintrag anzeigen oder bearbeiten" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" "Bearbeiten besonderer Gruppen von Personen, die Ihre Einträge lesen können" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "Aktives _Tagebuch" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "_Hochgestellt" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "_Tiefgestellt" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "L_iste" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "Listenele_ment" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "E_inrücken" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "_Verweis einfügen …" #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Einen Verweis auf eine Webseite, einem LiveJournal-Benutzer oder einem " "langen Tagebucheintrag erstellen." #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Bild einfü_gen …" #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Ein Bild in den Tagebucheintrag einfügen" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Umfrage _einfügen …" #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "_Inhalte" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "_Häufig gestellte Fragen" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "_Info" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Weitere Eintrags_optionen" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "Recht_schreibfehler hervorheben" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "_HTML hervorheben" #: ../src/login.c:504 msgid "Bad username" msgstr "Falscher Benutzername" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Der Benutzername enthält ungültige Zeichen." #: ../src/login.c:929 msgid "Remove Account" msgstr "Konto entfernen" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Einstellungen" #: ../src/login.c:1139 msgid "Drafts" msgstr "Entwürfe" #: ../src/main.c:58 msgid "Error" msgstr "Fehler" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "" "Der Server gab einen Fehler zurück. Bitte versuchen Sie es später noch " "einmal." #: ../src/main.c:351 msgid "Friends Only" msgstr "Nur Freunde" #: ../src/main.c:767 msgid "Display debugging output" msgstr "Ausgabe zur Fehlerdiagnose anzeigen" #: ../src/main.c:770 msgid "file" msgstr "Datei" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Initialisierung von GConf schlug fehl: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "GnomeVFS konnte nicht initialisiert werden!\n" #: ../src/network.c:64 msgid "Done" msgstr "Abgeschlossen" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "Anmeldung läuft …" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "Benutzerbilder werden heruntergeladen" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "Tagebucheintrag wird eingestellt" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "Tagebucheintrag wird aktualisiert" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "Tagebucheinträge werden empfangen" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "Tagebuchchronik wird empfangen" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "Freundesliste wird aktualisiert" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "Freundesliste wird empfangen" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "Kategorien werden empfangen" #: ../src/network.c:118 msgid "Setting categories" msgstr "Kategorien festlegen" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "Tagebucheintrag veröffentlichen" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "Tagebucheintrag wird gelöscht" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "Technorati wird benachrichtigt" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "Sicherheitsgruppen werden abgerufen" #: ../src/network.c:143 msgid "Updating security groups" msgstr "Sicherheitsgruppen werden aktualisiert" #: ../src/network.c:315 msgid "Network connection failed" msgstr "Netzwerkverbindung ist fehlgeschlagen" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "Serverantwort konnte nicht interpretiert werden" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Es wird kein Lied abgespielt" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "_Homepage des Freundes anzeigen" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "Aus Benachrichtigungsfeld ent_fernen" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Unbenannt" drivel-3.0.5/po/ca.po0000644000175000017500000007075711731016426011307 00000000000000# Catalan translation of drivel. # Copyright © 2006 The Free Software Foundation, Inc. # This file is distributed under the same license as the drivel package. # Gil Forcada , 2006. # # msgid "" msgstr "" "Project-Id-Version: drivel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2010-10-17 23:29+0100\n" "Last-Translator: el_libre - - www.catmidia.cat \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "L'usuari identificat actualment." #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" "Una llista de cada nom d'usuari de bloc utilitzat prèviament en aquesta " "màquina." #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "El nombre d'estats d'ànim guardats localment." #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "Un llistat d'estats d'ànim per al menú de Drivel." #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Editor de blocs Drivel" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Editor de blocs" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Actualitzeu i gestioneu el vostre bloc en línia" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Esborrany d'entrada al bloc" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "Gil Forcada " #: ../src/about.c:85 msgid "With help from:" msgstr "Amb l'ajuda de:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "I molts altres -- gràcies a tots!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "Un client de bloc per a l'escriptori GNOME." #: ../src/about.c:108 msgid "Homepage:" msgstr "Pàgina d'inici" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Error del servidor" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "El servidor no ha retornat una resposta Atom vàlida." #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "Error desconegut" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "Publica l'entrada" #: ../src/blog_lj.c:290 msgid "default" msgstr "per defecte" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Cap" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Fora de línia" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[No hi ha entrades al bloc]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Per defecte del sistema" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Falta el nom d'usuari" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Entreu un nom d'usuari per afegir." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Públic" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Privat" #: ../src/dialogs.c:809 msgid "Community" msgstr "Comunitat" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Canal sindicat" #: ../src/dialogs.c:813 msgid "User" msgstr "Usuari" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Afegeix un amic" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "_Nom d'usuari de l'amic:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "Color del _text:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "Color de _fons:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "No s'ha pogut fer l'operació de fitxer" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "No s'ha pogut obrir el fitxer seleccionat" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "Voleu desar els canvis a l'entrada del bloc abans de tancar?" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "Si no deseu, els canvis en aquesta entrada es descartaran." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "Voleu desar els canvis a l'entrada del bloc abans de tancar?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "Si els deseu, els canvis en aquesta entrada es descartaran." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Temps" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Entrada al bloc" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Tipus" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Enllaç" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Nom d'usuari" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Nom" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "Disponible" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "En el grup" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Obre una entrada del bloc sense acabar" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Canvia els noms d'usuari" #: ../src/drivel-gtk.glade.h:4 msgid "Clear Entry" msgstr "Neteja l'entrada" #: ../src/drivel-gtk.glade.h:5 msgid "Preferences" msgstr "Preferències" #: ../src/drivel-gtk.glade.h:6 msgid "Highlight Spelling Errors" msgstr "Ressalta els errors d'ortografia" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "Negreta" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "Cursiva" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "Subratllat" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "Tatxat" #: ../src/drivel-gtk.glade.h:11 msgid "Help" msgstr "Ajuda" #: ../src/drivel-gtk.glade.h:12 msgid "About" msgstr "Quant a" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "A_ssumpte:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "Se_guretat:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "Estat d'àni_m:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "M_úsica:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "Etiqueta_:" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "Desactiva els come_ntaris" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "No permetis comentaris dels usuaris en aquesta entrada" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "No formatis el _text automàticament" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "No transformis automàticament els salts de línia o enllaços web a etiquetes " "HTML" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "D_ata passada:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "Marca l'entrada com si s'hagués publicat a la data seleccionada" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "_Imatge:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "Ca_tegoria:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Mostra més _opcions" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Elimina l'entrada seleccionada del bloc." #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "De_sa l'esborrany" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Desa l'entrada actual sense afegir-lo al bloc" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "_Actualitza" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Actualitza l'entrada seleccionada al bloc" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Publica" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Publica l'entrada actual al bloc" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Insereix una enquesta" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "Nom de l'e_nquesta (opcional):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "Votant_s:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Resultats visibles a:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Preguntes:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "Afegeix una pre_gunta" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "Afegeix una respost_a" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "Amunt" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Tipus:" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "Preg_unta:" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "Mida del cam_p de text (opcional):" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "_Llargada màxima del text (opcional):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_De:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "A:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "_Per a:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "Res_posta:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "_Insereix" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Preferències del Drivel" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "Comportament de l'entrada" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Minimitza després d'_identificar-me" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "Minimitza automàticament la finestra del bloc després d'identificar-me" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Minimitza des_prés de publicar" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "" "Minimitza automàticament la finestra del bloc després de publicar una entrada" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "Ressalta l'_HTML en les entrades del bloc" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "Mostra les paraules claus HTML en colors diferents del text normal" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Ressalta paraules _mal escrites" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "" "Ressalta les paraules que no es trobin en el diccionari del vostre ordinador" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "_Diccionari:" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "Àrea de notificació" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "Notifica quan s'act_ualitzin els amics" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Mostra una alerta quan la pàgina del vostre amic és actualitzada\n" "(només per a usuaris de LiveJournal de pagament)" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "Publicació" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "Notifica a _Technorati d'actualitzacions" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "Avisa al popular motor de cerca de blocs Technorati de la nova entrada" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "Propietat de font" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "Fes servir font del _tema per defecte" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "Fonts de l'editor" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "General" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "Opcions per defecte de publicació" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "No transformis automàticament els salts de línia a etiquetes HTML" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Valors per defecte de les entrades" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Identificació del bloc" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "Nom d'_usuari:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "Contrasen_ya:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "Identifica'm _automàticament" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_Recorda la contrasenya" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "Tipus de _bloc:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "Adreça del _servidor:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "Treballa f_ora de línia" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "_Identifica't" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Edita l'historial" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Edita" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Edita els amics" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "_Veure diari" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "Detalls" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Nom d'usuari:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Tipus de bloc:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Color del text:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Color de fons:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Seleccioneu un color per al text" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Seleccioneu un color de fons" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Insereix un enllaç" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "_Text:" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "Crea un enllaç a..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "un ll_oc d'Internet" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "_Localització:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "Exemple:" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "un altre usuari de Live_Journal" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "la _resta d'aquesta entrada" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "_Insereix un enllaç..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Insereix una imatge" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "Imatge" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "Atributs (Opcional)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Alçada:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "A_mplada:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Descripció:" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "_Insereix una imatge..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "Grups de seguretat" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "Grups" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "Detalls del grup" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "_Nom:" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "_Ordre" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "_Públic" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Tots els usuaris" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Amics" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Text" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Menú desplegable" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Botons de ràdio" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Caselles de verificació" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Entrada de text" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Escala" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "Obre aquesta entrada per editar-la" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "Refresca aquesta llista" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "%s bloc - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "El %s Comunitari - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Fora de línia - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - Obre un esborrany" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Tots els fitxers XML" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "Esborranys de publicacions Drivel" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Desa l'esborrany" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Seleccioneu un compte de bloc" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "Les preferències s'apliquen a cada compte separadament, per tant heu de " "seleccionar el teu compte abans d'editar aquestes preferències." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Seleccioneu el bloc on publicar-hi" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "_Bloc" #: ../src/journal.c:3374 msgid "_View" msgstr "_Visualitza" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Format" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "Enllaços _web" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "A_juda" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Obre un esborrany..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "De_sa l'esborrany" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Anomena i desa l'esborrany..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "Entrades _recents" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "Esborranys r_ecents" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "_Publica l'entrada" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "Act_ualitza l'entrada" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "E_limina l'entrada" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Tanca la sessió" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "Neteja _l'entrada" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Selecciona-ho t_ot" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "Última _entrada" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Edita l'última entrada publicada" #: ../src/journal.c:3393 msgid "_Friends" msgstr "Ami_cs" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Edita la llista d'amics" #: ../src/journal.c:3394 msgid "_History" msgstr "_Historial" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Visualitza o edita una entrada prèvia" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "Edita grups específics de persones que podran llegir les entrades" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "_Bloc actiu" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "Supe_rscript" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "Subs_cript" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "Llis_ta" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "Ele_ment de la llista" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "Sag_na" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Insereix un en_llaç..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Crea un enllaç a una pàgina web, usuari de livejournal, o una entrada de " "bloc llarga" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Insereix una imat_ge..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Insereix una imatge a la teva entrada de bloc" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Insereix una en_questa..." #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "_Continguts" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "Preguntes Més _Freqüents" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "_Quant a" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Més _opcions per a l'entrada" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "Re_ssalta els errors d'ortografia" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "Ressalta l'_HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "Nom d'usuari erroni" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "El nom d'usuari conté caràcters invàlids." #: ../src/login.c:929 msgid "Remove Account" msgstr "Elimina el compte" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Preferències" #: ../src/login.c:1139 msgid "Drafts" msgstr "Esborranys" #: ../src/main.c:58 msgid "Error" msgstr "Error" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "S'ha produït un error al servidor. Proveu-ho més tard." #: ../src/main.c:351 msgid "Friends Only" msgstr "Només amics" #: ../src/main.c:767 msgid "Display debugging output" msgstr "Mostra informació de depuració" #: ../src/main.c:770 msgid "file" msgstr "fitxer" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "S'ha produït un error en iniciar el GConf: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "S'ha produït un error en iniciar el GnomeVFS\n" #: ../src/network.c:64 msgid "Done" msgstr "Fet" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "Connectant.." #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "S'està descarregant imatges de l'usuari" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "S'està publicant l'entrada al bloc" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "S'està actualitzant l'entrada al bloc" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "S'està recuperant les entrades del bloc" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "S'està recuperant l'historial del bloc" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "S'està actualitzant la llista d'amics" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "S'està recuperant la llista d'amics" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "S'està recuperant les categories" #: ../src/network.c:118 msgid "Setting categories" msgstr "S'està establint les categories" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "S'està publicant l'entrada al bloc" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "S'està suprimint l'entrada al bloc" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "S'està notificant a Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "S'està recuperant els grups de seguretat" #: ../src/network.c:143 msgid "Updating security groups" msgstr "S'està actualitzant els grups de seguretat" #: ../src/network.c:315 msgid "Network connection failed" msgstr "Connexió fallida" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "No entenc resposta del servidor" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "No s'està reproduint cap cançó" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "_Visualitza la pàgina de l'amic" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "Sup_rimeix de la safata" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Sense títol" #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "" #~ "Voleu desar els canvis d'aquesta entrada del bloc abans de continuar?" #, fuzzy #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "Exemple: http://gnome.org/pic.png" #, fuzzy #~ msgid "Example: http://www.gnome.org" #~ msgstr "Exemple: http://gnome.org" #~ msgid "Retrieving user information" #~ msgstr "S'està recuperant informació de l'usuari" #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "S'està fent alguna cosa, però no estic segur del què" #~ msgid "Sending / Receiving" #~ msgstr "S'està enviant/rebent" #~ msgid "_Add..." #~ msgstr "_Afegeix..." #~ msgid "_Edit..." #~ msgstr "_Edita..." #~ msgid "Save _Draft" #~ msgstr "Desa l'es_borrany" #~ msgid "_Don't Save" #~ msgstr "No _desis l'esborrany" #~ msgid "Groups" #~ msgstr "Grups" #~ msgid "Image" #~ msgstr "Imatge" #~ msgid "Link" #~ msgstr "Enllaç" #~ msgid "Display flags" #~ msgstr "Mostra els senyaladors" #~ msgid "Displayed date and/or time properties" #~ msgstr "Propietats de la data i/o hora mostrades" #~ msgid "Lazy mode" #~ msgstr "Mode gandul" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "El mode gandul no normalitza les dates i temps entrats" #~ msgid "Year" #~ msgstr "Any" #~ msgid "Displayed year" #~ msgstr "Any mostrat" #~ msgid "Month" #~ msgstr "Mes" #~ msgid "Displayed month" #~ msgstr "Mes mostrat" #~ msgid "Day" #~ msgstr "Dia" #~ msgid "Displayed day of month" #~ msgstr "Dia del mes mostrat" #~ msgid "Hour" #~ msgstr "Hora" #~ msgid "Displayed hour" #~ msgstr "Hora mostrada" #~ msgid "Minute" #~ msgstr "Minut" #~ msgid "Second" #~ msgstr "Segon" #~ msgid "Displayed second" #~ msgstr "Segon mostrat" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:1" #~ msgid "Date" #~ msgstr "Data" #~ msgid "Enter the date directly" #~ msgstr "Entra la data directament" #~ msgid "Select Date" #~ msgstr "Selecciona la data" #~ msgid "Select the date from a calendar" #~ msgstr "Selecciona la data des del calendari" #~ msgid "Enter the time directly" #~ msgstr "Entra el temps directament" #~ msgid "Select Time" #~ msgstr "Selecciona el temps" #~ msgid "Select the time from a list" #~ msgstr "Selecciona el temps des d'una llista" #~ msgid "24hr: no" #~ msgstr "24hr: no" #~ msgid "AM" #~ msgstr "AM" #~ msgid "PM" #~ msgstr "PM" #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%02d:%02d:%02d %s" #~ msgid "%02d:%02d %s" #~ msgstr "%02d:%02d %s" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d:%02d:%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d:%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d-%02d-%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "Orientació" #~ msgid "The orientation of the tray." #~ msgstr "L'orientació de la safata de notificació." #~ msgid "Communication Error" #~ msgstr "S'ha produït un error en la comunicació" #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "" #~ "S'ha produït un error en enviar la informació al servidor. Proveu-ho més " #~ "tard." #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "" #~ "S'ha produït un problema en rebre informació del servidor. Proveu-ho més " #~ "tard." drivel-3.0.5/po/ar.po0000644000175000017500000007272711731016426011325 00000000000000# Arabic translations for THIS package. # Copyright (C) 2007 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as THIS package. # Automatically generated, 2007. # Djihed Afifi , 2007 msgid "" msgstr "" "Project-Id-Version: Arabic\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2007-04-14 18:49+0100\n" "Last-Translator: Djihed Afifi \n" "Language-Team: Arabic \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 #, fuzzy msgid "The currently logged-in user." msgstr "اسم الملف المنتقى حاليا" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" #: ../data/drivel.schemas.in.h:3 #, fuzzy msgid "The number of moods stored locally." msgstr "عدد السطور التي ستملأ" #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 #, fuzzy msgid "Drivel Journal Editor" msgstr "محرر التدريج" #: ../data/gnome-drivel.desktop.in.h:2 #, fuzzy msgid "Journal Editor" msgstr "محرّر المراسَلين" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "" #: ../data/mime/drivel.xml.in.h:1 #, fuzzy msgid "Draft journal entry" msgstr "خانة سجل - %s" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 #, fuzzy msgid "translator-credits" msgstr "المترجمون:" #: ../src/about.c:85 msgid "With help from:" msgstr "" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "" #: ../src/about.c:102 #, fuzzy msgid "A journal client for the GNOME desktop." msgstr "طرفية لسطح مكتب جنوم" #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 #, fuzzy msgid "Server error" msgstr "خطأ في الخادم: %s" #: ../src/blog_atom.c:302 #, fuzzy msgid "The server did not return a valid Atom response." msgstr "لم يستجب خادم LDAP بمعلومات مخطّط سليمة." #: ../src/blog_atom.c:408 #, fuzzy msgid "Unknown error" msgstr "خطأ مجهول." #: ../src/blog_atom.c:411 #, fuzzy msgid "Error Posting Entry" msgstr "خطأ عند تحليل التقويم" #: ../src/blog_lj.c:290 #, fuzzy msgid "default" msgstr "[الإفتراض]" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 #, fuzzy msgid "None" msgstr "_لا شيء" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "غير متّصلل" #: ../src/dialogs.c:319 ../src/dialogs.c:714 #, fuzzy msgid "[No journal entries]" msgstr "خانة سجل - %s" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "إفتراضي النظام" #: ../src/dialogs.c:426 #, fuzzy msgid "Missing username" msgstr "اسم مفقود." #: ../src/dialogs.c:427 #, fuzzy msgid "Please enter a username to add." msgstr "رجاء ادخل إسم المستخدم" #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "عام" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "خاص" #: ../src/dialogs.c:809 #, fuzzy msgid "Community" msgstr "أرسِل" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "" #: ../src/dialogs.c:813 #, fuzzy msgid "User" msgstr "الم_ستخدم" #: ../src/dialogs.c:867 #, fuzzy msgid "Add Friend" msgstr "أضف ملفات" #: ../src/dialogs.c:895 #, fuzzy msgid "_Friend's username:" msgstr "اسم _مستخدم ويندوز:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "لون ال_نص:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "اللون الخلفي:" #: ../src/dialogs.c:1261 #, fuzzy msgid "Could not perform the file operation" msgstr "لم يمكن القيام بالعملية" #: ../src/dialogs.c:1275 #, fuzzy msgid "Could not open the selected file" msgstr "لا يمكن انتقاء ملف" #: ../src/dialogs.c:1323 #, fuzzy msgid "Save the content of this journal entry instead of clearing?" msgstr "تطبيق التغييرات على الجلسة الحالية قبل الغلق؟" #: ../src/dialogs.c:1324 #, fuzzy msgid "If you don't save, content of this entry will be discarded." msgstr "إذا لم تحفظ ستُتجاهل التغييرات." #: ../src/dialogs.c:1359 #, fuzzy msgid "Save changes to this journal entry before closing?" msgstr "تطبيق التغييرات على الجلسة الحالية قبل الغلق؟" #: ../src/dialogs.c:1360 #, fuzzy msgid "If you don't save, changes to this entry will be discarded." msgstr "إذا لم تحفظ ستُتجاهل التغييرات." #: ../src/dialogs.c:1442 msgid "Time" msgstr "الوقت" #: ../src/dialogs.c:1450 #, fuzzy msgid "Journal Entry" msgstr "خانة سجل - %s" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 #, fuzzy msgid "Type" msgstr "أنواع" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "وصلة" #: ../src/dialogs.c:1542 #, fuzzy msgid "Username" msgstr "اسم المستخدم" #: ../src/dialogs.c:1552 #, fuzzy msgid "Name" msgstr "الإ_سم" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "متوفر" #: ../src/dialogs.c:1809 #, fuzzy msgid "In Group" msgstr "مجموعة الخطوط:" #: ../src/drivel-gtk.glade.h:1 #, fuzzy msgid "Drivel" msgstr "مشغّل" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 #, fuzzy msgid "Switch usernames" msgstr "بدّل المستخدم" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "امسح الخانة" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "ت_فضيلات" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "إبراز اعتراضات S/Key" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "مساعدة" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "_6 عن البرنامج" #: ../src/drivel-gtk.glade.h:13 #, fuzzy msgid "_Subject:" msgstr "الموضوع:" #: ../src/drivel-gtk.glade.h:14 #, fuzzy msgid "Securit_y:" msgstr "أمن:" #: ../src/drivel-gtk.glade.h:15 #, fuzzy msgid "_Mood:" msgstr "_نمط:" #: ../src/drivel-gtk.glade.h:16 #, fuzzy msgid "M_usic:" msgstr "موسيقى" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 #, fuzzy msgid "Tur_n off comments" msgstr "اطفيء الحاسوب" #: ../src/drivel-gtk.glade.h:19 #, fuzzy msgid "Do not allow users to comment on this entry" msgstr "ليس مسموحا لك بفتح هذا الملف." #: ../src/drivel-gtk.glade.h:20 #, fuzzy msgid "Don't auto-format _text" msgstr "خطّ النّصّ" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" #: ../src/drivel-gtk.glade.h:22 #, fuzzy msgid "Past d_ate:" msgstr "التحديث الأخير:" #: ../src/drivel-gtk.glade.h:23 #, fuzzy msgid "Mark entry as having been posted on the selected date" msgstr "لا يوجد أي وسيط في القرص المنتقى." #: ../src/drivel-gtk.glade.h:24 #, fuzzy msgid "Pictu_re:" msgstr "_صورة" #: ../src/drivel-gtk.glade.h:25 #, fuzzy msgid "Ca_tegory:" msgstr "ال_صنف:" #: ../src/drivel-gtk.glade.h:26 #, fuzzy msgid "Show more _options" msgstr "اعرض خيارات الأخطاء" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 #, fuzzy msgid "Delete the selected entry from your journal." msgstr "احذف علامة الموقع أو الموضوع المنتقى" #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "احفظ _مسودّة" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 #, fuzzy msgid "Save the current entry without adding it to your journal" msgstr "احفظ المشروع الحالي الحالي بإسم مغاير" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "_حدّث" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 #, fuzzy msgid "Update the selected entry in your journal" msgstr "فتح المدخل المحدد" #: ../src/drivel-gtk.glade.h:32 #, fuzzy msgid "_Post" msgstr "_معظم" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 #, fuzzy msgid "Post the current entry to your journal" msgstr "رتّب المستند أو المنتقى الحالي" #: ../src/drivel-gtk.glade.h:34 #, fuzzy msgid "Insert Poll" msgstr "ادخل وصلة" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "" #: ../src/drivel-gtk.glade.h:36 #, fuzzy msgid "Voter_s:" msgstr "ملاحظات:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "" #: ../src/drivel-gtk.glade.h:38 #, fuzzy msgid "Questions:" msgstr "أسئلة" #: ../src/drivel-gtk.glade.h:39 #, fuzzy msgid "Add _Question" msgstr "سؤال" #: ../src/drivel-gtk.glade.h:40 #, fuzzy msgid "Add _Answer" msgstr "_اضف مستخدم" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "فوق" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_نوع" #: ../src/drivel-gtk.glade.h:43 #, fuzzy msgid "Qu_estion:" msgstr "سؤال" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_من:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "إلى:" #: ../src/drivel-gtk.glade.h:48 #, fuzzy msgid "_By:" msgstr "_المتن:" #: ../src/drivel-gtk.glade.h:49 #, fuzzy msgid "Ans_wer:" msgstr "مجاب" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "أ_درج" #: ../src/drivel-gtk.glade.h:51 #, fuzzy msgid "Drivel Preferences" msgstr "تفضيلات البريد" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr "السلوك" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "" #: ../src/drivel-gtk.glade.h:54 #, fuzzy msgid "Automatically minimize the journal window after logging in" msgstr "ارفع النافذة المركزة آليا" #: ../src/drivel-gtk.glade.h:55 #, fuzzy msgid "Minimize after _posting" msgstr "الموقع الأدنى" #: ../src/drivel-gtk.glade.h:56 #, fuzzy msgid "Automatically minimize the journal window after posting an entry" msgstr "أعِد _تحجيم النافذة آليا عند تحميل فيديو جديد" #: ../src/drivel-gtk.glade.h:57 #, fuzzy msgid "_Highlight HTML in journal entry" msgstr "ظَلِّل القوس الموافق" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "" #: ../src/drivel-gtk.glade.h:59 #, fuzzy msgid "Highlight misspelled _words" msgstr "لا كلمة مهجأة خطئا" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "" #: ../src/drivel-gtk.glade.h:61 #, fuzzy msgid "_Dictionary:" msgstr "قاموس" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr "مساحة التبليغ" #: ../src/drivel-gtk.glade.h:63 #, fuzzy msgid "Notify when _friends update" msgstr "عندما يتم تحديث التلقيم:" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr "التنقيط و الفواصل" #: ../src/drivel-gtk.glade.h:67 #, fuzzy msgid "Notify _Technorati on updates" msgstr "رسائل التنبيه" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 #, fuzzy msgid "General" msgstr "_عامّ" #: ../src/drivel-gtk.glade.h:73 #, fuzzy msgid "Default Post Options" msgstr "خصائص الملاحظة الافتراضية" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "" #: ../src/drivel-gtk.glade.h:75 #, fuzzy msgid "Entry Defaults" msgstr "إفتراضي الطابعة" #: ../src/drivel-gtk.glade.h:76 #, fuzzy msgid "Journal Login" msgstr "ولوج عادي" #: ../src/drivel-gtk.glade.h:77 #, fuzzy msgid "_Username:" msgstr "ا_سم المستخدم:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_كلمة السر:" #: ../src/drivel-gtk.glade.h:79 #, fuzzy msgid "_Automatically login" msgstr "ولوج تلقائي" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "ت_ذكّر كلمة السر" #: ../src/drivel-gtk.glade.h:81 #, fuzzy msgid "Journal _type:" msgstr "_نوع الملف:" #: ../src/drivel-gtk.glade.h:82 #, fuzzy msgid "_Server address:" msgstr "عنوان ال_جهاز:" #: ../src/drivel-gtk.glade.h:83 #, fuzzy msgid "Work _Offline" msgstr "اعمل دون اتّصال" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 #, fuzzy msgid "_Log In" msgstr "لُجْ" #: ../src/drivel-gtk.glade.h:85 #, fuzzy msgid "Edit History" msgstr "تحرير مضيف" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 #, fuzzy msgid "_Edit" msgstr "_تحرير/" #: ../src/drivel-gtk.glade.h:87 #, fuzzy msgid "Edit Friends" msgstr "تحرير ملف " #: ../src/drivel-gtk.glade.h:88 #, fuzzy msgid "_View journal" msgstr "اعرض المصدر" #: ../src/drivel-gtk.glade.h:89 #, fuzzy msgid "Details" msgstr "تفاصيل" #: ../src/drivel-gtk.glade.h:90 #, fuzzy msgid "Username:" msgstr "اسم المستخدم: " #: ../src/drivel-gtk.glade.h:91 #, fuzzy msgid "Journal Type:" msgstr "نوع العمل:" #: ../src/drivel-gtk.glade.h:92 #, fuzzy msgid "Text color:" msgstr "لون ال_نص:" #: ../src/drivel-gtk.glade.h:93 #, fuzzy msgid "Background color:" msgstr "اللون الخلفي:" #: ../src/drivel-gtk.glade.h:94 #, fuzzy msgid "Choose a text color" msgstr "اختر لون كتابة الطرفيّة" #: ../src/drivel-gtk.glade.h:95 #, fuzzy msgid "Choose a background color" msgstr "لون الخلفية" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "ادخل وصلة" #: ../src/drivel-gtk.glade.h:98 #, fuzzy msgid "_Text:" msgstr "_نص" #: ../src/drivel-gtk.glade.h:99 #, fuzzy msgid "Create a link to..." msgstr "تاريخ الإنشاء :" #: ../src/drivel-gtk.glade.h:100 #, fuzzy msgid "a _site on the Internet" msgstr "تحدث مع العالم عبر الإنترنت" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "ال_موقع:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 #, fuzzy msgid "another Live_Journal user" msgstr "للإستخدام الداخلي" #: ../src/drivel-gtk.glade.h:104 #, fuzzy msgid "the _rest of this entry" msgstr "محتويات الخانة" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "ادخل وصلة" #: ../src/drivel-gtk.glade.h:106 #, fuzzy msgid "Insert Image" msgstr "أدخل صورة" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 #, fuzzy msgid "Attributes (Optional)" msgstr "خيارات الكتابة" #: ../src/drivel-gtk.glade.h:109 #, fuzzy msgid "_Height:" msgstr "ثمانية" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "بكسل" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "العرض:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "ال_وصف:" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "أدخل صورة" #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 #, fuzzy msgid "Security Groups" msgstr "خطر أمني" #: ../src/drivel-gtk.glade.h:116 #, fuzzy msgid "Groups" msgstr "مجموعة الخطوط:" #: ../src/drivel-gtk.glade.h:117 #, fuzzy msgid "Group Details" msgstr "تفاصيل" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "الإ_سم:" #: ../src/drivel-gtk.glade.h:119 #, fuzzy msgid "_Order" msgstr "ال_ترتيب:" #: ../src/drivel-gtk.glade.h:120 #, fuzzy msgid "_Public" msgstr "عام" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "جميع المستخدمين" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "أصدقاء" #: ../src/insert_poll_dialog.c:197 #, fuzzy msgid "Text" msgstr "_نص" #: ../src/insert_poll_dialog.c:220 #, fuzzy msgid "Dropdown selection" msgstr "نسخ المنتقى" #: ../src/insert_poll_dialog.c:222 #, fuzzy msgid "Radio selection" msgstr "لا تحديد" #: ../src/insert_poll_dialog.c:224 #, fuzzy msgid "Checkbox selection" msgstr "نسخ المنتقى" #: ../src/insert_poll_dialog.c:226 #, fuzzy msgid "Text entry" msgstr "مدخل نص" #: ../src/insert_poll_dialog.c:228 #, fuzzy msgid "Scale" msgstr "_حجّم" #: ../src/journal.c:308 #, fuzzy msgid "Open this entry for editing" msgstr "جاري فتح الجهاز للتسجيل" #: ../src/journal.c:324 #, fuzzy msgid "Refresh this list" msgstr "حدِّث القائمة" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "" #: ../src/journal.c:407 #, fuzzy msgid "Offline - Drivel" msgstr "غير متّصلل" #: ../src/journal.c:829 #, fuzzy msgid "Drivel - Open Draft" msgstr "السواقة مفتوحة" #: ../src/journal.c:838 ../src/journal.c:1109 #, fuzzy msgid "All XML Files" msgstr "كل الملفات النصية" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 #, fuzzy msgid "Drivel - Save Draft" msgstr "احفظ _مسودّة" #: ../src/journal.c:2782 #, fuzzy msgid "Please select a journal account" msgstr "الرجاء انتقاء مستخدم." #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" #: ../src/journal.c:3087 #, fuzzy msgid "Select a journal to post to" msgstr "انتقاء مجلداً للاستيراد إليه" #: ../src/journal.c:3372 ../src/login.c:925 #, fuzzy msgid "_Journal" msgstr "_عادي" #: ../src/journal.c:3374 #, fuzzy msgid "_View" msgstr "_عرض/" #: ../src/journal.c:3375 #, fuzzy msgid "_Format" msgstr "ال_تهيئة:" #: ../src/journal.c:3376 #, fuzzy msgid "_Web Links" msgstr "_فتح الوصلة" #: ../src/journal.c:3377 ../src/login.c:927 #, fuzzy msgid "_Help" msgstr "مساعدة" #: ../src/journal.c:3378 #, fuzzy msgid "_Open Draft..." msgstr "إفتح ملف..." #: ../src/journal.c:3379 #, fuzzy msgid "_Save Draft" msgstr "احفظ _مسودّة" #: ../src/journal.c:3380 #, fuzzy msgid "Save Draft _as..." msgstr "احفظ الملف بإسم..." #: ../src/journal.c:3381 #, fuzzy msgid "_Recent Entries" msgstr "ال_ملفات الحديثة" #: ../src/journal.c:3382 #, fuzzy msgid "Recent _Drafts" msgstr "المشاريع الحديثة" #: ../src/journal.c:3383 #, fuzzy msgid "_Post Entry" msgstr "له مَدخل" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 #, fuzzy msgid "_Update Entry" msgstr "فترة التحديث" #: ../src/journal.c:3386 #, fuzzy msgid "_Delete Entry" msgstr "حذف المسار" #: ../src/journal.c:3387 #, fuzzy msgid "_Log Out" msgstr "اخرج" #: ../src/journal.c:3389 #, fuzzy msgid "C_lear Entry" msgstr "امسح الخانة" #: ../src/journal.c:3390 #, fuzzy msgid "Select _All" msgstr "اختر الكل" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 #, fuzzy msgid "Last _Entry" msgstr "له مَدخل" #: ../src/journal.c:3392 #, fuzzy msgid "Edit the last entry you posted" msgstr "اصب الهدف وأحص نقاطك" #: ../src/journal.c:3393 #, fuzzy msgid "_Friends" msgstr "أصدقاء" #: ../src/journal.c:3393 #, fuzzy msgid "Edit your friends list" msgstr "أضيف %s إلى قائمة أصدقائك." #: ../src/journal.c:3394 msgid "_History" msgstr "_تاريخ" #: ../src/journal.c:3394 #, fuzzy msgid "View or edit a previous entry" msgstr "اعرض الصفحة السابقة" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" #: ../src/journal.c:3396 #, fuzzy msgid "Active _Journal" msgstr "الملحقات ال_نشطة:" #: ../src/journal.c:3402 #, fuzzy msgid "Supe_rscript" msgstr "مخطوط" #: ../src/journal.c:3403 #, fuzzy msgid "Subs_cript" msgstr "مخطوط" #: ../src/journal.c:3404 #, fuzzy msgid "Lis_t" msgstr "قائمة" #: ../src/journal.c:3405 #, fuzzy msgid "List Ite_m" msgstr "عنصر قائمة" #: ../src/journal.c:3406 #, fuzzy msgid "I_ndent" msgstr "إزاحة" #: ../src/journal.c:3407 #, fuzzy msgid "Insert _Link..." msgstr "ادخل وصلة" #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" #: ../src/journal.c:3408 #, fuzzy msgid "Insert Ima_ge..." msgstr "أدخل صورة" #: ../src/journal.c:3408 #, fuzzy msgid "Insert an image into your journal entry" msgstr "أدخل صورة الى الوثيقة..." #: ../src/journal.c:3409 #, fuzzy msgid "Insert _Poll..." msgstr "_ثبِّت..." #: ../src/journal.c:3410 ../src/login.c:932 #, fuzzy msgid "_Contents" msgstr "المحتويات" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "" #: ../src/journal.c:3412 ../src/login.c:934 #, fuzzy msgid "_About" msgstr "_6 عن البرنامج" #: ../src/journal.c:3416 #, fuzzy msgid "More Entry _Options" msgstr "_خيارات أخرى" #: ../src/journal.c:3417 #, fuzzy msgid "Highlight _Spelling Errors" msgstr "إبراز اعتراضات S/Key" #: ../src/journal.c:3418 #, fuzzy msgid "Highlight _HTML" msgstr "ابراز" #: ../src/login.c:504 #, fuzzy msgid "Bad username" msgstr "اسم المستخدم" #: ../src/login.c:505 #, fuzzy msgid "Username contains invalid characters." msgstr "يحتوي اسم المستخدم محارفً غير صالحة" #: ../src/login.c:929 #, fuzzy msgid "Remove Account" msgstr "أزل بُت" #: ../src/login.c:931 #, fuzzy msgid "_Preferences" msgstr "ت_فضيلات" #: ../src/login.c:1139 msgid "Drafts" msgstr "مسوّدات" #: ../src/main.c:58 msgid "Error" msgstr "خطأ" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "" #: ../src/main.c:351 #, fuzzy msgid "Friends Only" msgstr "أصدقاء" #: ../src/main.c:767 #, fuzzy msgid "Display debugging output" msgstr "إسم العرض" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, fuzzy, c-format msgid "GConf init failed: %s" msgstr "فشل النشر: %s" #: ../src/main.c:793 #, fuzzy msgid "Could not initialize GnomeVFS!\n" msgstr "لم يمكن تهيئة بونوبو!\n" #: ../src/network.c:64 #, fuzzy msgid "Done" msgstr "_لا شيء" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 #, fuzzy msgid "Downloading user pictures" msgstr "تنزيل الملفات" #: ../src/network.c:81 #, fuzzy msgid "Posting journal entry" msgstr "مدخل عدد عشري" #: ../src/network.c:86 #, fuzzy msgid "Updating journal entry" msgstr "تحديث الإستفسار" #: ../src/network.c:91 #, fuzzy msgid "Retrieving journal entries" msgstr "يجري الحصول على المفاتيح" #: ../src/network.c:96 #, fuzzy msgid "Retrieving journal history" msgstr "سجلّ المكالمات المستلمة" #: ../src/network.c:101 #, fuzzy msgid "Updating Friends list" msgstr "تحديث %s" #: ../src/network.c:107 #, fuzzy msgid "Retrieving Friends list" msgstr "يجري الحصول على المفاتيح" #: ../src/network.c:113 #, fuzzy msgid "Retrieving categories" msgstr "يجري الحصول على المفاتيح" #: ../src/network.c:118 #, fuzzy msgid "Setting categories" msgstr "فئات" #: ../src/network.c:123 #, fuzzy msgid "Publishing journal entry" msgstr "مؤلف النشر" #: ../src/network.c:128 #, fuzzy msgid "Deleting journal entry" msgstr "مدخل عدد عشري" #: ../src/network.c:133 #, fuzzy msgid "Notifying Technorati" msgstr "معلومات جدول التّوجيه" #: ../src/network.c:138 #, fuzzy msgid "Retrieving security groups" msgstr "يجري الحصول على المفاتيح" #: ../src/network.c:143 #, fuzzy msgid "Updating security groups" msgstr "يجري تحديث الكائِنات" #: ../src/network.c:315 #, fuzzy msgid "Network connection failed" msgstr "فشل اتصال VPN" #: ../src/network.c:321 #, fuzzy msgid "Could not understand server response" msgstr "تعذّر الإتّصال بخادم POP على %s" #: ../src/query_music_players.c:115 #, fuzzy msgid "No song playing" msgstr "التشغيل الآن" #: ../src/tray.c:129 #, fuzzy msgid "_View Friends Page" msgstr "ا_عرض ملف" #: ../src/tray.c:135 #, fuzzy msgid "_Remove From Tray" msgstr "ازل من المهملات" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "بدون عنوان" #, fuzzy #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "تطبيق التغييرات على الجلسة الحالية قبل الغلق؟" #, fuzzy #~ msgid "Retrieving user information" #~ msgstr "معلومات الخادم" #, fuzzy #~ msgid "Sending / Receiving" #~ msgstr "البيانات المرسلة/المتلقات" #, fuzzy #~ msgid "_Add..." #~ msgstr "أضِف..." #~ msgid "_Edit..." #~ msgstr "_حرر..." #~ msgid "Save _Draft" #~ msgstr "احفظ _مسودّة" #~ msgid "_Don't Save" #~ msgstr "_لا تحفظ" #, fuzzy #~ msgid "Groups" #~ msgstr "بؤرة" #~ msgid "Image" #~ msgstr "صورة" #, fuzzy #~ msgid "Link" #~ msgstr "الولوج:" #, fuzzy #~ msgid "Display flags" #~ msgstr "اعرض الكل" #, fuzzy #~ msgid "Lazy mode" #~ msgstr "نمط الطبقة" #, fuzzy #~ msgid "Year" #~ msgstr "سنوات" #, fuzzy #~ msgid "Displayed year" #~ msgstr "عرض البحث" #, fuzzy #~ msgid "Month" #~ msgstr "أشهر" #, fuzzy #~ msgid "Displayed month" #~ msgstr "اعرض المهم" #~ msgid "Day" #~ msgstr "اليوم" #, fuzzy #~ msgid "Displayed day of month" #~ msgstr "أظهر باستعمال الخطين" #~ msgid "Hour" #~ msgstr "السّاعة" #, fuzzy #~ msgid "Displayed hour" #~ msgstr "إزاحة التركيز" #~ msgid "Minute" #~ msgstr "الدّقيقة" #~ msgid "Second" #~ msgstr "الثّانية" #, fuzzy #~ msgid "Displayed second" #~ msgstr "عرض البحث" #, fuzzy #~ msgid "Lower limit year" #~ msgstr "الحد الأسفل للمسطرة" #, fuzzy #~ msgid "Upper limit year" #~ msgstr "الحد الأعلى للمسطرة" #, fuzzy #~ msgid "Lower limit month" #~ msgstr "الحد الأسفل للمسطرة" #, fuzzy #~ msgid "Upper limit month" #~ msgstr "الحد الأعلى للمسطرة" #, fuzzy #~ msgid "Lower limit day" #~ msgstr "الحد الأسفل للمسطرة" #, fuzzy #~ msgid "Upper limit day" #~ msgstr "الحد الأعلى للمسطرة" #, fuzzy #~ msgid "Lower limit hour" #~ msgstr "الحد الأسفل للمسطرة" #, fuzzy #~ msgid "Upper limit hour" #~ msgstr "الحد الأعلى للمسطرة" #, fuzzy #~ msgid "Lower limit minute" #~ msgstr "الحد الأسفل للمسطرة" #, fuzzy #~ msgid "Upper limit minute" #~ msgstr "الحد الأعلى للمسطرة" #, fuzzy #~ msgid "Lower limit second" #~ msgstr "اعرض الوقت بالثواني" #, fuzzy #~ msgid "Upper limit second" #~ msgstr "الحد الأعلى للمسطرة" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:7" #, fuzzy #~ msgid "Date" #~ msgstr "التّاريخ:" #, fuzzy #~ msgid "Enter the date directly" #~ msgstr "انشاء مجلد بعيد" #~ msgid "Select Date" #~ msgstr "انتقِ تاريخاً" #~ msgid "Select the date from a calendar" #~ msgstr "انتقِ تاريخاً من التقويم" #, fuzzy #~ msgid "Enter the time directly" #~ msgstr "مسار غير كامل لمجلّد المنزل" #~ msgid "Select Time" #~ msgstr "انتقِ وقتاً" #~ msgid "Select the time from a list" #~ msgstr "انتقِ وقتاً من القائمة" #, fuzzy #~ msgid "AM" #~ msgstr "AIM" #, fuzzy #~ msgid "PM" #~ msgstr "RPM" #, fuzzy #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%d:%02d:%02d" #, fuzzy #~ msgid "%02d:%02d %s" #~ msgstr "%d:%02d:%02d" #, fuzzy #~ msgid "%02d:%02d:%02d" #~ msgstr "%d:%02d:%02d" #, fuzzy #~ msgid "%02d:%02d" #~ msgstr "%d:%02d" #, fuzzy #~ msgid "%04d-%02d-%02d" #~ msgstr "%d:%02d:%02d" #, fuzzy #~ msgid "%u:%u:%u" #~ msgstr "%u:%02u:%02u" #, fuzzy #~ msgid "Orientation" #~ msgstr "الإتجاه:" #, fuzzy #~ msgid "The orientation of the tray." #~ msgstr "إتجاه الطبق." drivel-3.0.5/po/es.po0000644000175000017500000007641211731016426011325 00000000000000# drivel po translation to Spanish # Copyright (C) 2004, 2005, 2006, 2009 Software in the Public Interest # This file is distributed under the same license as the drivel package. # # Changes: # - Initial translation # Francisco Javier F. Serrador , 2004, 2006 # # - Updates # Alonso Lara , 2005 # Francisco Javier Cuadrado , 2009 # # Traductores, si no conocen el formato PO, merece la pena leer la # documentación de gettext, especialmente las secciones dedicadas a este # formato, por ejemplo ejecutando: # info -n '(gettext)PO Files' # info -n '(gettext)Header Entry' # # Equipo de traducción al español, por favor lean antes de traducir # los siguientes documentos: # # - El proyecto de traducción de Debian al español # http://www.debian.org/intl/spanish/coordinacion # especialmente las notas de traducción en # http://www.debian.org/intl/spanish/notas # # - La guía de traducción de po's de debconf: # /usr/share/doc/po-debconf/README-trans # o http://www.debian.org/intl/l10n/po-debconf/README-trans # msgid "" msgstr "" "Project-Id-Version: drivel 3.0.0-1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2009-09-10 09:18+0100\n" "Last-Translator: Francisco Javier Cuadrado \n" "Language-Team: Debian l10n Spanish \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "El usuario actualmente ejecutando una sesión." #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" "Una lista de cada nombre de usuario del diario usado anteriormente en esta " "máquina." #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "El número de moods almacenados localmente." #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "Una lista de «moods» para el menú de drivel." #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Editor de diarios Drivel" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Editor de diario" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Actualice y gestione su diario en línea" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Borrador de entrada del diario" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "" "Francisco Javier F. Serrador \n" "Alonso Lara \n" "Francisco Javier Cuadrado " #: ../src/about.c:85 msgid "With help from:" msgstr "Con la ayuda de:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "y muchos otros; ¡gracias a todos!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "Un diario para el escritorio GNOME." #: ../src/about.c:108 msgid "Homepage:" msgstr "Página web:" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Error del servidor" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "El servidor no devolvió una respuesta Atom válida." #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "Error desconocido" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "Error al publicar entrada" #: ../src/blog_lj.c:290 msgid "default" msgstr "predeterminado" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Ninguno" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Desconectado" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Sin entradas de diario]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Predeterminado del sistema" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Falta el nombre de usuario" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Introduzca un nombre de usuario para añadir." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Público" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Privado" #: ../src/dialogs.c:809 msgid "Community" msgstr "Comunidad" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Proveedor sindicado" #: ../src/dialogs.c:813 msgid "User" msgstr "Usuario" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Añadir amigo" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "Nombre de usuario del _amigo:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "Color del _texto:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "Color del _fondo:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "No se ha podido realizar la operación de archivado" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "No se ha podido abrir el archivo seleccionado" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "" "¿Desea guardar los cambios de esta entrada del diario en lugar de borrarla?" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "Si no guarda, el contenido de esta entrada se perderá." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "¿Quiere guardar los cambios a esta entrada del diario antes de cerrar?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "Si no guarda, los cambios realizados a esta entrada se perderán." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Hora" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Entrada del diario" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Tipo" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Enlace" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Nombre de usuario" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Nombre" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "Disponible" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "En grupo" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Abre una entrada no finalizada del diario" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Cambiar nombres de usuario" #: ../src/drivel-gtk.glade.h:4 msgid "Clear Entry" msgstr "Vaciar entrada" #: ../src/drivel-gtk.glade.h:5 msgid "Preferences" msgstr "Preferencias" #: ../src/drivel-gtk.glade.h:6 msgid "Highlight Spelling Errors" msgstr "Resaltar errores de escritura" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "A_yuda" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "A_cerca de" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Asunto:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "_Seguridad:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Mood:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "_Música:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "_Etiquetas:" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "_Desactivar comentarios" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "No permitir que los usuarios comenten esta entrada" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "No auto-formatear _texto" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "No parsear automáticamente los saltos de línea o enlaces a sitios web en " "etiquetas HTML" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "_Fecha pasada:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "" "Marcar la entrada cono si hubiese sido publicada en la fecha seleccionada" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "_Imagen:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "Ca_tegoría:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Mostrar más _opciones" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Borra la entrada seleccionada de su diario." #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "Guardar _borrador" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Guarda la entrada actual sin añadirla a su diario" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "_Actualizar" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Actualizar la entrada seleccionada en su diario" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Publicar" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Publica la entrada actual en su diario" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Insertar encuesta" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "_Nombre de la encuesta (opcional):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "V_otantes:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Resultados visibles para:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Preguntas:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "Añadir _pregunta" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "Añadir _respuesta" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "Subir" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Tipo:" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "Preg_unta:" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "Tamaño del _campo de texto (opcional):" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "_Longitud máxima del texto (opcional):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_De:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "Para:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "_Por:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "_Respuesta:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "_Insertar" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Preferencias" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "Comportamiento de la entrada" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Minimizar después de iniciar _sesión" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "" "Minimizar automáticamente la ventana del diario después de iniciar sesión" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Minimizar después de _publicar" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "" "Minimizar automáticamente la ventana del diario después de publicar una " "entrada" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "_Resaltar HTML en la entrada del diario" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "Mostrar palabras clave HTML en colores diferentes que el texto normal" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Resaltar _palabras mal escritas" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "Resaltar palabras no encontradas en el diccionario de su equipo" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "_Diccionario:" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "Área de notificación" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "Notificar cuando actualizen los _amigos" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Mostrar una aleta cuando la página de sus amigos se actualize\n" "(Sólo usuarios de pago en LiveJournal)" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "Publicación" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "Notificar a _Technorati las actualizaciones" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" "Avisar de entradas nuevas al popular motor de búsqueda de diarios Technorati" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "Propiedades de la tipografía" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "Utilizar la tipografía del _tema predeterminado" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "Tipografía del editor:" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "General" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "Opciones de publicación predeterminadas" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "No parsear automáticamente los saltos de línea en etiquetas HTML" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Opciones predeterminadas de la entrada" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Inicio de sesión en el diario" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_Usuario:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Contraseña:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "Inicio de sesión _automático" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_Guardar contraseña" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "_Tipo de diario:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "Dirección del _servidor:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "Trabajar _desconectado" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "_Iniciar sesión" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Editar histórico" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Editar" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Editar amigos" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "_Ver diario" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "Detalles" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Usuario:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Tipo de diario:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Color del texto:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Color del fondo:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Elija un color para el texto" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Elija un color del fondo" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Insertar enlace" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "_Texto:" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "Crear un enlace a ..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "un _sitio en Internet" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "_Dirección:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "Ejemplo:" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "otro usuario de Live_Journal" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "el _resto de esta entrada" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "_Insertar enlace ..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Insertar imagen" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "Imagen" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "Atributos (Opcional)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Altura:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Anchura:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Descripción:" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "_Insertar imagen ..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "Grupos de seguridad" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "Grupos" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "Detalles del grupo" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "_Nombre:" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "_Ordenar" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "_Público" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Todos los usuarios" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Amigos" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Texto" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Selección desplegable" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Selección de radio" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Selección de casilla" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Entrada de texto" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Escala" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "Abrir esta entrada para editar" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "Refrescar esta lista" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "Diario de %s - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "La comunidad de %s - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Desconectado - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - Abrir borrador" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Todos los archivos XML" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "Borradores de drivel" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Guardar borrador" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Seleccione una cuenta de diario" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "La preferencias se aplican en cada cuenta por separado, así que debe " "seleccionar su cuenta antes de poder editar sus preferencias." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Seleccionar un diario en el que publicar" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "_Diario" #: ../src/journal.c:3374 msgid "_View" msgstr "_Ver" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Formato" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "Enlaces _web" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "A_yuda" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Abrir borrador..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "_Guardar borrador" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Guardar borrador _como..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "Entradas _recientes" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "_Borradores recientes" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "_Publicar entrada" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "_Actualizar entrada" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "_Borrar entrada" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Cerrar sesión" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "_Vaciar entrada" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Seleccionar _todo" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "_Última entrada" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Editar la última entrada que publicó" #: ../src/journal.c:3393 msgid "_Friends" msgstr "_Amigos" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Edita su lista de amigos" #: ../src/journal.c:3394 msgid "_History" msgstr "_Histórico" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Vea o edite una entrada anterior" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" "Editar los grupos específicos de personas con permiso para leer sus entradas" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "_Diario activo" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "Supe_ríndice" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "_Subíndice" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "L_ista" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "_Elemento de lista" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "Sa_ngría" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Insertar en_lace..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Crea un enlace a una página web, usuario de LiveJournal, o una entrada de " "diario larga" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Insertar ima_gen..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Inserta una imagen en su entrada del diario" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Insertar _encuesta..." #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "_Contenido" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "_Preguntas más frecuentes" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "A_cerca de" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Más _opciones de entrada" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "Resaltar errores de e_scritura" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "Resaltar _HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "Nombre de usuario erróneo" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "El nombre de usuario contiene caracteres inválidos." #: ../src/login.c:929 msgid "Remove Account" msgstr "Eliminar cuenta" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Preferencias" #: ../src/login.c:1139 msgid "Drafts" msgstr "Borradores" #: ../src/main.c:58 msgid "Error" msgstr "Error" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "Hay un error en el servidor. Inténtelo de nuevo más tarde." #: ../src/main.c:351 msgid "Friends Only" msgstr "Sólo amigos" #: ../src/main.c:767 msgid "Display debugging output" msgstr "Mostrar la información de depuración" #: ../src/main.c:770 msgid "file" msgstr "archivo" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Ha fallado la inicialización de GConf: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "No se ha podido inicializar GNOMEVFS\n" #: ../src/network.c:64 msgid "Done" msgstr "Hecho" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "Identificándose ..." #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "Descargando los dibujos del usuario" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "Publicando la entrada del diario" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "Actualizando la entrada del diario" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "Recuperando las entradas de diario" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "Recuperando los históricos de diarios" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "Actualizando la lista de amigos" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "Recuperando la lista de amigos" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "Recuperando categorías" #: ../src/network.c:118 msgid "Setting categories" msgstr "Configuración de categorías" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "Publicando la entrada del diario" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "Borrando la entrada del diario" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "Notificando a Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "Recuperando los grupos de seguridad" #: ../src/network.c:143 msgid "Updating security groups" msgstr "Actualizando los grupos de seguridad" #: ../src/network.c:315 msgid "Network connection failed" msgstr "Falló la conexión de red" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "No se pudo entender la respuesta del servidor" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "No se está reproduciendo ninguna canción" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "_Ver página de amigos" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "_Quitar de la bandeja del sistema" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Sin título" #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "" #~ "¿Quiere guardar los cambios a esta entrada del diario antes de continuar?" #, fuzzy #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "Ejemplo: http://gnome.org/pic.png" #, fuzzy #~ msgid "Example: http://www.gnome.org" #~ msgstr "Ejemplo: http://www.gnome.org" #~ msgid "Retrieving user information" #~ msgstr "Recuperando la información del usuario" #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "Estamos haciendo algo, pero no estoy seguro de qué" #~ msgid "Sending / Receiving" #~ msgstr "Enviando / Recibiendo" #~ msgid "_Add..." #~ msgstr "_Añadir..." #~ msgid "_Edit..." #~ msgstr "_Editar..." #~ msgid "Save _Draft" #~ msgstr "_Guardar borrador" #~ msgid "_Don't Save" #~ msgstr "_No guardar" #~ msgid "Groups" #~ msgstr "Grupos" #~ msgid "Image" #~ msgstr "Imagen" #~ msgid "Link" #~ msgstr "Enlace" #~ msgid "Display flags" #~ msgstr "Mostrar banderas" #~ msgid "Displayed date and/or time properties" #~ msgstr "Fecha y/o propiedades de la hora mostradas" #~ msgid "Lazy mode" #~ msgstr "Modo vago" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "El modo vago no normaliza la fecha entrada y los valores de hora" #~ msgid "Year" #~ msgstr "Año" #~ msgid "Displayed year" #~ msgstr "Año mostrado" #~ msgid "Month" #~ msgstr "Mes" #~ msgid "Displayed month" #~ msgstr "Mes mostrado" #~ msgid "Day" #~ msgstr "Día" #~ msgid "Displayed day of month" #~ msgstr "Día del mes mostrado" #~ msgid "Hour" #~ msgstr "Hora" #~ msgid "Displayed hour" #~ msgstr "Hora mostrada" #~ msgid "Minute" #~ msgstr "Minuto" #~ msgid "Second" #~ msgstr "Segundo" #~ msgid "Displayed second" #~ msgstr "Segundo mostrado" #~ msgid "Lower limit year" #~ msgstr "Límite inferior para el año" #~ msgid "Year part of the lower date limit" #~ msgstr "Parte del año del límite inferior de la fecha" #~ msgid "Upper limit year" #~ msgstr "Límite superior para el año" #~ msgid "Year part of the upper date limit" #~ msgstr "Parte del año del límite inferior de la fecha" #~ msgid "Lower limit month" #~ msgstr "Límite inferior para el mes" #~ msgid "Month part of the lower date limit" #~ msgstr "Parte del mes del límite inferior de la fecha" #~ msgid "Upper limit month" #~ msgstr "Límite superior para el mes" #~ msgid "Month part of the upper date limit" #~ msgstr "Parte del mes del límite superior de la fecha" #~ msgid "Lower limit day" #~ msgstr "Límite inferior para el día" #~ msgid "Day of month part of the lower date limit" #~ msgstr "Parte del día del límite inferior de la fecha" #~ msgid "Upper limit day" #~ msgstr "Límite superior para el día" #~ msgid "Day of month part of the upper date limit" #~ msgstr "Parte del día del límite superior de la fecha" #~ msgid "Lower limit hour" #~ msgstr "Límite inferior para la hora" #~ msgid "Hour part of the lower time limit" #~ msgstr "Parte de la hora del límite inferior de la fecha" #~ msgid "Upper limit hour" #~ msgstr "Límite superior para la hora" #~ msgid "Hour part of the upper time limit" #~ msgstr "Parte de la hora del límite superior de la fecha" #~ msgid "Lower limit minute" #~ msgstr "Límite inferior para el minuto" #~ msgid "Minute part of the lower time limit" #~ msgstr "Parte del minuto del límite inferior de la fecha" #~ msgid "Upper limit minute" #~ msgstr "Límite superior para el minuto" #~ msgid "Minute part of the upper time limit" #~ msgstr "Parte del minuto del límite superior de la fecha" #~ msgid "Lower limit second" #~ msgstr "Límite inferior para el segundo" #~ msgid "Second part of the lower time limit" #~ msgstr "Parte del segundo del límite inferior de la fecha" #~ msgid "Upper limit second" #~ msgstr "Límite superior para el segundo" #~ msgid "Second part of the upper time limit" #~ msgstr "Parte del segundo del límite superior de la fecha" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:1" #~ msgid "Date" #~ msgstr "Fecha" #~ msgid "Enter the date directly" #~ msgstr "Introduzca la fecha directamente" #~ msgid "Select Date" #~ msgstr "Seleccionar fecha" #~ msgid "Select the date from a calendar" #~ msgstr "Seleccione la fecha desde un calendario" #~ msgid "Enter the time directly" #~ msgstr "Introduzca la hora directamente" #~ msgid "Select Time" #~ msgstr "Seleccionar la hora" #~ msgid "Select the time from a list" #~ msgstr "Seleccione la hora de una lista" #~ msgid "24hr: no" #~ msgstr "24hr: no" #~ msgid "AM" #~ msgstr "AM" #~ msgid "PM" #~ msgstr "PM" #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%02d:%02d:%02d %s" #~ msgid "%02d:%02d %s" #~ msgstr "%02d:%02d %s" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d:%02d:%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d:%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d-%02d-%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "Orientación" #~ msgid "The orientation of the tray." #~ msgstr "La orientación de la bandeja de notificación." drivel-3.0.5/po/POTFILES.skip0000644000175000017500000000020011552103112012437 00000000000000data/drivel.spec.in src/livejournal.lang src/drivel.glade src/libegg/egg-datetime.c src/libegg/eggtrayicon.c src/ephy-spinner.c drivel-3.0.5/po/sv.po0000644000175000017500000011213311731016427011336 00000000000000# Swedish messages for drivel. # Copyright (C) 2004, 2005, 2006, 2009 Free Software Foundation, Inc. # Christian Rose , 2004, 2005. # Isak Savo , 2004. # Daniel Nylander , 2006, 2009. # # $Id: sv.po,v 1.16 2006/12/10 18:26:31 dnylande Exp $ # # "entry" == "dagbokspost" i detta sammanhang för att slippa underligheter som # "post entry" => "posta post"... # msgid "" msgstr "" "Project-Id-Version: drivel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2009-09-01 11:36+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "Den för tillfället inloggade användaren." #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" "En lista med varje dagboksanvändarnamn som tidigare använts på denna maskin." #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "Antalet humör som lagras lokalt." #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "En lista med humör för drivel-menyn." #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Dagboksredigeraren Drivel" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Dagboksredigerare" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Uppdatera och hantera din dagbok på nätet" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Utkast till dagbokspost" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "" "Daniel Nylander\n" "Christian Rose\n" "Isak Savo\n" "\n" "Skicka synpunkter på översättningen till\n" "tp-sv@listor.tp-sv.se" #: ../src/about.c:85 msgid "With help from:" msgstr "Med hjälp av:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "och många andra -- tack ska ni ha!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "En dagboksklient för GNOME-skrivbordet." #: ../src/about.c:108 msgid "Homepage:" msgstr "Webbsida:" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Serverfel" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "Servern returnerade inte ett giltigt Atom-svar." #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "Okänt fel" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "Fel vid postning" #: ../src/blog_lj.c:290 msgid "default" msgstr "standard" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Ingen" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Frånkopplad" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Inga dagboksposter]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Systemstandard" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Användarnamn saknas" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Välj ett användarnamn att lägga till." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Publikt" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Privat" # http://www.nada.kth.se/dataterm/fos-lista.html#f101 #: ../src/dialogs.c:809 msgid "Community" msgstr "Gemenskap" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Sammanslagen källa" #: ../src/dialogs.c:813 msgid "User" msgstr "Användare" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Lägg till kompis" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "_Kompisens användarnamn:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "_Textfärg:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "_Bakgrundsfärg:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "Kunde inte utföra filoperationen" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "Kunde inte öppna den valda filen" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "Spara innehållet i denna dagbokspost istället för att tömma?" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "Om du inte sparar kommer innehållet i denna post att förkastas." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "Spara ändringar i denna dagbokspost innan programmet stängs?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "" "Om du inte sparar kommer ändringar i denna dagbokspost att kastas bort." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Tid" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Dagbokspost" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Typ" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Länk" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Användarnamn" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Namn" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "Tillgänglig" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "I grupp" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Öppna en oavslutad dagbokspost" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Byt användarnamn" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "T_öm dagbokspost" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "_Inställningar" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "Färgmarkera _felstavningar" #: ../src/drivel-gtk.glade.h:7 #, fuzzy msgid "Bold" msgstr "_Fet" #: ../src/drivel-gtk.glade.h:8 #, fuzzy msgid "Italic" msgstr "_Kursiv" #: ../src/drivel-gtk.glade.h:9 #, fuzzy msgid "Underline" msgstr "Stryk _under" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "_Hjälp" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "_Om" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Ämne:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "S_äkerhet:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Humör:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "_Musik:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "Ta_ggar:" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "Sl_å av kommentarer" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "Tillåt inte att användare kommenterar denna dagbokspost" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Formatera inte _text automatiskt" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "Tolka inte automatiskt radbrytningar eller webbplatslänkar till HTML-taggar" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "Bäst före-d_atum:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "Markera dagbokspost som att ha postats det valda datumet" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "_Bild:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "Ka_tegori:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Visa fler _alternativ" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Ta bort den markerade dagboksposten från din dagbok." #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "Spara _utkast" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Spara den aktuella dagboksposten utan att lägga till den i din dagbok" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "Uppd_atera" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Uppdatera den markerade dagboksposten i din dagbok" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Posta" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Posta den aktuella dagboksposten till din dagbok" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Infoga omröstning" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "Omröstnings_namn (valfritt):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "Rösta_re:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Resultat synliga för:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Frågor:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "Lägg till _fråga" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "Lägg till _svar" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "Uppåt" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Typ:" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "Frå_ga:" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "Storlek på text_fält (valfritt):" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "Maximal text_längd (valfritt):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_Från:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "Till:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "_Av:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "S_var:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "_Infoga" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Inställningar för Drivel" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "Fältbeteende" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Minimera efter _inloggning" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "Minimera automatiskt dagboksfönstret efter inloggning" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Minimera efter _postande" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "" "Minimera automatiskt dagboksfönstret efter att en dagbokspost har postats" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "_Färgmarkera HTML i dagboksposten" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "Visa HTML-nyckelord i andra färger än vanlig text" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Färgmarkera felstavade _ord" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "Färgmarkera ord som inte hittas i din dators ordlista" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "_Ordbok:" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "Notifieringsyta" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "Meddela då _kompisar uppdaterar" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Visa ett meddelande då din kompissida uppdaterats\n" "(endast betalande LiveJournal-användare)" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "Publicering" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "Meddela uppdateringar till _Technorati" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" "Meddela nya dagboksposter till den populära dagbokssökmotorn Technorati" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "Typsnittsegenskap" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "Använd typsnitt från standard_tema" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "Typsnitt för redigerare:" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Allmänt" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "Standardalternativ för postande" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "Tolka inte automatiskt radbrytningar till HTML-taggar" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Standardalternativ för fält" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Dagboksinloggning" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_Användarnamn:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Lösenord:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "_Logga in automatiskt" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_Kom ihåg lösenord" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "Dagboks_typ:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "Server_adress:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "Arbeta _frånkopplad" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "_Logga in" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Redigera historik" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Redigera" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Redigera kompisar" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "_View journal" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "Detaljer" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Användarnamn:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Dagbokstyp:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Textfärg:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Bakgrundsfärg:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Välj en textfärg" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Välj en bakgrundsfärg" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Infoga länk" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "_Text:" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "Skapa en länk till..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "en _webbplats på Internet" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "_Plats:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "Exempel:" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "en annan Live_Journal-användare" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "_resten av denna dagbokspost" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "_Infoga länk..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Infoga bild" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "Bild" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "Attribut (valfria)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Höjd:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Bredd:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Beskrivning:" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "_Infoga bild..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "Säkerhetsgrupper" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "Grupper" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "Gruppdetaljer" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "_Namn:" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "_Ordning" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "_Publikt" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Alla användare" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Kompisar" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Text" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Rullgardinsval" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Radioval" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Kryssruteval" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Textfält" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Skala" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "Öppna denna dagbokspost för redigering" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "Uppdatera denna lista" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "Dagbok för %s - Drivel" # http://www.nada.kth.se/dataterm/fos-lista.html#f101 #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "%s-gemenskapen - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Frånkopplad - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - Öppna utkast" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Alla XML-filer" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "Utkast av drivel-postningar" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Spara utkast" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Välj ett dagbokskonto" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "Inställningar görs per konto, så du måste välja ett konto innan du kan ändra " "dess inställningar." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Välj en dagbok att posta till" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "_Dagbok" #: ../src/journal.c:3374 msgid "_View" msgstr "_Visa" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Format" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "_Webblänkar" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "_Hjälp" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Öppna utkast..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "_Spara utkast" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Spara utkast so_m..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "_Senaste dagboksposter" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "Senaste _utkast" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "_Posta dagbokspost" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "_Uppdatera dagbokspost" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "_Ta bort dagbokspost" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Logga ut" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "T_öm dagbokspost" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Markera _alla" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "Senaste _dagbokspost" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Redigera den senaste dagboksposten du postade" #: ../src/journal.c:3393 msgid "_Friends" msgstr "_Kompisar" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Redigera din kompislista" #: ../src/journal.c:3394 msgid "_History" msgstr "_Historik" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Visa eller redigera en tidigare dagbokspost" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" "Redigera specifika grupper med personer som kan läsa dina dagboksposter" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "Aktiv _dagbok" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "_Upphöjd" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "_Nedsänkt" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "Lis_ta" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "List_post" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "_Dra in" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Infoga _länk..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Skapa en länk till en webbsida, LiveJournal-användare, eller en lång " "dagbokspost" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Infoga _bild..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Infoga en bild i din dagbokspost" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Infoga _omröstning..." #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "_Innehåll" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "_Svar på vanliga frågor" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "_Om" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Fler _alternativ för dagboksposter" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "Färgmarkera _felstavningar" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "Färgmarkera _HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "Felaktigt användarnamn" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Användarnamnet innehåller ogiltiga tecken." #: ../src/login.c:929 msgid "Remove Account" msgstr "Ta bort konto" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Inställningar" #: ../src/login.c:1139 msgid "Drafts" msgstr "Utkast" #: ../src/main.c:58 msgid "Error" msgstr "Fel" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "Nedrans, det finns ett serverfel. Försök igen senare." #: ../src/main.c:351 msgid "Friends Only" msgstr "Endast kompisar" #: ../src/main.c:767 msgid "Display debugging output" msgstr "Visa felsökningsutdata" #: ../src/main.c:770 msgid "file" msgstr "fil" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Initiering av GConf misslyckades: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Kunde inte initiera GnomeVFS!\n" #: ../src/network.c:64 msgid "Done" msgstr "Färdig" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "Loggar in . . " #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "Hämtar användarbilder" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "Postar dagbokspost" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "Uppdaterar dagbokspost" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "Hämtar dagboksposter" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "Hämtar dagbokshistorik" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "Uppdaterar kompislista" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "Hämtar kompislista" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "Hämtar kategorier" #: ../src/network.c:118 msgid "Setting categories" msgstr "Ställer in kategorier" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "Publicerar dagbokspost" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "Tar bort dagbokspost" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "Meddelar Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "Hämtar säkerhetsgrupper" #: ../src/network.c:143 msgid "Updating security groups" msgstr "Uppdaterar säkerhetsgrupper" #: ../src/network.c:315 msgid "Network connection failed" msgstr "Nätverksanslutning misslyckades" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "Kunde inte förstå serverns svar" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Ingen låt spelas" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "_Visa kompissidan" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "_Ta bort från lådan" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Namnlös" #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "Spara ändringar i denna dagbokspost innan du fortsätter?" #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "Exempel: http://gnome.org/pic.png" #, fuzzy #~ msgid "Example: http://www.gnome.org" #~ msgstr "Exempel: http://gnome.org/pic.png" #~ msgid "Retrieving user information" #~ msgstr "Hämtar användarinformation" #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "Vi gör någonting, men jag är inte säker på vad" #~ msgid "Sending / Receiving" #~ msgstr "Skickar / Tar emot" #~ msgid "U_pdate" #~ msgstr "_Uppdatera" #~ msgid "_Add..." #~ msgstr "_Lägg till..." #~ msgid "_Edit..." #~ msgstr "_Redigera..." #~ msgid "Save _Draft" #~ msgstr "Spara _utkast" #~ msgid "_Don't Save" #~ msgstr "Spara _inte" #~ msgid "Attributes (Optional)" #~ msgstr "Attribut (valfria)" #~ msgid "Create a link to..." #~ msgstr "Skapa en länk till..." #~ msgid "Default Post Options" #~ msgstr "Standardalternativ för postande" #~ msgid "Details" #~ msgstr "Detaljer" #~ msgid "Entry Behavior" #~ msgstr "Fältbeteende" #~ msgid "Groups" #~ msgstr "Grupper" #~ msgid "Image" #~ msgstr "Bild" #~ msgid "Link" #~ msgstr "Länk" #~ msgid "Notification Area" #~ msgstr "Notifieringsyta" #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "Exempel: http://gnome.org/pic.png" #~ msgid "Example: http://www.gnome.org" #~ msgstr "Exempel: http://www.gnome.org" #~ msgid "Display flags" #~ msgstr "Visa flaggor" #~ msgid "Displayed date and/or time properties" #~ msgstr "Egenskaper för visat datum och/eller tid" #~ msgid "Lazy mode" #~ msgstr "Latläge" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "Latläge normaliserar inte inskrivna datum- och tidsvärden" #~ msgid "Year" #~ msgstr "År" #~ msgid "Displayed year" #~ msgstr "Visat år" #~ msgid "Month" #~ msgstr "Månad" #~ msgid "Displayed month" #~ msgstr "Visad månad" #~ msgid "Day" #~ msgstr "Dag" #~ msgid "Displayed day of month" #~ msgstr "Visad dag i månaden" #~ msgid "Hour" #~ msgstr "Timme" #~ msgid "Displayed hour" #~ msgstr "Visad timme" #~ msgid "Minute" #~ msgstr "Minut" #~ msgid "Second" #~ msgstr "Sekund" #~ msgid "Displayed second" #~ msgstr "Visad sekund" # Väntar med att översätta dessa, verkar inte synas i GUIt ändå! /Isak #~ msgid "Lower limit year" #~ msgstr "Lägre årsgräns" #~ msgid "Year part of the lower date limit" #~ msgstr "Årsdelen av den lägre datumgränsen" #~ msgid "Upper limit year" #~ msgstr "Övre årsgräns" #~ msgid "Year part of the upper date limit" #~ msgstr "Årsdelen av den övre datumgränsen" #~ msgid "Lower limit month" #~ msgstr "Lägre månadsgräns" #~ msgid "Month part of the lower date limit" #~ msgstr "Månadsdelen av den lägre datumgränsen" #~ msgid "Upper limit month" #~ msgstr "Övre månadsgräns" #~ msgid "Month part of the upper date limit" #~ msgstr "Månadsdelen av den övre datumgränsen" #~ msgid "Lower limit day" #~ msgstr "Lägre dagsgräns" #~ msgid "Day of month part of the lower date limit" #~ msgstr "Delen för dag i månaden av den lägre datumgränsen" #~ msgid "Upper limit day" #~ msgstr "Övre dagsgräns" #~ msgid "Day of month part of the upper date limit" #~ msgstr "Delen för dag i månaden av den övre datumgränsen" #~ msgid "Lower limit hour" #~ msgstr "Lägre timmesgräns" #~ msgid "Hour part of the lower time limit" #~ msgstr "Timmesdelen av den lägre tidsgränsen" #~ msgid "Upper limit hour" #~ msgstr "Övre timmesgräns" #~ msgid "Hour part of the upper time limit" #~ msgstr "Timmesdelen av den övre tidsgränsen" #~ msgid "Lower limit minute" #~ msgstr "Lägre minutgräns" #~ msgid "Minute part of the lower time limit" #~ msgstr "Minutdelen av den lägre tidsgränsen" #~ msgid "Upper limit minute" #~ msgstr "Övre minutgräns" #~ msgid "Minute part of the upper time limit" #~ msgstr "Minutdelen av den övre tidsgränsen" #~ msgid "Lower limit second" #~ msgstr "Lägre sekundgräns" #~ msgid "Second part of the lower time limit" #~ msgstr "Sekunddelen av den lägre tidsgränsen" #~ msgid "Upper limit second" #~ msgstr "Övre sekundgräns" #~ msgid "Second part of the upper time limit" #~ msgstr "Sekunddelen av den övre tidsgränsen" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:1" #~ msgid "Date" #~ msgstr "Datum" #~ msgid "Enter the date directly" #~ msgstr "Ange datumet direkt" #~ msgid "Select Date" #~ msgstr "Välj datum" #~ msgid "Select the date from a calendar" #~ msgstr "Välj datumet från en kalender" #~ msgid "Enter the time directly" #~ msgstr "Ange tiden direkt" #~ msgid "Select Time" #~ msgstr "Välj tid" #~ msgid "Select the time from a list" #~ msgstr "Välj tiden från en lista" #~ msgid "24hr: no" #~ msgstr "24hr: yes" #~ msgid "AM" #~ msgstr "FM" #~ msgid "PM" #~ msgstr "EM" # Väntar med dessa C-strängar också. #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%02d.%02d.%02d %s" #~ msgid "%02d:%02d %s" #~ msgstr "%02d.%02d %s" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d.%02d.%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d.%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d-%02d-%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "Orientering" #~ msgid "The orientation of the tray." #~ msgstr "Orienteringen på lådan." #~ msgid "Communication Error" #~ msgstr "Kommunikationsfel" #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "" #~ "Det uppstod ett problem när informationen skickandes till servern. Försök " #~ "igen senare." #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "" #~ "Det uppstod ett problem när informationen mottogs från servern. Försök " #~ "igen senare." #~ msgid "V_oters:" #~ msgstr "R_östare:" #~ msgid "Retieving security groups" #~ msgstr "Hämtar säkerhetsgrupper" #~ msgid "Update and manage your journal" #~ msgstr "Uppdatera och hantera din dagbok" #~ msgid "Group" #~ msgstr "Grupp" #~ msgid "Category:" #~ msgstr "Kategori:" #~ msgid "Category" #~ msgstr "Kategori" #~ msgid "Security" #~ msgstr "Säkerhet" #~ msgid "Name:" #~ msgstr "Namn:" #~ msgid "Friends only" #~ msgstr "Endast kompisar" #~ msgid "Retrieving user pictures" #~ msgstr "Hämtar användarbilder" #~ msgid "Sending / Receiving..." #~ msgstr "Skickar / Tar emot..." #~ msgid "Remove From Tray" #~ msgstr "Ta bort från lådan" #~ msgid "translator_credits" #~ msgstr "" #~ "Christian Rose\n" #~ "Isak Savo\n" #~ "Skicka synpunkter på översättningen till sv@li.org" #~ msgid "Account Information" #~ msgstr "Kontoinformation" #~ msgid "Account Manager" #~ msgstr "Kontohanterare" #~ msgid "Display a journal update alert in the notification area" #~ msgstr "Visa en påminnelse för dagboksuppdatering i notifieringsytan" #~ msgid "Enable _tray icon" #~ msgstr "Aktivera _lådikon" #~ msgid "_Server:" #~ msgstr "_Server:" #~ msgid "Sign _Up..." #~ msgstr "_Anmäl..." #~ msgid "What's a LiveJournal?" #~ msgstr "Vad är en LiveJournal?" #~ msgid "_Show Entry" #~ msgstr "_Visa dagbokspost" #~ msgid "_Subscript" #~ msgstr "_Nedsänkt" #~ msgid "Invalid journal server" #~ msgstr "Ogiltig dagboksserver" #~ msgid "Please enter a journal server address." #~ msgstr "Ange en adress till en dagboksserver." #~ msgid "Custom..." #~ msgstr "Eget..." #~ msgid "*" #~ msgstr "*" #~ msgid "Journal Server" #~ msgstr "Dagboksserver" #~ msgid "Server Options" #~ msgstr "Serveralternativ" #~ msgid "DYNAMIC" #~ msgstr "DYNAMISKT" #~ msgid "Network" #~ msgstr "Nätverk" #~ msgid "_Traditional (POST) interface" #~ msgstr "_Traditionellt gränssnitt (POST)" #~ msgid "_XML-RPC interface" #~ msgstr "_XML-RPC-gränssnitt" #~ msgid "drivel-add-answer" #~ msgstr "drivel-lägg-till-svar" #~ msgid "drivel-add-friend" #~ msgstr "drivel-lägg-till-kompis" #~ msgid "drivel-add-question" #~ msgstr "drivel-lägg-till-fråga" #~ msgid "drivel-edit" #~ msgstr "drivel-redigera" #~ msgid "drivel-insert-button" #~ msgstr "drivel-infoga-knapp" #~ msgid "drivel-login" #~ msgstr "drivel-inloggning" #~ msgid "drivel-sign-up" #~ msgstr "drivel-anmälan" #~ msgid "You must enter your username first." #~ msgstr "Du måste ange ditt användarnamn först." #~ msgid "Automaticall minimize the journal window after logging in" #~ msgstr "Minimera automatiskt dagboksfönstret efter inloggning" #~ msgid "Attributes" #~ msgstr "Attribut" #~ msgid "(Optional)" #~ msgstr "(valfria)" #~ msgid "Optional" #~ msgstr "Valfria" #~ msgid "Link:" #~ msgstr "Länk:" #~ msgid "Example" #~ msgstr "Exempel" #~ msgid "_Background Color" #~ msgstr "_Bakgrundsfärg" #~ msgid "_Text Color:" #~ msgstr "_Textfärg:" #~ msgid "_Text" #~ msgstr "_Text" #~ msgid "Text:" #~ msgstr "Text:" # http://www.nada.kth.se/dataterm/fos-lista.html#f101 #~ msgid "The %s Community" #~ msgstr "%s-gemenskapen" #~ msgid "%s's Journal" #~ msgstr "Dagbok för %s" #~ msgid "Draft" #~ msgstr "Utkast" #~ msgid "Update Entry" #~ msgstr "Uppdatera dagbokspost" #~ msgid "Delete Entry" #~ msgstr "Ta bort dagbokspost" #~ msgid "_Update" #~ msgstr "_Uppdatera" #~ msgid "Insert" #~ msgstr "Infoga" #~ msgid "Log In" #~ msgstr "Logga in" #~ msgid "LiveJournal Entry" #~ msgstr "LiveJournal-dagbokspost" #~ msgid "Update and manage your LiveJournal (Drivel)" #~ msgstr "Uppdatera och hantera din LiveJournal-dagbok (Drivel)" #~ msgid "Image _Location" #~ msgstr "Bild_plats" #, fuzzy #~ msgid "drivel-update" #~ msgstr "drivel-redigera" #~ msgid "_Login" #~ msgstr "_Logga in" #~ msgid "Edit Friend" #~ msgstr "Redigera kompis" #~ msgid "DeadJournal" #~ msgstr "DeadJournal" #~ msgid "Drivel - Add Friend" #~ msgstr "Drivel - Lägg till kompis" #~ msgid "Drivel - Edit Friend" #~ msgstr "Drivel - Redigera kompis" #~ msgid "Your current entry has not been saved." #~ msgstr "Din aktuella dagbokspost har inte sparats." #~ msgid "Drivel - Insert Link" #~ msgstr "Drivel - Infoga länk" #~ msgid "Link _text" #~ msgstr "Länk_text" #~ msgid "a _web page" #~ msgstr "en _webbsida" #~ msgid "_http://" #~ msgstr "_http://" #~ msgid "Drivel - Insert Image" #~ msgstr "Drivel - Infoga bild" #~ msgid "Drivel - Edit Friends" #~ msgstr "Drivel - Redigera kompisar" #~ msgid "Drivel - Edit History" #~ msgstr "Drivel - Redigera historik" #~ msgid "Drivel - Insert Poll" #~ msgstr "Drivel - Infoga omröstning" #~ msgid "Drivel Login" #~ msgstr "Drivelinloggning" #~ msgid "Minimize after _posting\t" #~ msgstr "Minimera efter _postande\t" #~ msgid "Drivel - %s's Journal" #~ msgstr "Drivel - Dagbok för %s" #~ msgid "_Save as Draft" #~ msgstr "_Spara som utkast" #~ msgid "Network Progress" #~ msgstr "Nätverksförlopp" #~ msgid "_Friend's username" #~ msgstr "_Kompisens användarnamn" #~ msgid "_Background color" #~ msgstr "_Bakgrundsfärg" #~ msgid "Answer:" #~ msgstr "Svar:" #~ msgid "Minimize after logging in" #~ msgstr "Minimera efter inloggning" #~ msgid "Minimize after posting\t" #~ msgstr "Minimera efter postande\t" #~ msgid "Minimize after posting" #~ msgstr "Minimera efter postande" #~ msgid "By:" #~ msgstr "Av:" #~ msgid "From:" #~ msgstr "Från:" #~ msgid "Type:" #~ msgstr "Typ:" #~ msgid "Friend" #~ msgstr "Kompis" #~ msgid "Add _Question:" #~ msgstr "Lägg till _fråga:" #~ msgid "Journal Server" #~ msgstr "Dagboksserver" #~ msgid "ParaJournal" #~ msgstr "ParaJournal" #~ msgid "Edit/History..." #~ msgstr "Redigera/Historik..." #~ msgid "Web Links/" #~ msgstr "Webblänkar/" #~ msgid "_Friends..." #~ msgstr "_Kompisar..." #~ msgid "_History..." #~ msgstr "_Historik..." #~ msgid "P_references..." #~ msgstr "_Inställningar..." #~ msgid "Edit the program preferences" #~ msgstr "Redigera programinställningarna" #~ msgid "Stri_ke" #~ msgstr "Stryk _över" #~ msgid "Fo_rmat" #~ msgstr "Fo_rmat" #~ msgid "Options" #~ msgstr "Alternativ" #~ msgid "<- _XMMS" #~ msgstr "<- _XMMS" #~ msgid "View _Options" #~ msgstr "Visa _alternativ" #~ msgid "What's a _LiveJournal?" #~ msgstr "Vad är en _LiveJournal?" #~ msgid "Goto the LiveJournal homepage" #~ msgstr "Gå till hemsidan för LiveJournal" drivel-3.0.5/po/fi.po0000644000175000017500000007510111731016426011306 00000000000000# Finnish messages for drivel. # Copyright (C) 2006 Ilkka Tuohela. # Suomennos: http://gnome-fi.sourceforge.net/ # Ilkka Tuohela , 2006. # msgid "" msgstr "" "Project-Id-Version: drivel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2006-10-22 08:17+0300\n" "Last-Translator: Ilkka Tuohela \n" "Language-Team: Finnish \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "Tällä hetkellä sisään kirjautunut käyttäjä." #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" "Lista kaikista tältä tietokoneelta aiemmin käytetyistä päiväkirjojen " "käyttäjätunnuksista." #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "Paikallisesti tallennettujen mielialojen lukumäärä." #: ../data/drivel.schemas.in.h:4 #, fuzzy msgid "A list of moods for the drivel menu." msgstr "Lista mielialoista GtkCombo-valikolle." #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Drivel-päiväkirjan muokkain" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Päiväkirjan muokkain" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Päivitä ja hallitse verkkopäiväkirjaasi" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Päiväkirjamerkinnän luonnos" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "" "Ilkka Tuohela, 2006\n" "\n" "http://gnome.fi/" #: ../src/about.c:85 msgid "With help from:" msgstr "Avustaneet:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "... ja monia muita, kiitokset kaikille!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "Päiväkirja-asiakas Gnome-työpöydälle." #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Palvelinvirhe" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "Palvelin ei palauttanut kelvollista Atom-vastinetta." #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "Tuntematon virhe" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "Virhe postitettaessa viestiä" #: ../src/blog_lj.c:290 msgid "default" msgstr "oletus" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Ei mitään" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Ei linjoilla" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Ei päiväkirjamerkintöjä]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Järjestelmän oletus" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Käyttäjätunnus puuttuu" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Syötä lisättävä käyttäjätunnus." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Julkinen" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Yksityinen" #: ../src/dialogs.c:809 msgid "Community" msgstr "Yhteisö" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Yhdistetty uutissyöte" #: ../src/dialogs.c:813 msgid "User" msgstr "Käyttäjä" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Lisää ystävä" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "_Ystävän käyttäjätunnus:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "_Tekstin väri:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "T_austan väri:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "Toimenpidettä tiedostolle ei voitu suorittaa" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "Valittua tiedostoa ei voitu avata" #: ../src/dialogs.c:1323 #, fuzzy msgid "Save the content of this journal entry instead of clearing?" msgstr "Tallennetaanko muutokset tähän päiväkirjamerkintään ennen sulkemista?" #: ../src/dialogs.c:1324 #, fuzzy msgid "If you don't save, content of this entry will be discarded." msgstr "Muutokset tähän merkintään hukataan, jos et tallenna." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "Tallennetaanko muutokset tähän päiväkirjamerkintään ennen sulkemista?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "Muutokset tähän merkintään hukataan, jos et tallenna." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Aika" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Päiväkirjamerkintä" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Tyyppi" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Linkki" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Käyttäjätunnus" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Nimi" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "Saatavilla" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "Ryhmässä" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Avaa keskeneräinen päiväkirjamerkintä" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Vaihda käyttäjänimeä" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "T_yhjennä merkintä" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "_Asetukset" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "Korosta _kirjoitusvirheet" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "O_hje" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "_Tietoja" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Aihe:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "Turvalli_suus:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Mieliala:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "M_usiikki:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "Poista _kommentit käytöstä" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "Älä salli käyttäjien kommentoida tätä merkintää" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Älä muotoile _tekstiä automaattisesti" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "Älä tunnista automaattisesti rivinvaihtoja tai www-linkkejä HTML-merkinnöiksi" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "Mennyt _päiväys:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "Aseta merkinnän lähetysaika valituksi päiväykseksi" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "_Kuva:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "L_uokka:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Näytä lisää _valintoja" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Poista valittu merkintä päiväkirjasta." #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "_Tallenna luonnos" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Tallenna valittu merkintä lisäämättä sitä päiväkirjaan" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "_Päivitä" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Päivitä valittu merkintä päiväkirjassa" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Lähetä" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Lisää valittu merkintä päiväkirjaan" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Lisää kysely" #: ../src/drivel-gtk.glade.h:35 #, fuzzy msgid "Poll _name (optional):" msgstr "Kyselyn _nimi (valinnainen)" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "Ää_nestäjät:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Tulokset nähtävissä:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Kysymykset:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "Lisää _kysymys" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "Lisää _vastaus" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "Ylös" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Tyyppi:" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "K_ysymys:" #: ../src/drivel-gtk.glade.h:44 #, fuzzy msgid "Text _field size (optional):" msgstr "Teksti_kentän koko (valinnainen)" #: ../src/drivel-gtk.glade.h:45 #, fuzzy msgid "Maximum text _length (optional):" msgstr "Tekstin enimmäispitus (valinainen):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_Lähettänyt:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "Vastaanottaja:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "_Kirjoittanut:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "V_astaus:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "L_iitä" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Drivelin asetukset" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr "Merkinnän toiminnot" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Pienennä _sisäänkirjautumisen jälkeen" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "Pienennä päiväkirjaikkuna automaattisesti sisäänkirjautumisen jälkeen" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Pienennä merkinnän lähet_yksen jälkeen" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "Pienennä päiväkirjaikkuna automaattisesti merkinnän lähetyksen jälkeen" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "_Korosta HTML päiväkirjamerkinnässä" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "Näytä HTML-avainsanat eri värillä kuin tavallinen teksti" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Korosta _väärinkirjoitetut sanat" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "Korosta sanat, joita ei löydy tietokoneesi sanakirjasta" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "_Sanakirja:" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr "Ilmoitusalue" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "Huomautus, kun ystävälista _päivittyy" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Näytä huomautus kun ystäväsivusi päivittyy\n" "(vain maksaville LiveJournal-käyttäjille)" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr "Julkaisu" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "Julkaise päivitys myös _Technoratissa" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" "Ilmoita uusista merkinnöistä suositussa päiväkirjamerkintöjen hakukoneessa " "Technoratissa" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Yleistä" #: ../src/drivel-gtk.glade.h:73 #, fuzzy msgid "Default Post Options" msgstr "Lähetyksen oletusvalinnat" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "Älä tunnista automaattisesti rivinvaihtoja HTML-merkinnöiksi" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Merkinnän oletukset" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Päiväkirjan sisäänkirjautuminen" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_Käyttäjätunnus:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Salasana:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "_Kirjaudu sisään automaattisesti" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_Muista salasana" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "Päiväkirjan _tyyppi:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "_Palvelimen osoite:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "Käytä _yhteydettömässä tilassa" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "_Kirjaudu sisään" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Muokkaa historiaa" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Muokkaa" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Muokkaa ystävälistaa" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "Näytä _päiväkirja" #: ../src/drivel-gtk.glade.h:89 #, fuzzy msgid "Details" msgstr "Yksityiskohdat" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "_Käyttäjätunnus:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Päiväkirjan tyyppi" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Tekstin väri:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Taustan väri:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Valitse tekstin väri" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Valitse taustaväri" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Lisää linkki" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "_Teksti:" #: ../src/drivel-gtk.glade.h:99 #, fuzzy msgid "Create a link to..." msgstr "Luo linkki..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "_Sivusto Internetissä" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "_Sijainti:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "Toinen Live_journal-käyttäjä" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "Tämän merkinnän _loppuosa" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "Lisää linkki..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Lisää kuva" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 #, fuzzy msgid "Attributes (Optional)" msgstr "Attribuutit (Valinnainen)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Korkeus:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "pt" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Leveys:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Kuvaus:" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "Lisää kuva..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "Turvallisuusryhmät" #: ../src/drivel-gtk.glade.h:116 #, fuzzy msgid "Groups" msgstr "Ryhmässä" #: ../src/drivel-gtk.glade.h:117 #, fuzzy msgid "Group Details" msgstr "Ryhmän yksityiskohdat" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "_Nimi:" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "_Järjestys" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "_Julkinen" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Kaikki käyttäjät " #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Ystävät" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Teksti" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Pudotusvalikko" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Radiovalinta" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Valinta" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Tekstikenttä" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Säädin" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "Avaa tämä merkintä muokattavaksi" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "Päivitä tämä lista" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "%s:n päiväkirja - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "%s-yhteisö - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Yhteydetön tila - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - Avaa luonnos" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Kaikki XML-tiedostot" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Tallenna luonnos" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Tallenna joku päiväkirjatileistä" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "Kuhunkin tiliin liittyy erilliset asetukset, joten tili täytyy valita ennen " "kuin sen asetuksia voi muokata." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Valitse päiväkirja, johon lisätään" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "_Päiväkirja" #: ../src/journal.c:3374 msgid "_View" msgstr "_Näyttö" #: ../src/journal.c:3375 msgid "_Format" msgstr "M_uotoilu" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "_WWW-linkit" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "O_hje" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Avaa luonnos..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "_Tallenna luonnos" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Tallenna luonnos _nimellä..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "_Viimeisimmät merkinnät" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "Viimeisimmät _luonokset" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "_Lisää merkintä" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "_Päivitä merkintä" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "_Poista merkintä" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Kirjaudu ulos" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "T_yhjennä merkintä" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Valitse k_aikki" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "Viimeinen _merkintä" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Muokkaa viimeksi lähetettyä " #: ../src/journal.c:3393 msgid "_Friends" msgstr "_Ystävät" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Muokkaa ystävälistaa" #: ../src/journal.c:3394 msgid "_History" msgstr "_Historia" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Näytä tai muokkaa aikaisempaa merkintää" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "Muokkaa käyttäjäryhmiä, jotka saavat lukea merkintöjäsi" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "Aktiivinen _päiväkirja" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "_Yläviite" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "_Alaviite" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "Lis_ta" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "Listan _kohta" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "Sise_nnä" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Lisää _linkki..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Luo linkki www-sivuun, livejournal-käyttäjään tai pitkään " "päiväkirjamerkintään" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Lisää _kuva..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Lisää kuva päiväkirjamerkintään" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Lisää _kysely" #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "_Sisällysluettelo" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "_Usein kysytyt kysymykset" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "_Tietoja" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Lisää merkinnän _valintoja" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "Korosta _kirjoitusvirheet" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "Korosta _HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "Virheellinen käyttäjätunnus" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Käyttäjätunnus sisältää virheellisiä merkkejä" #: ../src/login.c:929 msgid "Remove Account" msgstr "Poista tili" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Asetukset" #: ../src/login.c:1139 msgid "Drafts" msgstr "Luonnokset" #: ../src/main.c:58 msgid "Error" msgstr "Virhe" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "Hups! Tapahtui palvelinvirhe, yritä myöhemmin uudestaan." #: ../src/main.c:351 msgid "Friends Only" msgstr "Vain ystävät" #: ../src/main.c:767 #, fuzzy msgid "Display debugging output" msgstr "Näytettävä minuutti" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "GConfin alustus epäonnistui: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "GnomeVFS:ää ei voitu alustaa!\n" #: ../src/network.c:64 #, fuzzy msgid "Done" msgstr "Ei mitään" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "Haetaan käyttäjien kuvia" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "Lähetetään päivikirjamerkintää" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "Päivitetään päiväkirjamerkintää" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "Noudetaan päiväkirjamerkinnät" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "Noudetaan päiväkirjan historiatiedot" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "Päivitetään ystävälistaa" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "Haetaan ystävälistaa" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "Haetaan luokkia" #: ../src/network.c:118 msgid "Setting categories" msgstr "Asetetaan luokkia" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "Julkaistaan päiväkirjamerkintä" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "Poistetaan päiväkirjamerkintä" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "Huomautetaan Technoratia" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "Haetaan turvaryhmiä" #: ../src/network.c:143 msgid "Updating security groups" msgstr "Päivitetään turvaryhmiä" #: ../src/network.c:315 msgid "Network connection failed" msgstr "Verkkoyhteys epäonnistui" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "Palvelimen vastausta oli käsittämätön" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Ei soivaa kappaletta" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "_Näytä ystäväsivu" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "_Poista ilmoitusalueelta" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Nimeämätön" #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "" #~ "Tallenetaanko muutokset tähän päiväkirjamerkintään ennen jatkamista?" #, fuzzy #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "Esimerkki: http://gnome.org/pic.png" #, fuzzy #~ msgid "Example: http://www.gnome.org" #~ msgstr "Esimerkki: http://www.gnome.org" #~ msgid "Retrieving user information" #~ msgstr "Haetaan käyttäjätietoja" #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "Ollaan tekemässä jotain mutta en osaa sanoa mitä" #~ msgid "Sending / Receiving" #~ msgstr "Lähetys ja vastaanotto" #~ msgid "_Add..." #~ msgstr "_Lisää..." #~ msgid "_Edit..." #~ msgstr "_Muokkaa..." #~ msgid "Save _Draft" #~ msgstr "Tallenna _luonnos" #~ msgid "_Don't Save" #~ msgstr "Ä_lä tallenna" #~ msgid "Groups" #~ msgstr "Ryhmät" #~ msgid "Image" #~ msgstr "Kuva" #~ msgid "Link" #~ msgstr "Linkki" #~ msgid "Display flags" #~ msgstr "Näytön valinnat" #~ msgid "Displayed date and/or time properties" #~ msgstr "Näytettävän päiväyksen ja ajan ominaisuudet" #~ msgid "Lazy mode" #~ msgstr "Laiska tila" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "Laiska tila ei normalisoi syötettyjä päiväyksiä ja aikoja" #~ msgid "Year" #~ msgstr "Vuosi" #~ msgid "Displayed year" #~ msgstr "Näytettävä vuosi" #~ msgid "Month" #~ msgstr "Kuukausi" #~ msgid "Displayed month" #~ msgstr "Näytettävä kuukausi" #~ msgid "Day" #~ msgstr "Päivä" #~ msgid "Displayed day of month" #~ msgstr "Näytettävä kuukauden päivä" #~ msgid "Hour" #~ msgstr "tunti" #~ msgid "Displayed hour" #~ msgstr "Näytettävä tunti" #~ msgid "Minute" #~ msgstr "minuutti" #~ msgid "Second" #~ msgstr "sekunti" #~ msgid "Displayed second" #~ msgstr "Näytettävä sekunti" #~ msgid "Lower limit year" #~ msgstr "Vuoden alaraja" #~ msgid "Year part of the lower date limit" #~ msgstr "Alemman päivämäärärajan vuosiosa" #~ msgid "Upper limit year" #~ msgstr "Vuoden yläraja" #~ msgid "Year part of the upper date limit" #~ msgstr "Ylemmän päivämäärärajan vuosiosa" #~ msgid "Lower limit month" #~ msgstr "Kuukauden alaraja" #~ msgid "Month part of the lower date limit" #~ msgstr "Alemman päivämäärärajan kuukausiosa" #~ msgid "Upper limit month" #~ msgstr "Kuukauden yläraja" #~ msgid "Month part of the upper date limit" #~ msgstr "Ylemmän päivämäärärajan kuukausiosa" #~ msgid "Lower limit day" #~ msgstr "Päivän alaraja" #~ msgid "Day of month part of the lower date limit" #~ msgstr "Alemman päivämäärärajan päiväosa" #~ msgid "Upper limit day" #~ msgstr "Päivän yläraja" #~ msgid "Day of month part of the upper date limit" #~ msgstr "Ylemmän päivämäärärajan päiväosa" #~ msgid "Lower limit hour" #~ msgstr "Tunnin alaraja" #~ msgid "Hour part of the lower time limit" #~ msgstr "Alemman päivämäärärajan tuntiosa" #~ msgid "Upper limit hour" #~ msgstr "Tunnin yläraja" #~ msgid "Hour part of the upper time limit" #~ msgstr "Ylemmän päivämäärärajan tuntiosa" #~ msgid "Lower limit minute" #~ msgstr "Minuutin alaraja" #~ msgid "Minute part of the lower time limit" #~ msgstr "Alemman päivämäärärajan minuuttiosa" #~ msgid "Upper limit minute" #~ msgstr "Minuutin yläraja" #~ msgid "Minute part of the upper time limit" #~ msgstr "Ylemmän päivämäärärajan minuuttiosa" #~ msgid "Lower limit second" #~ msgstr "Sekunnin alaraja" #~ msgid "Second part of the lower time limit" #~ msgstr "Alemman päivämäärärajan sekuntiosa" #~ msgid "Upper limit second" #~ msgstr "Sekunnin yläraja" #~ msgid "Second part of the upper time limit" #~ msgstr "Ylemmän päivämäärärajan sekuntiosa" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:1" #~ msgid "Date" #~ msgstr "Päiväys" #~ msgid "Enter the date directly" #~ msgstr "Syötä päiväys itse" #~ msgid "Select Date" #~ msgstr "Valitse päiväys" #~ msgid "Select the date from a calendar" #~ msgstr "Valitse päiväys kalenterista" #~ msgid "Enter the time directly" #~ msgstr "Syötä aika itse" #~ msgid "Select Time" #~ msgstr "Valitse aika" #~ msgid "Select the time from a list" #~ msgstr "Valitse aika listasta" #~ msgid "24hr: no" #~ msgstr "24h: ei" #~ msgid "AM" #~ msgstr "AM" #~ msgid "PM" #~ msgstr "PM" #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%02d:%02d:%02d %s" #~ msgid "%02d:%02d %s" #~ msgstr "%02d:%02d %s" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d.%02d.%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d:%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d-%02d-%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "Suunta" #~ msgid "The orientation of the tray." #~ msgstr "Ilmoitusalueen suunta." #~ msgid "Communication Error" #~ msgstr "Virhe yhteydessä" #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "" #~ "Virhe lähetettäessä tietoja palvelimelle. Yritä myöhemmin uudestaan." #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "" #~ "Ongelmia vastaanotettaessa tietoja palvelimelta. Yritä myöhemmin " #~ "uudestaan." #~ msgid "There was a problem viewing the website" #~ msgstr "Tapahtui virhe näytettäessä www-sivua" #~ msgid "Option parsing failed: %s" #~ msgstr "Valinnan tulkitseminen epäonnistui: %s" #~ msgid "No module support" #~ msgstr "Modulille ei ole tukea" drivel-3.0.5/po/zh_HK.po0000644000175000017500000007257711731016427011732 00000000000000# Chinese (Hong Kong) translation of drivel. # Copyright (C) 2005,06 Free Software Foundation, Inc. # Abel Cheung , 2005, 06. # msgid "" msgstr "" "Project-Id-Version: drivel 2.0.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2006-10-14 23:01+0800\n" "Last-Translator: Abel Cheung \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "目前已經登入的使用者。" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "曾經用這部電腦張貼過網誌的所有使用者名稱。" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "在本機儲存的表情圖示。" #: ../data/drivel.schemas.in.h:4 #, fuzzy msgid "A list of moods for the drivel menu." msgstr "一系列 GtkCombo 選單中所顯示的表情。" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Drivel 網誌編輯器" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "網誌編輯器" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "更新和管理網誌" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "網誌草稿" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "" "如對翻譯有任何意見,請送一封電子郵件給\n" "以下地址,GNOME 翻譯隊伍會盡快回覆你:\n" "community@linuxhall.org\n" "\n" "Abel Cheung , 2005" #: ../src/about.c:85 msgid "With help from:" msgstr "由以下人士協助:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "還有很多,不勝枚舉 — 感謝各位!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "適用於 GNOME 桌面的網誌撰寫程式。" #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "伺服器錯誤" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "伺服器沒有回傳正確的 Atom 回應。" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "" #: ../src/blog_atom.c:411 #, fuzzy msgid "Error Posting Entry" msgstr "張貼文章(_P)" #: ../src/blog_lj.c:290 msgid "default" msgstr "預設" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "無" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "離線" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[沒有任何網誌文章]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "系統預設值" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "缺少了使用者名稱" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "請輸入使用者名稱。" #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "公眾" # zh_HK: msgstr "私人" # zh_TW: msgstr "個人" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "私人" #: ../src/dialogs.c:809 msgid "Community" msgstr "社羣" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "" #: ../src/dialogs.c:813 msgid "User" msgstr "使用者" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "加入網友" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "網友名稱(_F):" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "文字顏色(_T):" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "背景顏色(_B):" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "無法進行有關檔案的操作" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "無法開啟指定的檔案" #: ../src/dialogs.c:1323 #, fuzzy msgid "Save the content of this journal entry instead of clearing?" msgstr "關閉前是否儲存網誌內容?" #: ../src/dialogs.c:1324 #, fuzzy msgid "If you don't save, content of this entry will be discarded." msgstr "如果不儲存的話,這篇網誌更改過的內容會被捨棄。" #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "關閉前是否儲存網誌內容?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "如果不儲存的話,這篇網誌更改過的內容會被捨棄。" #: ../src/dialogs.c:1442 msgid "Time" msgstr "時間" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "網誌項目" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "類型" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "鏈結" #: ../src/dialogs.c:1542 msgid "Username" msgstr "使用者名稱" #: ../src/dialogs.c:1552 msgid "Name" msgstr "名稱" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "屬於羣組" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "開啟未寫完的網誌" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "更改帳戶名稱" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "清除內容(_L)" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "偏好設定(_P)" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "突顯錯字(_S)" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "求助(_H)" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "關於(_A)" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "主旨(_S):" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "安全(_Y):" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "心情(_M):" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "音樂(_U):" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "不允許回應(_N)" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "不允許別人對這篇文章發表意見" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "不會自動將文字格式化(_T)" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "不會自動採用 HTML 標記來表示換行或網站鏈結" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "張貼日期(_A):" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "將這一篇網誌標記為在指定時間張貼" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "圖片(_R):" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "分類(_T):" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "顯示進階選項(_O)" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "刪除網誌中的指定文章。" #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "儲存草稿(_S)" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "儲存目前的內容但不張貼至網站" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "更新(_P)" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "更新網誌中的指定文章。" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "張貼(_P)" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "將內容張貼至網誌" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "加入投票" #: ../src/drivel-gtk.glade.h:35 #, fuzzy msgid "Poll _name (optional):" msgstr "投票主題 [可以不填] (_N):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "投票者(_S):" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "投票結果顯示給(_R):" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "問題:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "加入答案選擇(_Q)" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "加入問題(_A)" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "類型(_T):" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "問題(_E):" #: ../src/drivel-gtk.glade.h:44 #, fuzzy msgid "Text _field size (optional):" msgstr "文字欄位大小 [可以不填] (_F):" #: ../src/drivel-gtk.glade.h:45 #, fuzzy msgid "Maximum text _length (optional):" msgstr "最長字數 [可以不填] (_L):" # (Abel) When selecting poll type, choose "scale", you will see # From: To: By: #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "由(_F):" # (Abel) When selecting poll type, choose "scale", you will see # From: To: By: #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "至:" # (Abel) When selecting poll type, choose "scale", you will see # From: To: By: #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "間隔(_B):" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "答案(_W):" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "加入(_I)" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Drivel 偏好設定" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr "輸入視窗運作方式" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "登入後將視窗最小化(_L)" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "登入後自動將視窗最小化" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "張貼後將視窗最小化(_P)" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "張貼文章後自動將視窗最小化" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "在網誌中突顯 _HTML" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "顯示 HTML 標記時使用不同於內文的顏色" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "突顯錯字(_W)" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "突顯電腦字典中沒有的字" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "字典(_D):" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr "程式狀態通知區" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "網友的網誌更新時通知我(_F)" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "當網友更新頁面時通知你\n" "(僅收費帳號適用)" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr "出版" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "更新時通知 _Technorati" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "向網誌搜尋器 Technorati 通知你寫了新的網誌" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "一般" #: ../src/drivel-gtk.glade.h:73 #, fuzzy msgid "Default Post Options" msgstr "預設張貼文章選項" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "不會自動採用 HTML 標記來表示換行" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "網誌登入" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "使用者名稱(_U):" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "密碼(_P):" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "自動登入(_A)" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "記住密碼(_R)" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "網誌類型(_T):" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "伺服器位址(_S):" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "離線作業(_O)" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "登入(_L)" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "編輯紀錄" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "編輯(_E)" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "編輯網友清單" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "閱讀網誌(_V)" #: ../src/drivel-gtk.glade.h:89 #, fuzzy msgid "Details" msgstr "詳細資料" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "使用者名稱:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "網誌類型:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "文字顏色:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "背景顏色:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "選擇文字顏色" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "選擇背景顏色" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "插入連結" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "文字(_T):" #: ../src/drivel-gtk.glade.h:99 #, fuzzy msgid "Create a link to..." msgstr "產生鏈結至…" #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "某個網站(_S)" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "位置(_L):" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "另一個 Live_Journal 用家" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "這篇網誌其餘的部份(_R)" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "插入鏈結…" #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "插入圖片" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 #, fuzzy msgid "Attributes (Optional)" msgstr "屬性 (可以不填)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "高度(_H):" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "闊度(_W):" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "說明(_D):" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "插入圖片…" #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "安全羣組" #: ../src/drivel-gtk.glade.h:116 #, fuzzy msgid "Groups" msgstr "屬於羣組" #: ../src/drivel-gtk.glade.h:117 #, fuzzy msgid "Group Details" msgstr "羣組詳細資料" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "名稱(_N):" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "次序(_O)" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "公眾(_P)" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "所有使用者" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "網友" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "文字" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "下拉式選單" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "單選按鈕" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "核選方塊" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "文字欄位" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "數值選擇杆" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "開啟並編輯這篇網誌" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "更新這個清單" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "%s 的網誌 - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "%s 社羣 — drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "離線作業 - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - 開啟草稿" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "所有 XML 檔案" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - 儲存草稿" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "請選擇網誌帳戶" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "每個帳戶都有獨立的偏好設定,因此在修改偏好設定前,請先選擇帳戶。" #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "選擇準備張貼的網誌" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "網誌(_J)" #: ../src/journal.c:3374 msgid "_View" msgstr "顯示(_V)" #: ../src/journal.c:3375 msgid "_Format" msgstr "格式(_F)" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "網站鏈結(_W)" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "求助(_H)" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "開啟草稿(_O)…" #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "儲存草稿(_S)" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "另存草稿為(_A)…" #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "最近的文章(_R)" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "最近的草稿(_D)" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "張貼文章(_P)" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "更新文章(_U)" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "刪除文章(_D)" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "登出(_L)" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "清除內容(_L)" #: ../src/journal.c:3390 msgid "Select _All" msgstr "全部選取(_A)" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "最後一份文章(_E)" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "編輯最後張貼過的文章" #: ../src/journal.c:3393 msgid "_Friends" msgstr "網友(_F)" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "編輯網友清單" #: ../src/journal.c:3394 msgid "_History" msgstr "紀錄(_H)" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "觀看或修改過往的網誌內容" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "指定哪些人可以讀取你張貼的內容" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "使用網誌分類(_J)" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "上標(_R)" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "下標(_C)" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "清單(_T)" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "清單項目(_M)" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "縮排(_N)" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "插入鏈結(_L)…" #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "建立鏈結連接另一個網站、另一個 livejournal 使用者或者一篇較長的網誌文章" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "插入圖片(_G)…" #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "在網誌內容中加插圖片" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "加入投票(_P)…" #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "內容(_C)" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "常見問答(_F)" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "關於(_A)" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "額外內容選項(_O)" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "突顯錯字(_S)" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "突顯 _HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "使用者名稱錯誤" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "使用者名稱中有不正當的字符。" #: ../src/login.c:929 msgid "Remove Account" msgstr "刪除戶口" #: ../src/login.c:931 msgid "_Preferences" msgstr "偏好設定(_P)" #: ../src/login.c:1139 msgid "Drafts" msgstr "草稿" #: ../src/main.c:58 msgid "Error" msgstr "錯誤" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "伺服器發生錯誤,請稍後再試。" #: ../src/main.c:351 msgid "Friends Only" msgstr "僅限網友" #: ../src/main.c:767 #, fuzzy msgid "Display debugging output" msgstr "顯示的分鐘數目" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "無法初始化 GConf:%s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "無法初始化 GnomeVFS!\n" #: ../src/network.c:64 #, fuzzy msgid "Done" msgstr "無" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "正在下載代表使用者的圖片" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "張貼網誌文章" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "更新網誌文章" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "下載網誌文章" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "下載網誌紀錄" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "更新網友清單" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "下載網友清單" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "下載網誌分類" #: ../src/network.c:118 msgid "Setting categories" msgstr "設定網誌分類" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "張貼網誌" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "刪除網誌文章" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "通知 Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "正在讀取安全羣組" #: ../src/network.c:143 msgid "Updating security groups" msgstr "正在更新安全羣組" #: ../src/network.c:315 msgid "Network connection failed" msgstr "" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "沒有播放樂曲" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "觀看網友的網誌(_V)" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "從系統匣中移除(_R)" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "未命名" #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "繼續之前是否儲存網誌內容?" #, fuzzy #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "範例: http://gnome.org/pic.png" #, fuzzy #~ msgid "Example: http://www.gnome.org" #~ msgstr "範例: http://www.gnome.org" #~ msgid "Retrieving user information" #~ msgstr "下載使用者資訊" # (Abel) 這句很扺死 #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "正在進行不明的動作" #~ msgid "Sending / Receiving" #~ msgstr "送出 / 接收資料" #~ msgid "_Add..." #~ msgstr "增加(_A)…" #~ msgid "_Edit..." #~ msgstr "編輯(_E)…" #~ msgid "Save _Draft" #~ msgstr "儲存草稿(_D)" #~ msgid "_Don't Save" #~ msgstr "不儲存(_D)" #~ msgid "Groups" #~ msgstr "羣組" #~ msgid "Image" #~ msgstr "圖片" #~ msgid "Link" #~ msgstr "鏈結" # (Abel) 英文完全一團糟,幸好不會顯示出來 #~ msgid "Display flags" #~ msgstr "時間顯示模式" # (Abel) 英文完全一團糟,幸好不會顯示出來 #~ msgid "Displayed date and/or time properties" #~ msgstr "顯示日期及/或時間的格式" #~ msgid "Lazy mode" #~ msgstr "容錯模式" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "在容錯模式中,所輸入的時間值如果超出範圍的話不會自動修正" #~ msgid "Year" #~ msgstr "年份" #~ msgid "Displayed year" #~ msgstr "顯示的年份" #~ msgid "Month" #~ msgstr "本月" #~ msgid "Displayed month" #~ msgstr "顯示的月份" #~ msgid "Day" #~ msgstr "日" #~ msgid "Displayed day of month" #~ msgstr "顯示的日數部份" #~ msgid "Hour" #~ msgstr "時" #~ msgid "Displayed hour" #~ msgstr "顯示的小時數目" #~ msgid "Minute" #~ msgstr "分" #~ msgid "Second" #~ msgstr "秒" #~ msgid "Displayed second" #~ msgstr "顯示的秒數" #~ msgid "Lower limit year" #~ msgstr "下限 (年)" #~ msgid "Year part of the lower date limit" #~ msgstr "時間下限中的年份" #~ msgid "Upper limit year" #~ msgstr "上限 (年)" #~ msgid "Year part of the upper date limit" #~ msgstr "時間上限中的年份" #~ msgid "Lower limit month" #~ msgstr "下限 (月)" #~ msgid "Month part of the lower date limit" #~ msgstr "時間下限中的月份" #~ msgid "Upper limit month" #~ msgstr "上限 (月)" #~ msgid "Month part of the upper date limit" #~ msgstr "時間上限中的月份" #~ msgid "Lower limit day" #~ msgstr "下限 (日)" #~ msgid "Day of month part of the lower date limit" #~ msgstr "時間下限中的日數部份" #~ msgid "Upper limit day" #~ msgstr "上限 (日)" #~ msgid "Day of month part of the upper date limit" #~ msgstr "時間上限中的日數部份" #~ msgid "Lower limit hour" #~ msgstr "下限 (時)" #~ msgid "Hour part of the lower time limit" #~ msgstr "時間下限中的小時部份" #~ msgid "Upper limit hour" #~ msgstr "上限 (時)" #~ msgid "Hour part of the upper time limit" #~ msgstr "時間上限中的小時部份" #~ msgid "Lower limit minute" #~ msgstr "下限 (分)" #~ msgid "Minute part of the lower time limit" #~ msgstr "時間下限中的分鐘部份" #~ msgid "Upper limit minute" #~ msgstr "上限 (分)" #~ msgid "Minute part of the upper time limit" #~ msgstr "時間上限中的分鐘部份" #~ msgid "Lower limit second" #~ msgstr "下限 (秒)" #~ msgid "Second part of the lower time limit" #~ msgstr "時間下限中的秒數部份" #~ msgid "Upper limit second" #~ msgstr "上限 (秒)" #~ msgid "Second part of the upper time limit" #~ msgstr "時間上限中的秒數部份" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:0" #~ msgid "Date" #~ msgstr "日期" #~ msgid "Enter the date directly" #~ msgstr "直接輸入日期" #~ msgid "Select Date" #~ msgstr "選擇日期" #~ msgid "Select the date from a calendar" #~ msgstr "在日曆中選擇日期" #~ msgid "Enter the time directly" #~ msgstr "直接輸入時間" #~ msgid "Select Time" #~ msgstr "選擇時間" #~ msgid "Select the time from a list" #~ msgstr "在日曆中選擇時間" #~ msgid "24hr: no" #~ msgstr "24hr: no" #~ msgid "AM" #~ msgstr "上午" #~ msgid "PM" #~ msgstr "下午" #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%4$s %1$02d:%2$02d:%3$02d" #~ msgid "%02d:%02d %s" #~ msgstr "%3$s %1$02d:%2$02d" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d:%02d:%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d:%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d-%02d-%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "方向" #~ msgid "The orientation of the tray." #~ msgstr "面板的方向。" #~ msgid "Communication Error" #~ msgstr "溝通錯誤" #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "向伺服器送出資訊時發生錯誤,請稍後再試。" #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "由伺服器接收資訊時發生錯誤,請稍後再試。" drivel-3.0.5/po/LINGUAS0000644000175000017500000000022311552103112011354 00000000000000ar bg ca cs de dz el es fi fr it ja lt nb ne nl no oc pa pl pt pt_BR ru rw sq sr sr@Latn sv te th vi zh_CN zh_HK zh_TW drivel-3.0.5/po/pt.po0000644000175000017500000006262511731016426011342 00000000000000# translation of drivel to Portuguese # drivel's Portuguese translation. # Copyright © 2004 drivel # This file is distributed under the same license as the drivel package. # # Duarte Loreto , 2004. # Américo Monteiro , 2009, 2010. msgid "" msgstr "" "Project-Id-Version: drivel 3.0.1-1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2010-05-23 09:14+0100\n" "Last-Translator: Américo Monteiro \n" "Language-Team: Portuguese \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "O utilizador actualmente ligado." #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" "Uma lista de todos os utilizadores de diário anteriormente utilizados nesta " "máquina." #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "O número de disposições armazenadas localmente." #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "Uma lista de disposições para o menu do drivel." #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Editor de Diário Drivel" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Editor de Diário" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Actualiza e efectua a gestão do seu diário online" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Rascunho de entrada no diário" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "Américo Monteiro " #: ../src/about.c:85 msgid "With help from:" msgstr "Com a ajuda de:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "E muitos outros--obrigado a todos!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "Um cliente de Diário para o ambiente de trabalho GNOME." #: ../src/about.c:108 msgid "Homepage:" msgstr "Página inicial:" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Erro do servidor" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "O servidor não devolveu uma resposta Atom válida." #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "Erro desconhecido" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "Erro ao Publicar Entrada" #: ../src/blog_lj.c:290 msgid "default" msgstr "predefinido" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Nenhum" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Desligado" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Nenhuma entrada de diário]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Predefinição do sistema" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Falta o nome de utilizador" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Por favor introduza um nome de utilizador a adicionar." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Público" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Privado" #: ../src/dialogs.c:809 msgid "Community" msgstr "Comunidade" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Feed Agregado" #: ../src/dialogs.c:813 msgid "User" msgstr "Utilizador" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Adicionar um Amigo" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "Nome de utilizador do _amigo:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "Cor do _Texto:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "Cor de _fundo:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "Incapaz de realizar a operação de ficheiro" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "Incapaz de abrir o ficheiro seleccionado" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "Gravar o conteúdo desta entrada no diário em vez de o limpar?" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "Se não gravar, o conteúdo desta entrada será descartado." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "Gravar as alterações desta entrada no diário antes de fechar?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "Se não gravar, as alterações desta entrada serão descartadas." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Hora" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Entrada no Diário" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Tipo" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Ligação" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Nome de utilizador" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Nome" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "Disponível" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "No Grupo" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Abrir uma entrada inacabada do diário" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Trocar de utilizadores" #: ../src/drivel-gtk.glade.h:4 msgid "Clear Entry" msgstr "Limpar Entrada" #: ../src/drivel-gtk.glade.h:5 msgid "Preferences" msgstr "Preferências" #: ../src/drivel-gtk.glade.h:6 msgid "Highlight Spelling Errors" msgstr "Realçar Erros Ortográficos" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "Negrito" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "Itálico" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "Sublinhado" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "Rasurado" #: ../src/drivel-gtk.glade.h:11 msgid "Help" msgstr "Ajuda" #: ../src/drivel-gtk.glade.h:12 msgid "About" msgstr "Acerca" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "A_ssunto:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "Se_gurança:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Disposição:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "M_úsica:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "Eti_quetas:" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "Desactivar os come_ntários" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "Não permitir que os utilizadores comentem nesta entrada" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Não formatar _texto automaticamente" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "Não analisar automaticamente mudanças de linha ou ligações para website em " "etiquetas HTML" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "Data _anterior:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "Marcar a entrada como tendo sido publicada na data seleccionada" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "_Imagem:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "Ca_tegoria:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Mostrar mais _opções" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Apagar a entrada seleccionada do seu diário." #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "Gravar _Rascunho" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Gravar a entrada actual sem a adicionar ao seu diário" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "_Actualizar" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Actualizar a entrada seleccionada no seu diário" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Publicar" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Publicar a entrada actual no seu diário" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Inserir Votação" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "_Nome da votação (opcional):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "Votante_s:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Resultados visíveis para:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Questões:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "Adicionar _Questão" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "Adicionar Respost_a" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "Cima" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Tipo:" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "Qu_estão:" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "Tamanho do _campo de texto (opcional):" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "Comprimento _máximo do texto (opcional):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_De:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "Para:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "_Por:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "_Resposta:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "_Inserir" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Preferências do Drivel" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "Comportamento da Entrada" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Minimizar após _iniciar sessão" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "Minimizar automaticamente a janela do diário após iniciar a sessão" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Minimizar após _publicar" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "Minimizar automaticamente a janela do diário após publicar uma entrada" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "Realçar _HTML na entrada do diário" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "Apresentar palavras-chave HTML em cores diferentes do texto normal" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Realçar palavras _mal escritas" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "" "Realçar palavras que não foram encontradas no dicionário do seu computador" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "_Dicionário:" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "Área de Notificação" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "Noti_ficar quando os amigos actualizarem" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Mostra um alerta quando a Página dos seus Amigos for actualizada\n" "(apenas utilizadores que pagam o LiveJournal)" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "Publicação" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "Notificar o _Technorati nas actualizações" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" "Alerta o popular motor de busca de diários (Technorati) de novas entradas" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "Propriedade do Tipo de letra" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "Usa _tema de tipo de letra predefinido" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "Tipo de letra do editor:" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Geral" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "Opções de Publicação Predefinidas" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "Não analisar automaticamente quebras de linha em etiquetas HTML" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Predefinições da Entrada" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Início de Sessão de Diário" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "Nome de _Utilizador:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Palavra-passe:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "Iniciar sessão _automaticamente" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_Recordar a palavra-passe" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "_Tipo de Diário:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "Endereço do _servidor:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "Trabalhar em M_odo desligado" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "_Iniciar Sessão" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Editar o Histórico" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Editar" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Editar os Amigos" # 48x48/emblems/emblem-personal.icon.in.h:1 #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "_Ver o Diário" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "Detalhes" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Nome de utilizador:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Tipo de Diário:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Cor do texto:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Cor de fundo:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Seleccione uma cor para o texto" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Seleccione uma cor de fundo" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Inserir Ligação" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "_Texto:" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "Criar uma ligação para..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "uma _página na Internet" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "_Localização:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "Exemplo:" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "outro utilizador do Live_Journal" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "O _resto desta entrada" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "_Inserir Ligação..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Inserir Imagem" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "Imagem" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "Atributos (Opcional)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Altura:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Largura:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Descrição:" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "_Inserir Imagem..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "Grupos de Segurança" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "Grupos" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "Detalhes do Grupo" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "_Nome:" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "Pedid_o" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "_Público" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Todos os utilizadores" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Amigos" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Texto" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Selecção de menu de desenrolar" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Selecção de 'radio'" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Selecção de 'checkbox'" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Entrada de texto" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Escala" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "Abrir esta entrada para edição" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "Refrescar esta lista" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "O Diário de %s - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "A Comunidade %s - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Desligado - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - Abrir Rascunho" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Todos os Ficheiros XML" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "Publicações rascunho do driver" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Gravar Rascunho" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Por favor seleccione uma conta de diário" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "As preferências são aplicadas a cada conta em separado, portanto você tem " "que seleccionar a sua conta antes que possa editar as suas preferências." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Seleccione um diário onde publicar" # 48x48/emblems/emblem-personal.icon.in.h:1 #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "_Diário" #: ../src/journal.c:3374 msgid "_View" msgstr "_Ver" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Formatar" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "Ligações _Web" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "_Ajuda" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "Abrir Rascunh_o..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "_Gravar Rascunho" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Gravar R_ascunho como..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "Entradas _Recentes" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "Rascunh_os recentes" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "_Publicar Entrada" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "Act_ualizar a Entrada" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "Apagar a Entra_da" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Terminar a Sessão" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "_Limpar Entrada" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Seleccion_ar Tudo" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "Última _Entrada" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Editar a última entrada que publicou" #: ../src/journal.c:3393 msgid "_Friends" msgstr "_Amigos" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Editar a sua lista de amigos" #: ../src/journal.c:3394 msgid "_History" msgstr "_Histórico" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Ver ou editar uma entrada anterior" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "Editar grupos específicos de pessoas capazes de ler as suas entradas" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "_Diário Activo" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "Supe_rscript" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "Subs_cript" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "Lis_ta" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "Ite_m de Lista" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "I_ndentar" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Inserir _Ligação..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Criar uma ligação para uma página web, utilizador do livejournal, ou uma " "entrada de diário longa" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Inserir Ima_gem..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Inserir uma imagem na sua entrada de diário" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Inserir _Votação..." #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "_Conteúdos" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "Perguntas _Frequentemente Colocadas" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "_Acerca" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Mais _Opções de Entrada" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "Realçar Erro_S Ortográficos" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "Realçar _HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "Nome de utilizador inválido" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "O nome de utilizador contém caracteres inválidos." #: ../src/login.c:929 msgid "Remove Account" msgstr "Remover Conta" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Preferências" #: ../src/login.c:1139 msgid "Drafts" msgstr "Rascunhos" #: ../src/main.c:58 msgid "Error" msgstr "Erro" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "" "Ora bolas, há um erro no servidor. Por favor tente novamente mais tarde." #: ../src/main.c:351 msgid "Friends Only" msgstr "Apenas Amigos" #: ../src/main.c:767 msgid "Display debugging output" msgstr "Mostrar resultados de depuração" #: ../src/main.c:770 msgid "file" msgstr "ficheiro" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Falha ao inicializar o Gconf: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Incapaz de inicializar o GnomeVFS!\n" #: ../src/network.c:64 msgid "Done" msgstr "Feito" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "Iniciando login . . " #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "A descarregar imagens do utilizador" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "A publicar entrada no diário" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "A actualizar entrada no diário" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "A obter entradas do diário" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "A obter histórico do diário" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "A actualizar a lista de Amigos" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "A obter a lista de Amigos" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "A obter categorias" #: ../src/network.c:118 msgid "Setting categories" msgstr "A definir categorias" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "A publicar entrada no diário" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "A apagar a entrada do diário" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "A notificar o Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "A obter grupos de segurança" #: ../src/network.c:143 msgid "Updating security groups" msgstr "A actualizar grupos de segurança" #: ../src/network.c:315 msgid "Network connection failed" msgstr "Ligação de rede falhada" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "Incapaz de compreender a resposta do servidor" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Nenhuma música a tocar" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "_Ver Página de Amigos" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "_Remover da Área de Notificação" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Sem título" drivel-3.0.5/po/ja.po0000644000175000017500000010220011731016426011271 00000000000000# drivel ja.po # Copyright (C) 2004 Todd Kulesza # This file is distributed under the same license as the drivel package. # Satoru SATOH , 2004 - 2009. # msgid "" msgstr "" "Project-Id-Version: drivel HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2009-09-08 04:31+0900\n" "Last-Translator: Satoru SATOH \n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "現在ログインしているユーザー" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "このマシンで過去に使っていたすべての日記のユーザ名のリスト" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "ローカルに保存されている mood の数" #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "Drivel メニューのための mood (ムード) のリスト" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Drivel ブログエディタ" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "ブログエディタ" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "ブログを更新/管理" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "ブログエントリの草稿" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "Satoru SATOH " #: ../src/about.c:85 msgid "With help from:" msgstr "手助けしてくれた方:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "そして他の多くの人々 -- ありがとう、みなさん!!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "GNOME デスクトップ用 LiveJournal クライアント" #: ../src/about.c:108 msgid "Homepage:" msgstr "ホームページ:" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "サーバーエラー" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "サーバーは妥当な Atom 応答を返しませんでした。" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "不明なエラー" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "エントリを投稿中にエラー" #: ../src/blog_lj.c:290 msgid "default" msgstr "デフォルト" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "なし" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "オフライン" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[journal エントリなし]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "システムデフォルト" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "ユーザー名がありません" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "追加するためにユーザー名を入力して下さい" #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "パブリック" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "プライベート" #: ../src/dialogs.c:809 msgid "Community" msgstr "コミュニティ" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "同期されたフィード" #: ../src/dialogs.c:813 msgid "User" msgstr "ユーザー" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "友達を追加" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "友達のユーザー名(_F):" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "テキスト色(_T):" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "背景色(_B):" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "ファイル操作を実行できませんでした" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "選択したファイルを開けませんでした" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "クリアする代わりにこの日記エントリの内容を保存しますか?" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "保存しないとこのエントリの内容は破棄されます" #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "閉じる前にこの日記エントリへの変更を保存しますか?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "保存しないとこのエントリへの変更は破棄されます" #: ../src/dialogs.c:1442 msgid "Time" msgstr "時間" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "ブログエントリ" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "タイプ" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "リンク" #: ../src/dialogs.c:1542 msgid "Username" msgstr "ユーザー名" #: ../src/dialogs.c:1552 msgid "Name" msgstr "名前" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "利用可能" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "グループ内" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "未了の日記エントリを開く" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "ユーザー名を切り替え" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "エントリをクリア(_L)" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "設定(_P)" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "綴りを間違えている語句を強調表示(_S)" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "ヘルプ(_H)" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "概要(_A)" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "題目(_S):" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "セキュリティ(_Y):" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "気分(mood)(_M):" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "音楽(_U):" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "タグ(_G):" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "コメントをオフにする(_N)" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "このエントリについてユーザーがコメントできないようにする" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "テキストを自動フォーマットしない(_T)" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "改行やウェブサイトへのリンクを自動的に HTML タグに解釈しないようにする" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "日時を貼り付け(_A):" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "選択日時に投稿されたものとしてエントリをマーク" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "画像(_R):" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "カテゴリ(_T):" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "さらにオプションを表示(_O)" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "日記から選択したエントリを削除" #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "草稿を保存(_F)" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "現在のエントリを日記に追加せずに保存" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "更新(_A)" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "日記の選択したエントリを更新" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "投稿(_P)" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "現在のエントリを日記に投稿" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "投票を挿入" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "名前に投票 (オプション)(_N):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "投票者(_S):" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "見ることのできる人(_R):" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "質問:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "質問を追加(_Q)" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "答えを追加(_A)" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "上" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "タイプ(_T):" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "質問(_E):" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "テキストフィールドの大きさ (オプション)(_F):" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "テキストの最大長 (オプション)(_L):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "From(_F):" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "To:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "By(_B):" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "答え(_W):" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "挿入(_I)" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Drivel 設定" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "エントリ動作" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "ログイン後に最小化(_L)" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "ログイン後に自動的に journal ウィンドウを最小化" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "投稿後に最小化(_P)" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "エントリ投稿後に自動的に journal ウィンドウを最小化" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "日記エントリ内の HTML を強調表示" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "HTML キーワードを通常の文字とは別の色で表示" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "綴りの間違っている語句を強調表示(_W)" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "コンピュータの辞書内にはみつからない語句を強調表示" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "辞書(_D):" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "通知エリア" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "友達の更新時に通知(_F)" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "友達のページが更新されたら通知\n" "(有償の LiveJournal ユーザーのみ)" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "公開" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "更新時に Technorati に通知(_T)" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "新しいエントリを、人気のある Technorati ブログ検索エンジンに通知" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "フォントプロパティ" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "デフォルトのテーマのフォントを使用(_T)" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "エディタのフォント:" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "一般" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "デフォルトの投稿オプション" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "改行を自動的に HTML タグに解釈しないようにする" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "エントリデフォルト" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "ブログログイン" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "ユーザー名(_U):" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "パスワード(_P):" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "自動的にログイン(_A)" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "パスワードを記憶するか?(_R)" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "ブログタイプ(_T):" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "サーバーアドレス(_S):" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "オフラインで作業(_O)" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "ログイン(_L)" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "履歴を編集" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "編集(_E)" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "友達を編集" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "日記を見る(_V)" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "詳細" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "ユーザー名:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "ブログタイプ:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "テキスト色:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "背景色:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "テキスト色を選択" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "背景色を選択" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "リンクを挿入" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "テキスト(_T):" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "リンクを作成..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "インターネット上のサイト(_S)" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "場所(_L):" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "例:" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "他の Live Journal ユーザー(_J)" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "このエントリの残り部分(_R)" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "リンクを挿入...(_I)" #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "画像を挿入" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "画像" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "属性 (オプション)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "高さ(_H):" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "幅(_W):" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "説明(_D):" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "画像を挿入...(_I)" #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "セキュリティグループ" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "グループ" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "グループ詳細" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "名前(_N):" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "順番(_O)" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "パブリック(_P)" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "すべてのユーザー" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "友達" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "テキスト" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "ドロップダウン選択" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "ラジオ選択" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "チェックボックス選択" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "テキストエントリ" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "スケール" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "このエントリを編集" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "このリストを更新" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "%s のブログ - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "%s コミュニティ - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "オフライン - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - 草稿を開く" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "すべての XML ファイル" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "drivel ポスト草稿" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Draft - 草稿を保存" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "アカウントを選択" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "設定は各アカウント毎に別々に適用されますので、編集する前に必ずアカウントを選" "択しなければなりません" #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "投稿する日記を選択" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "ブログ(_J)" #: ../src/journal.c:3374 msgid "_View" msgstr "表示(_V)" #: ../src/journal.c:3375 msgid "_Format" msgstr "形式(_F)" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "ウェブリンク(_W)" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "ヘルプ(_H)" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "草稿を開く(_O)..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "草稿を保存(_S)" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "草稿を別名で保存(_A)..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "最近のエントリ(_R)" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "最近の草稿(_D)" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "エントリを投稿(_P)" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "エントリを更新(_U)" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "エントリを削除(_D)" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "ログアウト(_L)" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "エントリをクリア(_L)" #: ../src/journal.c:3390 msgid "Select _All" msgstr "すべて選択(_A)" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "最後のエントリ(_E)" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "投稿した最後のエントリを編集" #: ../src/journal.c:3393 msgid "_Friends" msgstr "友達(_F)" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "友達リストを編集" #: ../src/journal.c:3394 msgid "_History" msgstr "履歴(_H)" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "前のエントリを見る、または編集" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "あなたのエントリを読むことのできるグループを編集" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "アクティブなブログ(_J)" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "上付き文字(_R)" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "下付き文字(_C)" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "リスト(_T)" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "リスト項目(_M)" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "字下げ(_N)" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "リンクを挿入(_L)..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "ウェブページ、livejournal ユーザーまたは長い日記エントリへのリンクを作成" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "画像を挿入(_G)..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "日記エントリに画像を挿入" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "投票を挿入(_P)..." #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "内容(_C)" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "よく聞かれる質問と答え(_F)" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "概要(_A)" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "詳細エントリオプション(_O)" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "綴りを間違えている語句を強調表示(_S)" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "HTML を強調表示" #: ../src/login.c:504 msgid "Bad username" msgstr "不適切なユーザー名" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "ユーザー名に不適切な文字が含まれています" #: ../src/login.c:929 msgid "Remove Account" msgstr "アカウントを削除" #: ../src/login.c:931 msgid "_Preferences" msgstr "設定(_P)" #: ../src/login.c:1139 msgid "Drafts" msgstr "草稿" #: ../src/main.c:58 msgid "Error" msgstr "エラー" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "ああ困った. サーバーエラーです. 後で再度試してみて下さい" #: ../src/main.c:351 msgid "Friends Only" msgstr "友人のみ" #: ../src/main.c:767 msgid "Display debugging output" msgstr "デバッグ出力を表示" #: ../src/main.c:770 msgid "file" msgstr "file" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "GConf 初期化失敗: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "GnomeVFS を初期化できませんでした!\n" #: ../src/network.c:64 msgid "Done" msgstr "完了" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "ログインしています..." #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "ユーザーの画像をダウンロードしています" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "journal エントリを投稿しています" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "journal エントリを更新しています" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "ブログエントリを取得しています" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "ブログ履歴を取得しています" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "友達リストを更新しています" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "友達リストを取得しています" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "カテゴリを取得しています" #: ../src/network.c:118 msgid "Setting categories" msgstr "カテゴリを設定しています" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "ブログエントリを公開しています" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "ブログエントリを削除しています" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "Technorati に通知しています" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "セキュリティグループを取得しています" #: ../src/network.c:143 msgid "Updating security groups" msgstr "セキュリティグループを更新しています" #: ../src/network.c:315 msgid "Network connection failed" msgstr "ネットワーク接続に失敗しました" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "サーバーの応答を解読できませんでした" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "何も演奏していません" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "友達のページを見る(_V)" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "トレイから取り除く(_R)" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "無題" #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "先に進む前にこの日記エントリへの変更を保存しますか?" #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "例: http://gnome.org/pic.png" #~ msgid "Example: http://www.gnome.org" #~ msgstr "例: http://www.gnome.org" #~ msgid "Retrieving user information" #~ msgstr "ユーザー情報を取得しています" #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "何かしていますが、何なのか確かではありません。" #~ msgid "Sending / Receiving" #~ msgstr "送信中 / 受信中" #~ msgid "_Add..." #~ msgstr "追加(_A)..." #~ msgid "_Edit..." #~ msgstr "編集(_E)..." #~ msgid "Save _Draft" #~ msgstr "草稿を保存(_D)" #~ msgid "_Don't Save" #~ msgstr "保存しない(_D)" #~ msgid "Groups" #~ msgstr "グループ" #~ msgid "Image" #~ msgstr "画像" #~ msgid "Link" #~ msgstr "リンク" #~ msgid "Display flags" #~ msgstr "表示フラグ" #~ msgid "Displayed date and/or time properties" #~ msgstr "表示されるデータ(と|または)時間プロパティ" #~ msgid "Lazy mode" #~ msgstr "lazy モード" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "lazy モードでは入力した日時の値は正規化されません" #~ msgid "Year" #~ msgstr "年" #~ msgid "Displayed year" #~ msgstr "表示される年" #~ msgid "Month" #~ msgstr "月" #~ msgid "Displayed month" #~ msgstr "表示される月" #~ msgid "Day" #~ msgstr "日" #~ msgid "Displayed day of month" #~ msgstr "表示される日付" #~ msgid "Hour" #~ msgstr "時" #~ msgid "Displayed hour" #~ msgstr "表示される時間(時)" #~ msgid "Minute" #~ msgstr "分" #~ msgid "Second" #~ msgstr "秒" #~ msgid "Displayed second" #~ msgstr "表示される時間(秒)" #~ msgid "Lower limit year" #~ msgstr "年の下限" #~ msgid "Year part of the lower date limit" #~ msgstr "日時の下限の年部分" #~ msgid "Upper limit year" #~ msgstr "年の上限" #~ msgid "Year part of the upper date limit" #~ msgstr "日時の上限の年部分" #~ msgid "Lower limit month" #~ msgstr "月の下限" #~ msgid "Month part of the lower date limit" #~ msgstr "日時の下限の月部分" #~ msgid "Upper limit month" #~ msgstr "月の上限" #~ msgid "Month part of the upper date limit" #~ msgstr "日時の上限の月部分" #~ msgid "Lower limit day" #~ msgstr "日付の下限" #~ msgid "Day of month part of the lower date limit" #~ msgstr "日時の下限の日付部分" #~ msgid "Upper limit day" #~ msgstr "日付の上限" #~ msgid "Day of month part of the upper date limit" #~ msgstr "日時の上限の日付部分" #~ msgid "Lower limit hour" #~ msgstr "日時(時)の下限" #~ msgid "Hour part of the lower time limit" #~ msgstr "日時の下限の時間(時)部分" #~ msgid "Upper limit hour" #~ msgstr "日時(時)の上限" #~ msgid "Hour part of the upper time limit" #~ msgstr "日時の上限の時間(時)部分" #~ msgid "Lower limit minute" #~ msgstr "日時(分)の下限" #~ msgid "Minute part of the lower time limit" #~ msgstr "日時の下限の時間(分)部分" #~ msgid "Upper limit minute" #~ msgstr "日時(分)の上限" #~ msgid "Minute part of the upper time limit" #~ msgstr "日時の上限の時間(分)部分" #~ msgid "Lower limit second" #~ msgstr "日時(秒)の下限" #~ msgid "Second part of the lower time limit" #~ msgstr "日時の下限の時間(秒)部分" #~ msgid "Upper limit second" #~ msgstr "日時(秒)の上限" #~ msgid "Second part of the upper time limit" #~ msgstr "日時の上限の時間(秒)部分" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:0" #~ msgid "Date" #~ msgstr "日時" #~ msgid "Enter the date directly" #~ msgstr "日時を直接入力" #~ msgid "Select Date" #~ msgstr "日時を選択" #~ msgid "Select the date from a calendar" #~ msgstr "カレンダーから日時を選択" #~ msgid "Enter the time directly" #~ msgstr "時間を直接入力" #~ msgid "Select Time" #~ msgstr "時間を選択" #~ msgid "Select the time from a list" #~ msgstr "リストから時間を選択" #~ msgid "24hr: no" #~ msgstr "24hr: no" #~ msgid "AM" #~ msgstr "AM" #~ msgid "PM" #~ msgstr "PM" #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%02d:%02d:%02d %s" #~ msgid "%02d:%02d %s" #~ msgstr "%02d:%02d %s" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d:%02d:%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d:%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d-%02d-%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "向き" #~ msgid "The orientation of the tray." #~ msgstr "トレイの向き" #~ msgid "Account Information" #~ msgstr "アカウント情報" #~ msgid "Account Manager" #~ msgstr "アカウントマネージャ" #~ msgid "Display a journal update alert in the notification area" #~ msgstr "通知エリア内に journal 更新通知を表示" #~ msgid "Enable _tray icon" #~ msgstr "トレイアイコンを有効にする(_T)" #~ msgid "_Server:" #~ msgstr "サーバー(_S):" #~ msgid "Sign _Up..." #~ msgstr "サインアップ(_U)..." #~ msgid "What's a LiveJournal?" #~ msgstr "LiveJournal って何?" #~ msgid "Communication Error" #~ msgstr "通信エラー" #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "サーバーに情報を送る際に問題がありました。後で再度試してみて下さい" #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "" #~ "サーバーから情報を受け取る際に問題がありました。後で再度試してみて下さい" #~ msgid "_Show Entry" #~ msgstr "エントリを表示(_S)" #~ msgid "Invalid journal server" #~ msgstr "不適切な journal サーバー" #~ msgid "Please enter a journal server address." #~ msgstr "journal サーバーアドレスを入力して下さい" #~ msgid "Custom..." #~ msgstr "カスタム..." #~ msgid "*" #~ msgstr "*" #~ msgid "Journal Server" #~ msgstr "Journal サーバー" #~ msgid "Server Options" #~ msgstr "サーバーオプション" #~ msgid "DYNAMIC" #~ msgstr "DYNAMIC" #~ msgid "Network" #~ msgstr "ネットワーク" #~ msgid "_Traditional (POST) interface" #~ msgstr "伝統的な (POST) インターフェース(_T)" #~ msgid "_XML-RPC interface" #~ msgstr "XML-RPC インターフェース(_X):" #~ msgid "drivel-add-answer" #~ msgstr "drivel-add-answer" #~ msgid "drivel-add-friend" #~ msgstr "drivel-add-friend" #~ msgid "drivel-add-question" #~ msgstr "drivel-add-question" #~ msgid "drivel-edit" #~ msgstr "drivel-edit" #~ msgid "drivel-insert-button" #~ msgstr "drivel-insert-button" #~ msgid "drivel-login" #~ msgstr "drivel-login" #~ msgid "drivel-sign-up" #~ msgstr "drivel-sign-up" #~ msgid "You must enter your username first." #~ msgstr "最初にユーザー名を入力しなければなりません" drivel-3.0.5/po/nb.po0000644000175000017500000006155711731016426011321 00000000000000# Norwegian/Bokmaal translation of PACKAGE. # Copyright (C) 2004 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Terance Edward Sola , 2004. # # # msgid "" msgstr "" "Project-Id-Version: drivel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2004-07-29 12:52+0200\n" "Last-Translator: Terance Edward Sola \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "" #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 #, fuzzy msgid "Drivel Journal Editor" msgstr "Drivel - journalutkast" #: ../data/gnome-drivel.desktop.in.h:2 #, fuzzy msgid "Journal Editor" msgstr "Dagbok oppføring" #: ../data/gnome-drivel.desktop.in.h:3 #, fuzzy msgid "Update and manage your online journal" msgstr "Oppdater og vedlikehold din LiveJournal (Drivel)" #: ../data/mime/drivel.xml.in.h:1 #, fuzzy msgid "Draft journal entry" msgstr "Dagbok oppføring" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 #, fuzzy msgid "translator-credits" msgstr "Terance Edward Sola " #: ../src/about.c:85 msgid "With help from:" msgstr "" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "" #: ../src/about.c:102 #, fuzzy msgid "A journal client for the GNOME desktop." msgstr "En LiveJournal-klient for skrivebordsmiljøet GNOME." #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 #, fuzzy msgid "Server error" msgstr "_Tjener:" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "" #: ../src/blog_atom.c:411 #, fuzzy msgid "Error Posting Entry" msgstr "_Legg ut oppføring" #: ../src/blog_lj.c:290 msgid "default" msgstr "" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Ingen" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Ingen dagbok oppføringer]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "" #: ../src/dialogs.c:426 #, fuzzy msgid "Missing username" msgstr "_Brukernavn for venn:" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Skriv et brukernavn å legge til" #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Offentlig" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Privat" #: ../src/dialogs.c:809 msgid "Community" msgstr "Samfunn" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "" #: ../src/dialogs.c:813 msgid "User" msgstr "Bruker" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Legg til venn" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "_Brukernavn for venn:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "_Tekstfarge:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "_Bakgrunnsfarge:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "" #: ../src/dialogs.c:1275 #, fuzzy msgid "Could not open the selected file" msgstr "Kunne ikke åpne %s." #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "" #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "" #: ../src/dialogs.c:1442 msgid "Time" msgstr "Tid" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Dagbok oppføring" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Skriv" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Lenke" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Brukernavn" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Navn" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Åpne en uferdig oppføring" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Veksle brukernavn" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "Tøm o_ppføring" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "_Brukervalg" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "Uthev feilstavede _ord" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "_Hjelp" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "_Om" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Emne:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "Sikkerhe_t:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Humør:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "M_usikk:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 #, fuzzy msgid "Tur_n off comments" msgstr "For_by kommentarer" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Ikke autoformater _tekst" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "Bil_de:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Vis flere _alternativer" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Slett valgt oppføring fra din dagbok." #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "_Lagre utkast" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Lagre den nåværende teksten uten å legge den til dagboken din" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "O_ppdater" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Oppdater valgt oppføring i din dagbok" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Send" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Legg ut denne oppføringen i dagboken din" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Sett inn avstemning" #: ../src/drivel-gtk.glade.h:35 #, fuzzy msgid "Poll _name (optional):" msgstr "Navn på avstemning (valgfritt):" #: ../src/drivel-gtk.glade.h:36 #, fuzzy msgid "Voter_s:" msgstr "S_temmere:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Resultater synlige for:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Spørsmål:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "Legg til _spørsmål" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "Legg til _svar" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Type:" #: ../src/drivel-gtk.glade.h:43 #, fuzzy msgid "Qu_estion:" msgstr "S_pørsmål:" #: ../src/drivel-gtk.glade.h:44 #, fuzzy msgid "Text _field size (optional):" msgstr "Størrelse på tekst_felt (valgfritt):" #: ../src/drivel-gtk.glade.h:45 #, fuzzy msgid "Maximum text _length (optional):" msgstr "Maksimum tekst_lengde (valgfritt):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_Fra:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "Til:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "_Av:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "Bes_var:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "Sett _inn" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Drivel instillinger" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr "Oppførings oppførsel" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Minimer etter på_logging" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Minimer etter _posting" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "_Uthev HTML i dagbokoppføringer" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Uthev feilstavede _ord" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "" #: ../src/drivel-gtk.glade.h:61 #, fuzzy msgid "_Dictionary:" msgstr "_Beskrivelse:" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr "Varslingsområde" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr "Varslingsområde" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Generelt" #: ../src/drivel-gtk.glade.h:73 #, fuzzy msgid "Default Post Options" msgstr "Forvalgte innstillinger for posting" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Standard for oppføring" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Pålogging for dagbok" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_Brukernavn:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Passord:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "_Logg på automatisk" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_Husk passord" #: ../src/drivel-gtk.glade.h:81 #, fuzzy msgid "Journal _type:" msgstr "Type dagbok:" #: ../src/drivel-gtk.glade.h:82 #, fuzzy msgid "_Server address:" msgstr "_Adresse:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 #, fuzzy msgid "_Log In" msgstr "_Logg in" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Rediger historikk" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Rediger" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Rediger venner" #: ../src/drivel-gtk.glade.h:88 #, fuzzy msgid "_View journal" msgstr "_Journal" #: ../src/drivel-gtk.glade.h:89 #, fuzzy msgid "Details" msgstr "Detaljer" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Brukernavn:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Type dagbok:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Tekstfarge:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Bakgrunnsfarge:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Velg en tekstfarge" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Velg en bakgrunnsfarge" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Sett inn lenke" #: ../src/drivel-gtk.glade.h:98 #, fuzzy msgid "_Text:" msgstr "Tekst" #: ../src/drivel-gtk.glade.h:99 #, fuzzy msgid "Create a link to..." msgstr "Opprett en lenke til..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "et _nettsted på Internett" #: ../src/drivel-gtk.glade.h:101 #, fuzzy msgid "_Location:" msgstr "Bilde _Plassering" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 #, fuzzy msgid "another Live_Journal user" msgstr "en annen _LiveJournal bruker" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "_resten av denne oppføringen" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "Sett inn lenke..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Sett inn bilde" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 #, fuzzy msgid "Attributes (Optional)" msgstr "Bilde egenskaper (valgfritt)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Høyde:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Bredde:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Beskrivelse:" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "Sett inn bilde..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 #, fuzzy msgid "Security Groups" msgstr "Sikkerhe_t:" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "" #: ../src/drivel-gtk.glade.h:117 #, fuzzy msgid "Group Details" msgstr "Detaljer" #: ../src/drivel-gtk.glade.h:118 #, fuzzy msgid "_Name:" msgstr "Navn" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "" #: ../src/drivel-gtk.glade.h:120 #, fuzzy msgid "_Public" msgstr "Offentlig" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Alle brukere" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Venner" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Tekst" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Nedtrekksmeny" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Radioknapper" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Avkryssingsbokser" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Tekstoppføring" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Skaler" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "%s's dagbok - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - Åpne utkast" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Alle XML-filer" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Lagre utkast" #: ../src/journal.c:2782 #, fuzzy msgid "Please select a journal account" msgstr "Velg hvilken dagbok du vil føre til" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Velg hvilken dagbok du vil føre til" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "_Journal" #: ../src/journal.c:3374 msgid "_View" msgstr "" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Formater" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "_Vevlenker" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "_Hjelp" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Åpne utkast..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "_Lagre utkast" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Lagre utk_ast som..." #: ../src/journal.c:3381 #, fuzzy msgid "_Recent Entries" msgstr "_Slett oppføring" #: ../src/journal.c:3382 #, fuzzy msgid "Recent _Drafts" msgstr "Skisser" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "_Legg ut oppføring" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "_Oppdater oppføring" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "_Slett oppføring" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Logg ut" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "Tøm o_ppføring" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Velg _alt" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "Sist_Oppføring" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Rediger den siste oppføringen du postet" #: ../src/journal.c:3393 msgid "_Friends" msgstr "_Venner" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Rediger din venneliste" #: ../src/journal.c:3394 msgid "_History" msgstr "_Historikk" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Vis eller rediger en tidligere oppføring" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "Aktiv _Dagbok" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "Hev_et" #: ../src/journal.c:3403 #, fuzzy msgid "Subs_cript" msgstr "_Senket skrift" #: ../src/journal.c:3404 #, fuzzy msgid "Lis_t" msgstr "L_iste" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "Liste Ele_ment" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "I_nnrykk" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Sett inn _Lenke..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Lag en lenke til en vevside, livejournalbruker eller en lang dagbok oppføring" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Sett inn bil_de..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Sett inn et bilde i din dagbok oppføring" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Sett inn _Avstemning" #: ../src/journal.c:3410 ../src/login.c:932 #, fuzzy msgid "_Contents" msgstr "I_nnrykk" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "_Om" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "" #: ../src/journal.c:3417 #, fuzzy msgid "Highlight _Spelling Errors" msgstr "Uthev feilstavede _ord" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "" #: ../src/login.c:504 #, fuzzy msgid "Bad username" msgstr "Brukernavn" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Brukernavnet inneholder ugyldige tegn." #: ../src/login.c:929 msgid "Remove Account" msgstr "" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Brukervalg" #: ../src/login.c:1139 msgid "Drafts" msgstr "Skisser" #: ../src/main.c:58 msgid "Error" msgstr "" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "Søren også, det er en feil på tjeneren. Prøv igjen senere." #: ../src/main.c:351 #, fuzzy msgid "Friends Only" msgstr "Kun venner" #: ../src/main.c:767 msgid "Display debugging output" msgstr "" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Initiering av GConf feilet: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Kunne ikke initiere GnomeVFS!\n" #: ../src/network.c:64 #, fuzzy msgid "Done" msgstr "Ingen" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "" #: ../src/network.c:81 #, fuzzy msgid "Posting journal entry" msgstr "Dagbok oppføring" #: ../src/network.c:86 #, fuzzy msgid "Updating journal entry" msgstr "Dagbok oppføring" #: ../src/network.c:91 #, fuzzy msgid "Retrieving journal entries" msgstr "[Ingen dagbok oppføringer]" #: ../src/network.c:96 #, fuzzy msgid "Retrieving journal history" msgstr "Drivel - journalutkast" #: ../src/network.c:101 #, fuzzy msgid "Updating Friends list" msgstr "Rediger din venneliste" #: ../src/network.c:107 #, fuzzy msgid "Retrieving Friends list" msgstr "Rediger din venneliste" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "" #: ../src/network.c:118 msgid "Setting categories" msgstr "" #: ../src/network.c:123 #, fuzzy msgid "Publishing journal entry" msgstr "_Uthev HTML i dagbokoppføringer" #: ../src/network.c:128 #, fuzzy msgid "Deleting journal entry" msgstr "Dagbok oppføring" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "" #: ../src/network.c:143 msgid "Updating security groups" msgstr "" #: ../src/network.c:315 msgid "Network connection failed" msgstr "" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Ingen sang spilles av" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "_Vis vennesiden" #: ../src/tray.c:135 #, fuzzy msgid "_Remove From Tray" msgstr "Fjern fra trau" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "" #~ msgid "_Add..." #~ msgstr "_Legg til" #~ msgid "_Edit..." #~ msgstr "_Rediger..." #, fuzzy #~ msgid "Save _Draft" #~ msgstr "_Lagre utkast" #, fuzzy #~ msgid "Image" #~ msgstr "Detaljer" #, fuzzy #~ msgid "Link" #~ msgstr "Lenke_tekst" #, fuzzy #~ msgid "Date" #~ msgstr "Skisser" #, fuzzy #~ msgid "Select Date" #~ msgstr "Velg _alt" #, fuzzy #~ msgid "Select Time" #~ msgstr "Velg _alt" #~ msgid "Orientation" #~ msgstr "Orientering" #~ msgid "The orientation of the tray." #~ msgstr "Plassering av systemkurv." #, fuzzy #~ msgid "Account Information" #~ msgstr "Varslingsområde" #~ msgid "DYNAMIC" #~ msgstr "DYNAMISK" #, fuzzy #~ msgid "Enable _tray icon" #~ msgstr "Vis ikon i systemkurv" #, fuzzy #~ msgid "_Server:" #~ msgstr "_Tjener:" #~ msgid "drivel-add-friend" #~ msgstr "driver-add-friend" #~ msgid "Sign _Up..." #~ msgstr "Registrer _deg..." #~ msgid "What's a LiveJournal?" #~ msgstr "Hva er LiveJournal?" #, fuzzy #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "Søren også, det er en feil på tjeneren. Prøv igjen senere." #, fuzzy #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "Søren også, det er en feil på tjeneren. Prøv igjen senere." #~ msgid "_Show Entry" #~ msgstr "Vi_s oppføring" #~ msgid "Please enter a journal server address." #~ msgstr "Skriv adresse for dagboktjeneren." #~ msgid "Custom..." #~ msgstr "Egendefinert..." #~ msgid "Journal Server" #~ msgstr "Dagboktjener" #~ msgid "Server Options" #~ msgstr "Tjeneralternativer" #~ msgid "Network" #~ msgstr "Nettverk" #~ msgid "_Traditional (POST) interface" #~ msgstr "_Tradisjonelt (POST) grensesnitt" #~ msgid "_XML-RPC interface" #~ msgstr "_XML-RPC-grensesnitt" #~ msgid "You must enter your username first." #~ msgstr "Du må skrive ditt brukernavn først." #~ msgid "LiveJournal Entry" #~ msgstr "LiveJournal oppføring" #, fuzzy #~ msgid "drivel-update" #~ msgstr "driver-add-friend" #~ msgid "Close _without Saving" #~ msgstr "Lukk _uten å lagre" #~ msgid "Proceed _without Saving" #~ msgstr "Fortsett _uten å lagre" drivel-3.0.5/po/el.po0000644000175000017500000011104611731016426011307 00000000000000# translation of el.po to Greek # This file is distributed under the same license as the PACKAGE package. # Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER. # # Kostas Papadimas , 2005, 2007. # MPELLAS , 2007. # MPELLAS MICHAIL , 2007. msgid "" msgstr "" "Project-Id-Version: el\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2009-09-09 23:32+0200\n" "Last-Translator: Kostas Papadimas \n" "Language-Team: Greek \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);X-Generator: KBabel 1.11.4\n" "X-Generator: KBabel 1.11.4\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "Ο συνδεδεμένος χρήστης" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "Λίστα των ονομάτων χρήστη που χρησιμοποιήθηκαν σε αυτόν τον υπολογιστή" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "Ο αριθμός τοπικά αποθηκευμένων καταστάσεων" #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "Μια λίστα συναισθημάτων για το μενού του drivel." #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Κειμενογράφος ημερολογίου Drivel" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Κειμενογράφος Ημερολογίου" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Ενημερώστε και διαχειριστείτε το online ημερολόγιο σας" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Πρόχειρη καταχώριση ημερολογίου" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "Mixalis Mpellas " #: ../src/about.c:85 msgid "With help from:" msgstr "Με λίγη βοήθεια από:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "Και πολλούς άλλους--Ευχαριστούμε" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "Μια εφαρμογή για ημερολόγια στο διαδίκτυο για το GNOME." #: ../src/about.c:108 msgid "Homepage:" msgstr "Αρχική σελίδα:" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Σφάλμα εξυπηρετητή" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "Η απάντηση του εξυπηρετητή δεν περιείχε έγκυρη απόκριση Atom." #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "Άγνωστο σφάλμα" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "Σφάλμα κατά την δημοσίευση " #: ../src/blog_lj.c:290 msgid "default" msgstr "προεπιλογή" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Κανένα" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Χωρίς σύνδεση" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Καμία δημοσίευση]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Προεπιλογή συστήματος" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Λείπει το όνομα χρήστη" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Παρακαλώ εισάγετε ένα όνομα χρήστη για προσθήκη" #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Δημόσιο" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Ιδιωτικό" #: ../src/dialogs.c:809 msgid "Community" msgstr "Κοινότητα" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Syndicated Feed" #: ../src/dialogs.c:813 msgid "User" msgstr "Χρήστης" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Προσθήκη φίλου" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "Όνομα χρήστη _Φίλου" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "_Χρώμα κειμένου:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "Χρώμα _παρασκηνίου:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "Αδυναμία εκτέλεσης της λειτουργίας αρχείου" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "Αδυναμία ανοίγματος του επιλεγμένου αρχείου" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "Αποθήκευση του περιεχομένου αυτής της καταχώρισης πριν το κλείσιμο;" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "" "Αν δεν αποθηκεύσετε, το περιεχόμενο αυτής της καταχώρισης θα χαθεί οριστικά." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "Αποθήκευση των αλλαγών σε αυτή την καταχώριση πριν το κλείσιμο;" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "" "Αν δεν αποθηκεύσετε, τις αλλαγές που έγιναν στο έγγραφο, θα χαθούν οριστικά." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Ώρα" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Καταχώριση ημερολογίου" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Τύπος" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Σύνδεσμος" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Όνομα Χρήστη" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Όνομα" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "Διαθέσιμος" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "Σε ομάδα" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Άνοιγμα μιας μη ολοκληρωμένης καταχώρισης ημερολογίου" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Εναλλαγή ονόματος χρήστη" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "Εκκα_θάριση καταχώρισης" #: ../src/drivel-gtk.glade.h:5 msgid "Preferences" msgstr "Προτιμήσεις" #: ../src/drivel-gtk.glade.h:6 msgid "Highlight Spelling Errors" msgstr "Επισήμανση ορθογραφικών λαθών" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "_Βοήθεια" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "Π_ερί" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Θέμα:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "Ασ_φάλεια:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Κατάσταση:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "Mο_υσική:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "Ετι_κέτες:" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "Α_πενεργοποίηση σχολίων" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "Απαγόρευση σχολίων σε αυτή τη δημοσίευση" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Όχι αυτόματη μορφοποίηση κειμένου" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "Όχι αυτόματη μετατροπή των κενών χαρακτήρων ή των δεσμών σε HTML tags" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "Προηγούμενη _ημερομηνία:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "" "Σήμανση των επιλεγμένων μηνυμάτων ως προς δημοσίευση την επιλεγμένη " "ημερομηνία" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "Εικό_να:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "_Κατηγορία:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Εμφάνιση περισσότερων ε_πιλογών" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Διαγραφή της επιλεγμένης καταχώρισης ημερολογίου." #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "Αποθήκευση _προχείρου" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Αποθήκευση της τρέχουσας καταχώρισης χωρίς να προστεθεί στο ημερολόγιο" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "_Ενημέρωση" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Ενημέρωση της επιλεγμένης καταχώρισης στο ημερολόγιο σας" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Δημοσίευση:" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Δημοσίευση της τρέχουσας καταχώρισης στο ημερολόγιο σας" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Ε_ισαγωγή ψηφοφορίας" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "Ό_νομα ψηφοφορίας (προαιρετικό):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "Ψηφοφόρο_ι:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "Αποτελέσ_ματα ορατά από:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Ερωτήσεις:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "Προσθήκη ε_ρώτησης" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "Προσθήκη _απάντησης" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "Πάνω" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Τύπος:" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "Ε_ρώτηση:" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "Μέγεθος πεδίου κειμένου (προαιρετικό):" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "Μέγιστο _μήκος κειμένου (προαιρετικό):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_Από:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "Προς:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "Από:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "Απάν_τηση" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "_Εισαγωγή" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Προτιμήσεις Drivel" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "Συμπεριφορά καταχώρισης" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Ελαχιστοποίηση μετά τη _σύνδεση" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "Αυτόματη ελαχιστοποίηση παραθύρου μετά τη σύνδεση" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Ελαχιστοποίηση μετά τη _δημοσίευση" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "Αυτόματη ελαχιστοποίηση παραθύρου μετά τη δημοσίευση" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "Επι_σήμανση HTML στην δημοσίευση" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "" "Εμφάνιση των λέξεων-κλειδιών της HTML σε διαφορετικά χρώματα από το κανονικό " "κείμενο" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Υπογράμμιζε τις ανορθόγραφες _λέξεις" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "Οι υπογραμμισμένες λέξεις δεν βρέθηκαν στο λεξικό του υπολογιστή σας" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "_Λεξικό:" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "Περιοχή ειδοποίησης" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "Ειδοποίηση για νέες δημοσιεύσεις φίλων" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Εμφάνιση ειδοποίησης όταν ανανεώνεται η σελίδα ενός φίλου σας\n" " (Επί Πληρωμή- Μόνο για χρήστες LiveJournal)" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "Δημοσίευση" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "Ειδοποίηση του _Technorati για νέες δημοσιεύσεις" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" "Ειδοποιήστε την δημοφιλή μηχανή αναζήτησης Technorati για νέες δημοσιεύσεις" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "Ιδιότητες γραμματοσειράς" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "Χρήση προεπιλεγμένης _γραμματοσειράς θέματος" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "Γραμματοσειρά επεξεργαστή:" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Γενικά" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "Προεπιλεγμένες επιλογές δημοσίευσης" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "Όχι αυτόματη μετατροπή των κενών χαρακτήρων σε HTML tags" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Προεπιλογές δημοσίευσης" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Σύνδεση" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "Ό_νομα χρήστη:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "Κ_ωδικός:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "_Αυτόματη σύνδεση" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "Απο_μνημόνευση κωδικού" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "_Τύπος ημερολογίου:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "Διεύ_θυνση εξυπηρετητή:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "_Εργασία χωρίς σύνδεση" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "Εί_σοδος" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Επεξεργασία ιστορικού" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Επεξεργασία" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Επεξεργασία φίλων" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "Εμφάνιση _ημερολογίου" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "Λεπτομέρειες" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Όνομα χρήστη:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Τύπος ημερολογίου:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "_Χρώμα κειμένου:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Χρώμα παρασκηνίου:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Επιλογή χρώματος κειμένου " #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Επιλογή χρώματος παρασκηνίου " #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Εισαγωγή δεσμού" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "_Κείμενο:" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "Δημιουργία δεσμού σε..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "Μια _ιστοσελίδα στο διαδίκτυο" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "_Τοποθεσία:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "Παράδειγμα:" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "Άλλος χρήστης Live_Journal" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "Περισσότερα" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "Ε_ισαγωγή δεσμού..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Εισαγωγή εικόνας" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "Εικόνα" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "Γνωρίσματα (Προαιρετικά)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "Ύ_ψος:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Πλάτος:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Περιγραφή:" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "Εισαγωγή _εικόνας..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "Ομάδες ασφαλείας" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "Ομάδες" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "Λεπτομέρειες ομάδας" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "Ό_νομα" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "_Σειρά" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "Δη_μόσιο" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Όλοι οι χρήστες" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Φίλοι" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Κείμενο" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Διάλογος επιλογής" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Επιλογή Radiobox" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Επιλογή Checkbox" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Καταχώρηση κειμένου" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Κλίμακα" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "Άνοιγμα του επιλεγμένου μηνύματος για επεξεργασία" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "Ανανέωση της λίστας" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "%s's Ημερολόγιο - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "Η %s Κοινότητα - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Χωρίς σύνδεση - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Άνοιγμα προχείρου" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Όλα τα αρχεία XML" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "Πρόχειρες δημοσιεύσεις drivel" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Αποθήκευση προχείρου" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Επιλέξτε έναν λογαριασμό" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "Οι προτιμήσεις εφαρμόζονται σε κάθε λογαριασμό ξεχωριστά γι' αυτό θα πρέπει " "να επιλέξετε τον δικό σας λογαριασμό, προκειμένου να επεξεργαστείτε τις " "προτιμήσεις σας." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Επιλέξτε ένα ημερολόγιο για να κάνετε δημοσίευση" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "Ημερο_λόγιο" #: ../src/journal.c:3374 msgid "_View" msgstr "_Προβολή" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Μορφοποίηση" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "Δεσ_μοί στο διαδίκτυο" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "_Βοήθεια" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "Ά_νοιγμα προχείρου..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "Αποθήκευση _προχείρου" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Αποθήκευση προχείρου ω_ς..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "Πρόσ_φατες καταχωρίσεις" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "Πρόσφατα _πρόχειρα" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "_Δημοσίευση καταχώρισης" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "Ενη_μέρωση καταχώρισης" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "_Διαγραφή καταχώρισης" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "Α_ποσύνδεση" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "Εκκα_θάριση καταχώρισης" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Επιλογή ό_λων" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "Τε_λευταία καταχώριση" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Επεξεργασία της τελευταίας σας καταχώρισης " #: ../src/journal.c:3393 msgid "_Friends" msgstr "_Φίλοι" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Επεξεργασία λίστας φίλων" #: ../src/journal.c:3394 msgid "_History" msgstr "_Ιστορικό" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Προβολή ή επεξεργασία δημοσίευσης" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" "Επεξεργαστείτε συγκεκριμένες ομάδες ανθρώπων που μπορούν να διαβάσουν τις " "δημοσιεύσεις σας" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "Ενεργό Ημερολόγιο" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "Εκ_θέτης" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "_Δείκτης" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "Λίσ_τα" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "Προβολή αντικει_μένου" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "Εσοχή κειμένου" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Εισαγωγή _δεσμού..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Δημιουργία συνδέσμου σε μια ιστοσελίδα, έναν χρήστη livejournal ή μια " "δημοσίευση " #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Εισαγωγή εικό_νας..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Εισαγωγή εικόνας στη δημοσίευση" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Εισαγωγή _ψηφοφορίας..." #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "_Περιεχόμενα" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "Συχνές ε_ρωτήσεις" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "Π_ερί" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Περισσότερες επιλο_γές" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "Επισήμανση ορ_θογραφικών λαθών" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "Επισήμανση _HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "Λάθος όνομα χρήστη" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Το όνομα χρήστη περιέχει μη έγκυρους χαρακτήρες" #: ../src/login.c:929 msgid "Remove Account" msgstr "Διαγραφή λογαριασμού" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Προτιμήσεις" #: ../src/login.c:1139 msgid "Drafts" msgstr "Πρόχειρα" #: ../src/main.c:58 msgid "Error" msgstr "Σφάλμα" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "Υπήρξε σφάλμα στον εξυπηρετητή. Προσπαθήστε ξανά." #: ../src/main.c:351 msgid "Friends Only" msgstr "Μόνο φίλοι" #: ../src/main.c:767 msgid "Display debugging output" msgstr "Εμφάνιση αποτελέσματος εκσφαλμάτωσης" #: ../src/main.c:770 msgid "file" msgstr "αρχείο" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Αποτυχία αρχικοποίησης GConf: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Αδυναμία αρχικοποίησης GnomeVFS!\n" #: ../src/network.c:64 msgid "Done" msgstr "Ολοκληρώθηκε" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "Σύνδεση..." #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "Λήψη εικόνων χρηστών" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "Η καταχώριση του ημερολογίου δημοσιεύεται" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "Η καταχώριση του ημερολογίου ενημερώνεται" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "Ανάκτηση δημοσιεύσεων" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "Ανάκτηση ιστορικού" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "Η λίστα φίλων ενημερώνεται" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "Ανάκτηση λίστας φίλων...παρακαλώ περιμένετε." #: ../src/network.c:113 msgid "Retrieving categories" msgstr "Ανάκτηση κατηγοριών" #: ../src/network.c:118 msgid "Setting categories" msgstr "Ρυθμίζονται οι κατηγορίες" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "Η καταχώριση του ημερολογίου έχει δημοσιευτεί" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "Διαγραφή καταχώρισης ημερολογίου" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "Ειδοποίηση του Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "Ανάκτηση ομάδων ασφαλείας" #: ../src/network.c:143 msgid "Updating security groups" msgstr "Ενημέρωση ομάδων ασφαλείας" #: ../src/network.c:315 msgid "Network connection failed" msgstr "Αποτυχία σύνδεσης στο δίκτυο" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "Αδυναμία κατανόησης της απάντησης του εξυπηρετητή" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Δεν αναπαράγεται κανένα τραγούδι" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "Προ_βολή σελίδας φίλων" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "_Αφαίρεση από το tray" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Χωρίς τίτλο" #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "Αποθήκευση αλλαγών πριν να προχωρήσετε;" #, fuzzy #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "Παράδειγμα: http://gnome.org/pic.png" #, fuzzy #~ msgid "Example: http://www.gnome.org" #~ msgstr "Παράδειγμα: http://www.gnome.org" #~ msgid "Retrieving user information" #~ msgstr "Λήψη πληροφοριών χρήστη" #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "Παρακαλώ περιμένετε...Εκτελείται μια απροσδιόριστη εργασία" #~ msgid "Sending / Receiving" #~ msgstr "Αποστολή/Λήψη" #~ msgid "_Add..." #~ msgstr "Προσ_θήκη..." #~ msgid "_Edit..." #~ msgstr "_Επεξεργασία..." #~ msgid "Save _Draft" #~ msgstr "Αποθήκευση _προχείρου" #~ msgid "_Don't Save" #~ msgstr "_Να μη γίνει αποθήκευση" #~ msgid "Groups" #~ msgstr "Ομάδες" #~ msgid "Image" #~ msgstr "Εικόνα" #~ msgid "Link" #~ msgstr "Δεσμός" #~ msgid "Display flags" #~ msgstr "Προβολή σελιδοδεικτών" #~ msgid "Displayed date and/or time properties" #~ msgstr "Ιδιότητες εμφανιζόμενης ημερομηνίας και/ή ώρας" #~ msgid "Lazy mode" #~ msgstr "Τεμπέλικη λειτουργία" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "" #~ "Η Τεμπέλικη λειτουργία δεν βελτιστοποιεί τις εισηγμένες τιμές για την " #~ "ημερομηνία και την ώρα" #~ msgid "Year" #~ msgstr "Έτος" #~ msgid "Displayed year" #~ msgstr "Εμφανιζόμενο έτος" #~ msgid "Month" #~ msgstr "Μήνας" #~ msgid "Displayed month" #~ msgstr "Εμφανιζόμενος μήνας" #~ msgid "Day" #~ msgstr "Ημέρα" #~ msgid "Displayed day of month" #~ msgstr "Εμφανιζόμενη ημέρα" #~ msgid "Hour" #~ msgstr "Ώρα" #~ msgid "Displayed hour" #~ msgstr "Εμφανιζόμενη ώρα>" #~ msgid "Minute" #~ msgstr "Λεπτό" #~ msgid "Second" #~ msgstr "Δευτερόλεπτο" #~ msgid "Displayed second" #~ msgstr "Εμφανιζόμενο Δευτερόλεπτο" #~ msgid "Lower limit year" #~ msgstr "Κατώτερο όριο έτους" #~ msgid "Year part of the lower date limit" #~ msgstr "Κατώτερο όριο έτους για την ημερομηνία" #~ msgid "Upper limit year" #~ msgstr "Ανώτερο όριο έτους" #~ msgid "Year part of the upper date limit" #~ msgstr "Ανώτερο όριο έτους για την ημερομηνία" #~ msgid "Lower limit month" #~ msgstr "Κατώτερο όριο μήνα" #~ msgid "Month part of the lower date limit" #~ msgstr "Κατώτερο όριο μήνα για την ημερομηνία" #~ msgid "Upper limit month" #~ msgstr "Ανώτερο όριο μήνα για την ημερομηνία" #~ msgid "Month part of the upper date limit" #~ msgstr "Ανώτερο όριο μήνα για την ημερομηνία" #~ msgid "Lower limit day" #~ msgstr "Κατώτερο όριο ημέρας" #~ msgid "Day of month part of the lower date limit" #~ msgstr "Κατώτερο όριο ημέρας για την ημερομηνία" #~ msgid "Upper limit day" #~ msgstr "Ανώτερο όριο ημέρας" #~ msgid "Day of month part of the upper date limit" #~ msgstr "Ανώτερο όριο ημέρας για την ημερομηνία" #~ msgid "Lower limit hour" #~ msgstr "Κατώτερο όριο ώρας" #~ msgid "Hour part of the lower time limit" #~ msgstr "Κατώτερο όριο ώρας για την ώρα" #~ msgid "Upper limit hour" #~ msgstr "Ανώτερο όριο ώρας" #~ msgid "Hour part of the upper time limit" #~ msgstr "Ανώτερο όριο ημέρας για την ώρα" #~ msgid "Lower limit minute" #~ msgstr "Κατώτερο όριο λεπτού" #~ msgid "Minute part of the lower time limit" #~ msgstr "Κατώτερο όριο λεπτού για την ώρα" #~ msgid "Upper limit minute" #~ msgstr "Ανώτερο όριο λεπτού" #~ msgid "Minute part of the upper time limit" #~ msgstr "Ανώτερο όριο λεπτού για την ώρα" #~ msgid "Lower limit second" #~ msgstr "Κατώτερο όριο δευτερολέπτου" #~ msgid "Second part of the lower time limit" #~ msgstr "Κατώτερο όριο δευτερολέπτου για την ώρα" #~ msgid "Upper limit second" #~ msgstr "Ανώτερο όριο δευτερολέπτου" #~ msgid "Second part of the upper time limit" #~ msgstr "Ανώτερο όριο δευτερολέπτου για την ώρα" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:1" #~ msgid "Date" #~ msgstr "Ημερομηνία" #~ msgid "Enter the date directly" #~ msgstr "Εισάγετε χειροκίνητα την ημερομηνία " #~ msgid "Select Date" #~ msgstr "Επιλογή ημερομηνίας" #~ msgid "Select the date from a calendar" #~ msgstr "Επιλογή της ημερομηνίας από το ημερολόγιο" #~ msgid "Enter the time directly" #~ msgstr "Εισάγεται χειροκίνητα την ώρα " #~ msgid "Select Time" #~ msgstr "Επιλογή ώρας" #~ msgid "Select the time from a list" #~ msgstr "Επιλέξτε την ώρα από τη λίστα" #~ msgid "24hr: no" #~ msgstr "24hr: no" #~ msgid "AM" #~ msgstr "π.μ." #~ msgid "PM" #~ msgstr "μ.μ." #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%02d:%02d:%02d %s" #~ msgid "%02d:%02d %s" #~ msgstr "%02d:%02d %s" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d:%02d:%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d:%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "(%04d-%02d-%02d απομένουν)" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "Προσανατολισμός" #~ msgid "The orientation of the tray." #~ msgstr "Ο προσανατολισμός του συρταριού." drivel-3.0.5/po/lt.po0000644000175000017500000007032311731016426011330 00000000000000# Lithuanian translation of Drivel. # Copyright (C) 2005 Free Software Foundation, Inc. # This file is distributed under the same license as the Drivel package. # Žygimantas Beručka , 2005. # # # msgid "" msgstr "" "Project-Id-Version: Drivel 2.0.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2005-11-11 01:09+0200\n" "Last-Translator: Žygimantas Beručka \n" "Language-Team: Lithuanian \n" "Language: lt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "Šiuo metu prisijungęs naudotojas." #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "Anksčiau šiame kompiuteryje naudotų žurnalų vartotojų vardų sąrašas." #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "Šiame kompiuteryje saugomų nuotaikų skaičius." #: ../data/drivel.schemas.in.h:4 #, fuzzy msgid "A list of moods for the drivel menu." msgstr "GtlCombo meniu nuotaikų sąrašas." #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Žurnalų redaktorius Drivel" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Žurnalų redaktorius" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Atnaujinti ir valdyti Jūsų internetiniam žurnalui" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Juodraštinis žurnalo įrašas" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "Žygimantas Beručka " #: ../src/about.c:85 msgid "With help from:" msgstr "Su jų pagalba:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "Ir daugelis kitų, ačiū jums visiems!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "Žurnalų klientas GNOME darbo aplinkai." #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Serverio klaida" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "Serveris negrąžino tinkamo Atom atsako." #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "" #: ../src/blog_atom.c:411 #, fuzzy msgid "Error Posting Entry" msgstr "_Publikuoti įrašą" #: ../src/blog_lj.c:290 msgid "default" msgstr "numatytasis" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Nėra" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Atsijungęs" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Nėra žurnalo įrašų]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Sistemos numatytasis" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Trūksta naudotojo vardo" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Įveskite pridėtiną naudotojo vardą." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Viešas" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Privatus" #: ../src/dialogs.c:809 msgid "Community" msgstr "Bendruomenės" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Sindikuotas kanalas" #: ../src/dialogs.c:813 msgid "User" msgstr "Naudotojas" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Pridėti draugą" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "_Draugo naudotojo vardas:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "_Teksto spalva:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "_Fono spalva:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "Nepavyko atlikti bylos operacijos" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "Nepavyko atverti pažymėtos bylos" #: ../src/dialogs.c:1323 #, fuzzy msgid "Save the content of this journal entry instead of clearing?" msgstr "Prieš užveriant išsaugoti šį žurnalo įrašą?" #: ../src/dialogs.c:1324 #, fuzzy msgid "If you don't save, content of this entry will be discarded." msgstr "Jei neišsaugosite, šio įrašo pakeitimai bus prarasti." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "Prieš užveriant išsaugoti šį žurnalo įrašą?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "Jei neišsaugosite, šio įrašo pakeitimai bus prarasti." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Laikas" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Žurnalo įrašas" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Tipas" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Nuoroda" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Naudotojo vardas" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Vardas" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "Prieinamas" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "Grupėje" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Atverti nebaigtą žurnalo įrašą" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Pakeisti naudotojo vardus" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "Išva_lyti įrašą" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "_Nustatymai" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "Paryškinti _rašybos klaidas" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "_Pagalba" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "_Apie" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Tema:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "Sau_gumas:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Nuotaika:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "M_uzika:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "Išju_ngti komentarus" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "Neleisti naudotojams komentuoti šio įrašo" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Neformuoti _teksto automatiškai" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "Nekonvertuoti naujų eilučių ar svetainės nuorodų į HTML žymes automatiškai" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "Praeities d_ata:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "Pažymėti įrašą kaip publikuotą Jūsų pasirinkta data" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "Pa_veikslėlis:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "Ka_tegorija:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Rodyti daugiau _nustatymų" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Ištrinti pasiriktą Jūsų žurnalo įrašą" #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "Iš_saugoti juodraštį" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Išsaugoti šį įrašą neįdedant jo į Jūsų žurnalą" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "_Atnaujinti" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Atnaujinti pasirinktą Jūsų žurnalo įrašą" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Publikuoti" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Publikuoti šį įrašą į Jūsų žurnalą" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Įterpti balsavimą" #: ../src/drivel-gtk.glade.h:35 #, fuzzy msgid "Poll _name (optional):" msgstr "Balsavimo _pavadinimas (nebūtina):" #: ../src/drivel-gtk.glade.h:36 #, fuzzy msgid "Voter_s:" msgstr "Balsu_otojai:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Rezultatai matomi:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Klausimai:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "Pridėti _klausimą" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "Pridėti _atsakymą" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "Ti_pas:" #: ../src/drivel-gtk.glade.h:43 #, fuzzy msgid "Qu_estion:" msgstr "Kla_usimas:" #: ../src/drivel-gtk.glade.h:44 #, fuzzy msgid "Text _field size (optional):" msgstr "Teksto _laukelio dydis (nebūtina):" #: ../src/drivel-gtk.glade.h:45 #, fuzzy msgid "Maximum text _length (optional):" msgstr "Maksimalus teksto i_lgis (nebūtina):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "Atsak_ymas:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "Į_terpti" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Drivel nustatymai" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr "Įrašo elgsena" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Prisijungus su_mažinti" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "Prisijungus automatiškai sumažinti žurnalo langą" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Publikavus s_umažinti" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "Publikavus įrašą automatiškai sumažinti žurnalo langą" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "_Paryškinti HTML žurnalo įraše" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "Rodyti HTML raktažodžius kitokiomis spalvomis nei normalų tekstą" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Paryškinti neteisingai parašytus ž_odžius" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "Paryškinti žodžius nerastus Jūsų kompiuterio žodyne" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "Žo_dynas:" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr "Pranešimų vieta" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "Įspėti apie _draugų atnaujinimus" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Parodyti pranešimą, kai atnaujinamas Jūsų draugų puslapis\n" "(tik naudotojams mokantiems už LiveJournal paslaugas)" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr "Publikavimas" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "Įspėti _Technorati apie atnaujinimus" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" "Įspėti populiarų žurnalų paieškos variklį Technorati apie naujus įrašus" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Bendri" #: ../src/drivel-gtk.glade.h:73 #, fuzzy msgid "Default Post Options" msgstr "Numatytieji įrašo nustatymai" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "Nekonvertuoti naujų eilučių į HTML žymes automatiškai" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Įrašo numatytieji" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Prisijungimas prie žurnalo" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_Naudotojo vardas:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Slaptažodis:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "Prisijungti _automatiškai" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_Atsiminti slaptažodį" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "Žurnalo _tipas:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "_Serverio adresas:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "Dirbti _atsijungus" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "_Prisijungti" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Redaguoti istoriją" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Keisti" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Redaguoti draugus" #: ../src/drivel-gtk.glade.h:88 #, fuzzy msgid "_View journal" msgstr "Ž_urnalas" #: ../src/drivel-gtk.glade.h:89 #, fuzzy msgid "Details" msgstr "Detalės" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Naudotojo vardas:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Žurnalo tipas:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Teksto spalva:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Fono spalva:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Pasirinkite teksto spalvą" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Pasirinkite fono spalvą" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Įterpti nuorodą" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "T_ekstas:" #: ../src/drivel-gtk.glade.h:99 #, fuzzy msgid "Create a link to..." msgstr "Sukurti nuorodą į..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "_svetainė Internete" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "_Vieta:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "kitas Live_Journal naudotojas" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "_likusi šio įrašo dalis" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "Įterpti nuorodą..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Įterpti paveikslėlį" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 #, fuzzy msgid "Attributes (Optional)" msgstr "Atributai (nebūtina)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Aukštis:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Plotis:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Aprašymas:" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "Įterpti paveikslėlį..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "Saugumo grupės" #: ../src/drivel-gtk.glade.h:116 #, fuzzy msgid "Groups" msgstr "Grupėje" #: ../src/drivel-gtk.glade.h:117 #, fuzzy msgid "Group Details" msgstr "Grupės detalės" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "_Vardas:" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "_Tvarka" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "_Viešas" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Visi naudotojai" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Draugai" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Tekstas" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Žemyn išskleidžiamas sąrašas" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Pasirinkimas žymimąja akute" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Pasirinkimas žymimosiomis varnelėmis" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Teksto įvedimas" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Skalė" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "Atverti šį įrašą redagavimui" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "Atnaujinti šį sąrašą" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "%s žurnalas - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "%s bendruomenė - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Atsijungęs - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - Atverti juodraštį" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Visos XML bylos" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Išsaugoti juodraštį" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Pasirinkite žurnalo abonementą" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "Nustatymai pritaikomi kiekvienam abenementui atskirai, taigi, norint keisti " "jo nustatymus pirmiausiai reikia jį pasirinkti." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Pasirinkite žurnalą į kurį publikuoti" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "Ž_urnalas" #: ../src/journal.c:3374 msgid "_View" msgstr "_Vaizdas" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Formatas" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "_Internetinės nuorodos" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "_Pagalba" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Atverti juodraštį..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "Iš_saugoti juodraštį" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Išs_augoti juodraštį kaip..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "_Paskutinieji įrašai" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "Paskutinieji juo_draščiai" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "_Publikuoti įrašą" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "_Atnaujinti įrašą" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "_Ištrinti įrašą" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Atsijungti" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "Išva_lyti įrašą" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Pažymėti _viską" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "Paskutinis į_rašas" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Redaguoti paskutinį publikuotą įrašą" #: ../src/journal.c:3393 msgid "_Friends" msgstr "_Draugai" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Redaguoti Jūsų draugų sąrašą" #: ../src/journal.c:3394 msgid "_History" msgstr "_Istorija" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Žiūrėti arba redaguoti senesnius įrašus" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "Redaguoti specifines žmonių galinčių skaityti Jūsų įrašus grupes" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "Akt_yvus žurnalas" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "" #: ../src/journal.c:3404 #, fuzzy msgid "Lis_t" msgstr "_Sąrašas" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "Sąrašo pun_ktas" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "_Atitraukimas" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Įterpti _nuorodą..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Sukurti nuorodą į svetainę, livejournal naudotoją arba ilgą žurnalo įrašą" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Įterpti pa_veikslėlį..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Įterpti paveikslėlį į Jūsų žurnalo įrašą" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Įterpti _balsavimą..." #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "_Turinys" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "_Dažniausiai užduodami klausimai" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "_Apie" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Daugiau įrašo _nustatymų" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "Paryškinti _rašybos klaidas" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "Paryškinti _HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "Blogas naudotojo vardas" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Naudotojo varde yra neleistinų simbolių." #: ../src/login.c:929 msgid "Remove Account" msgstr "Pašalinti abonementą" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Nustatymai" #: ../src/login.c:1139 msgid "Drafts" msgstr "Juodraščiai" #: ../src/main.c:58 msgid "Error" msgstr "Klaida" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "Serverio klaida. Pabandykite vėliau." #: ../src/main.c:351 msgid "Friends Only" msgstr "Tik draugai" #: ../src/main.c:767 #, fuzzy msgid "Display debugging output" msgstr "Rodoma minutė" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Nepavyko inicializuoti GConf: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Nepavyko inicializuoti GnomeVFS!\n" #: ../src/network.c:64 #, fuzzy msgid "Done" msgstr "Nėra" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "Atsiunčiami naudotojo paveikslėliai" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "Publikuojamas žurnalo įrašas" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "Atnaujinamas žurnalo įrašas" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "Gaunami žurnalo įrašai" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "Gaunama žurnalo istorija" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "Atnaujinamas draugų sąrašas" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "Gaunamas draugų sąrašas" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "Gaunamos kategorijos" #: ../src/network.c:118 msgid "Setting categories" msgstr "Nustatomos kategorijos" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "Publikuojamas žurnalo įrašas" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "Trinamas žurnalo įrašas" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "Perspėjamas Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "Gaunamos saugumo grupės" #: ../src/network.c:143 msgid "Updating security groups" msgstr "Atnaujinamos saugumo grupės" #: ../src/network.c:315 msgid "Network connection failed" msgstr "" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Negrojama jokia daina" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "Žiū_rėti draugų puslapį" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "_Pašalinti iš skydelio" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Nepavadinta" #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "Prieš tęsiant išsaugoti šį žurnalo įrašą?" #, fuzzy #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "Pavyzdys: http://gnome.org/pav.png" #, fuzzy #~ msgid "Example: http://www.gnome.org" #~ msgstr "Pavyzdys: http://www.gnome.org" #~ msgid "Retrieving user information" #~ msgstr "Gaunama naudotojo informacija" #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "Kažkas daroma, bet tiksliai nežinoma kas" #~ msgid "Sending / Receiving" #~ msgstr "Siunčiama / gaunama" #~ msgid "_Add..." #~ msgstr "_Pridėti..." #~ msgid "_Edit..." #~ msgstr "_Keisti..." #~ msgid "Save _Draft" #~ msgstr "Išsaugoti juo_draštį" #~ msgid "_Don't Save" #~ msgstr "_Nesaugoti" #~ msgid "Groups" #~ msgstr "Grupės" #~ msgid "Image" #~ msgstr "Paveikslėlis" #~ msgid "Link" #~ msgstr "Nuoroda" #~ msgid "Display flags" #~ msgstr "Rodyti žymes" #~ msgid "Displayed date and/or time properties" #~ msgstr "Rodomos datos ir/ar laiko savybės" #~ msgid "Lazy mode" #~ msgstr "Tinginio režimas" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "Tinginio režime įvestos datos ir laiko reikšmės nenormalizuojamos" #~ msgid "Year" #~ msgstr "Metai" #~ msgid "Displayed year" #~ msgstr "Rodomi metai" #~ msgid "Month" #~ msgstr "Mėnuo" #~ msgid "Displayed month" #~ msgstr "Rodomas mėnuo" #~ msgid "Day" #~ msgstr "Diena" #~ msgid "Displayed day of month" #~ msgstr "Rodoma mėnesio diena" #~ msgid "Hour" #~ msgstr "Valanda" #~ msgid "Displayed hour" #~ msgstr "Rodoma valanda" #~ msgid "Minute" #~ msgstr "Minutė" #~ msgid "Second" #~ msgstr "Sekundė" #~ msgid "Displayed second" #~ msgstr "Rodoma sekundė" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:1" #~ msgid "Date" #~ msgstr "Data" #~ msgid "Enter the date directly" #~ msgstr "Įveskti datą tiesiogiai" #~ msgid "Select Date" #~ msgstr "Pasirinkti datą" #~ msgid "Select the date from a calendar" #~ msgstr "Pasirinkti datą iš kalendoriaus" #~ msgid "Enter the time directly" #~ msgstr "Įvesti datą tiesiogiai" #~ msgid "Select Time" #~ msgstr "Pasirinkti laiką" #~ msgid "Select the time from a list" #~ msgstr "Pasirinkti laiką iš sąrašo" #~ msgid "24hr: no" #~ msgstr "24hr: yes" #~ msgid "AM" #~ msgstr "AM" #~ msgid "PM" #~ msgstr "PM" #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%02d:%02d:%02d %s" #~ msgid "%02d:%02d %s" #~ msgstr "%02d:%02d %s" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d:%02d:%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d:%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d-%02d-%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "Orientacija" #~ msgid "The orientation of the tray." #~ msgstr "Skydelio orientacija." #~ msgid "Communication Error" #~ msgstr "Komunikacijos klaida" #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "Siunčiant informaciją į serverį iškilo klaida. Pabandykite vėliau." #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "Gaunant informaciją iš serverio iškilo klaida. Pabandykite vėliau." drivel-3.0.5/po/POTFILES.in0000644000175000017500000000103311552103112012104 00000000000000# List of source files containing translatable strings. # Please keep this file sorted alphabetically. data/drivel.schemas.in data/gnome-drivel.desktop.in data/mime/drivel.keys.in data/mime/drivel.xml.in src/about.c src/atom.c src/blog_advogato.c src/blog_atom.c src/blog_blogger.c src/blog_lj.c src/blog_mt.c src/blog_offline.c src/dialogs.c src/drivel-gtk.glade src/drivel_request.c src/insert_poll_dialog.c src/journal.c src/login.c src/main.c src/msg_queue.c src/network.c src/query_music_players.c src/tray.c src/utils.c src/xmlrpc.c drivel-3.0.5/po/fr.po0000644000175000017500000007560611731016426011331 00000000000000# French translation of drivel. # Copyright (C) 2004-2006 The GNOME Foundation. # This file is distributed under the same license as the drivel package. # # Gareth Owen 2004. # David Lodge , 2004. # Jeff Coquery , 2006. # Jonathan Ernst , 2006. # Claude Paroz , 2007. # Julien Patriarca , 2012. msgid "" msgstr "" "Project-Id-Version: drivel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2012-02-20 13:12+0100\n" "Last-Translator: Julien Patriarca \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "L'utilisateur connecté en ce moment." #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" "Liste de tous les identifiants de journaux précédemment utilisés sur cette " "machine." #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "Le nombre d'humeurs stockées localement." #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "Une liste des humeurs pour le menu drivel" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Éditeur de journal Drivel" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Éditeur de journal" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Gérez et mettez à jour votre journal en ligne" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Brouillon de billet de journal" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "" "Gareth Owen \n" "David Lodge \n" "Coquery Jeff \n" "Jonathan Ernst \n" "Claude Paroz " #: ../src/about.c:85 msgid "With help from:" msgstr "Avec l'aide de :" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "Et beaucoup d'autres, merci à tout le monde !" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "Un client de journal pour le bureau GNOME." #: ../src/about.c:108 msgid "Homepage:" msgstr "Page d'accueil :" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Erreur serveur" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "Le serveur n'a pas retourné de réponse Atom valide." #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "Erreur inconnue" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "Erreur lors de la publication d'un billet" #: ../src/blog_lj.c:290 msgid "default" msgstr "par défaut" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Aucun" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Hors-ligne" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Aucun billet de journal]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Celui du système" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Nom d'utilisateur manquant" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Veuillez saisir un nom d'utilisateur à ajouter." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Public" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Privé" #: ../src/dialogs.c:809 msgid "Community" msgstr "Communauté" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Flux syndiqué" #: ../src/dialogs.c:813 msgid "User" msgstr "Utilisateur" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Ajouter un ami" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "_Nom de l'ami :" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "Couleur du _texte :" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "Couleur de l'arrière-_plan :" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "Impossible d'effectuer l'opération sur le fichier" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "Impossible d'ouvrir le fichier sélectionné" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "Enregistrer les modifications de ce billet au lieu de l'effacer ?" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "Si vous ne sauvegardez pas, le contenu de cette entrée sera perdu." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "Enregistrer les modifications de ce billet avant de fermer ?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "" "Si vous n'enregistrez pas, les modifications de ce billet seront perdues." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Temps" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Billet du journal" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Type" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Lien" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Nom d'utilisateur" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Nom" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "Disponible" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "Dans le groupe" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Ouvre un billet non terminé" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Changer de nom d'utilisateur" #: ../src/drivel-gtk.glade.h:4 msgid "Clear Entry" msgstr "Réinitialiser le billet" #: ../src/drivel-gtk.glade.h:5 msgid "Preferences" msgstr "Préférences" #: ../src/drivel-gtk.glade.h:6 msgid "Highlight Spelling Errors" msgstr "Souligner les erreurs d'orthographe" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "Gras" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "Italique" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "Souligné" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "Barrer" #: ../src/drivel-gtk.glade.h:11 msgid "Help" msgstr "Aide" #: ../src/drivel-gtk.glade.h:12 msgid "About" msgstr "À propos" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Sujet :" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "Sécurit_é :" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_Humeur :" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "M_usique :" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "Ta_gs :" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "Désactiver les comme_ntaires" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "Ne pas autoriser les utilisateurs à commenter ce billet" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Ne pas auto-formater le _texte" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "Ne pas analyser automatiquement les retours à la ligne ou liens vers des " "sites Web dans les balises HTML" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "D_ate passée :" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "Marquer le billet comme ayant été posté à la date sélectionnée" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "_Image :" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "Ca_tégorie :" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Afficher plus d'_options" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Supprime le billet sélectionné de votre journal." #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "Enregistrer le brouillon" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Enregistre le billet en cours sans l'ajouter à votre journal" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "Mise à jour" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Met à jour le billet sélectionné de votre journal" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "_Poster" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Poste le billet actuel vers votre journal" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Insérer un sondage" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "Nom du sondage (facultatif) :" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "Votant_s :" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "_Résultats visibles pour :" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Questions :" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "Ajouter une _question" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "Ajouter une _réponse" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "Monter" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Type :" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "Qu_estion :" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "Taille du champ texte (facultatif) :" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "Longueur de texte maximum (facultatif) :" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_Par :" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "Vers :" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "_Par :" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "_Réponse :" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "_Insérer" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Préférences de Drivel" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "Comportement des billets" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Minimiser après _la connexion" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "Minimiser automatiquement la fenêtre après la connexion" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Minimiser après l'_envoi" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "Minimiser automatiquement la fenêtre après avoir envoyé un billet" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "_Surligner le HTML dans le billet" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "Afficher les balises HTML dans une couleur différente" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Mettre en évidence les _mots mal écrits" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "Mettre en évidence les mots inconnus de votre dictionnaire actuel" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "_Dictionnaire :" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "Zone de notification" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "Signaler quand mes amis mettent à jour" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Afficher une alerte quand ma page d'ami est mise à jour\n" "(utilisateurs payant de LiveJournal uniquement)" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "Publication" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "Notifier _Technorati des mises à jour" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" "Signaler les nouveaux billets au moteur de recherche de journaux populaire " "Technorati" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "Propriétés de la police de caractère :" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "Utilise la police de caractères du thème par défaut :" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "Police de caractère de l'éditeur :" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Général" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "Options par défaut des billets" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "" "Ne pas analyser automatiquement les coupures de lignes dans les balises HTML" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Options par défaut des billets" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Connexion au journal" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "Nom d'_utilisateur :" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "Mot de _passe :" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "Connexion _automatique" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "Se souveni_r du mot de passe" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "_Type du journal :" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "Adresse du _serveur :" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "Travailler h_ors-ligne" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "_Connexion" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Éditer l'historique" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "É_dition" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Éditer les amis" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "_Afficher le journal" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "Détails" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Nom d'utilisateur :" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Type du journal :" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Couleur du texte :" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Couleur d'arrière-plan :" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Choisissez une couleur de texte" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Choisissez une couleur d'arrière-plan" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Insérer un lien" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "_Texte :" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "Créer un lien vers" #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "un _site sur Internet" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "_Emplacement :" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "Exemple :" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "un autre utilisateur de Live_Journal" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "le _reste de ce billet" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "Insérer un lien..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Insérer une image" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "Image :" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "Attributs (facultatif)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Hauteur :" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "L_argeur :" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Description :" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "Insérer une image..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "Groupes de sécurit_é" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "Groupes" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "Détails du groupe" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "_Nom :" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "_Ordre" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "_Publique" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Tous les utilisateurs" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Amis" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Texte" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Sélection par choix" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Sélection par boutons radio" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Sélection par cases à cocher" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Saisie de texte" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Réglette" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "Ouvrir ce billet en édition" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "Rafraîchir cette liste" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "Journal de %s - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "La communauté %s - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Hors-ligne - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - Brouillon ouvert" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Tout fichier XML" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "Brouillon des billets Drivel" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Brouillon enregistré" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Veuillez sélectionner un compte" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "Les préférences s'appliquent à chaque compte séparément. Vous devez donc " "sélectionner votre compte avant de pouvoir éditer ses préférences." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Sélectionner un journal vers lequel poster" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "_Journal" #: ../src/journal.c:3374 msgid "_View" msgstr "Afficha_ge" #: ../src/journal.c:3375 msgid "_Format" msgstr "Forma_t" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "Liens _Web" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "_Aide" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Ouvrir brouillon..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "_Enregistrer le brouillon" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Enregistrer le brouillon _sous..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "Billets _récents" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "_Brouillons récents" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "_Poster le billet" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "Mettre à jo_ur le billet" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "Suppri_mer le billet" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Déconnexion" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "_Réinitialiser le billet" #: ../src/journal.c:3390 msgid "Select _All" msgstr "_Tout sélectionner" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "Dernier _billet" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Édite le dernier billet que vous avez posté" #: ../src/journal.c:3393 msgid "_Friends" msgstr "_Amis" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Éditer votre liste d'amis" #: ../src/journal.c:3394 msgid "_History" msgstr "_Historique" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Afficher ou éditer un billet précédent" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "Édite les groupes spécifiques de personnes pouvant lire vos billets" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "_Journal actif" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "_Exposant" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "In_dice" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "_Liste" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "Élé_ment de liste" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "_Citation" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "I_nsérer un lien..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Crée un lien vers une page Web, un utilisateur LiveJournal ou vers un long " "billet d'un journal" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Insérer une im_age..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Insère une image dans votre billet" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Insérer un s_ondage..." #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "_Sommaire" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "_Foire aux questions" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "À _propos" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Plus d'_options de billets" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "_Souligner les erreurs d'orthographe" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "Souligner _HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "Mauvais nom d'utilisateur" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Le nom d'utilisateur contient des caractères non valides." #: ../src/login.c:929 msgid "Remove Account" msgstr "Supprimer le compte" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Préférences" #: ../src/login.c:1139 msgid "Drafts" msgstr "Brouillons" #: ../src/main.c:58 msgid "Error" msgstr "Erreur" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "Oups, le serveur a renvoyé une erreur. Veuillez essayer plus tard." #: ../src/main.c:351 msgid "Friends Only" msgstr "Seulement les amis" #: ../src/main.c:767 msgid "Display debugging output" msgstr "Afficher la sortie du rapport d'erreurs" #: ../src/main.c:770 msgid "file" msgstr "fichier :" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "L'initialisation GConf a échoué : %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Impossible d'initialiser GnomeVFS !\n" #: ../src/network.c:64 msgid "Done" msgstr "Fait" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "Connexion en cours :" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "Téléchargement des images des utilisateurs" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "Envoi du billet" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "Mise à jour du billet" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "Récupération des billets" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "Récupération de l'historique" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "Mise à jour de la liste d'amis" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "Récupération de la liste d'amis" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "Récupération des catégories" #: ../src/network.c:118 msgid "Setting categories" msgstr "Mise en place des catégories" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "Publication du billet" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "Suppression du billet" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "Notification de Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "Récupération des groupes de sécurité" #: ../src/network.c:143 msgid "Updating security groups" msgstr "Mise à jour des groupes de sécurité" #: ../src/network.c:315 msgid "Network connection failed" msgstr "La connexion au réseau a échoué" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "Impossible de comprendre la réponse du serveur" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Aucune chanson jouée" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "_Afficher la page des amis" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "_Supprimer de la zone de notification" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Sans titre" #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "Enregistrer les modifications de ce billet avant de continuer ?" #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "Exemple : http://gnome.org/pic.png" #~ msgid "Example: http://www.gnome.org" #~ msgstr "Exemple : http://www.gnome.org" #~ msgid "Retrieving user information" #~ msgstr "Récupération des informations de l'utilisateur" #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "On fait quelque chose, mais je ne sais pas exactement quoi" #~ msgid "Sending / Receiving" #~ msgstr "Envoi / Réception" #~ msgid "_Add..." #~ msgstr "A_jouter..." #~ msgid "_Edit..." #~ msgstr "É_diter..." #~ msgid "Save _Draft" #~ msgstr "Enregistrer le _brouillon" #~ msgid "_Don't Save" #~ msgstr "Ne _pas enregistrer" #~ msgid "Groups" #~ msgstr "Groupes" #~ msgid "Image" #~ msgstr "Image" #~ msgid "Link" #~ msgstr "Lien" #~ msgid "Display flags" #~ msgstr "Afficher les marqueurs" #~ msgid "Displayed date and/or time properties" #~ msgstr "Propriétés affichées de la date ou de l'heure" #~ msgid "Lazy mode" #~ msgstr "Mode permissif" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "Le mode permissif ne corrige pas les saisies de date et d'heure" #~ msgid "Year" #~ msgstr "Année" #~ msgid "Displayed year" #~ msgstr "Année affichée" #~ msgid "Month" #~ msgstr "Mois" #~ msgid "Displayed month" #~ msgstr "Mois affiché" #~ msgid "Day" #~ msgstr "Jour" #~ msgid "Displayed day of month" #~ msgstr "Jour du mois affiché" #~ msgid "Hour" #~ msgstr "Heure" #~ msgid "Displayed hour" #~ msgstr "Heure affichée" #~ msgid "Minute" #~ msgstr "Minute" #~ msgid "Second" #~ msgstr "Seconde" #~ msgid "Displayed second" #~ msgstr "Seconde affichée" #~ msgid "Lower limit year" #~ msgstr "Année de la limite inférieure" #~ msgid "Year part of the lower date limit" #~ msgstr "Partie annuelle de la limite inférieure pour la date" #~ msgid "Upper limit year" #~ msgstr "Année de la limite supérieure" #~ msgid "Year part of the upper date limit" #~ msgstr "Partie annuelle de la limite supérieure pour la date" #~ msgid "Lower limit month" #~ msgstr "Mois de la limite inférieure" #~ msgid "Month part of the lower date limit" #~ msgstr "Partie mensurelle de la limite inférieure pour la date" #~ msgid "Upper limit month" #~ msgstr "Mois de la limite supérieure" #~ msgid "Month part of the upper date limit" #~ msgstr "Partie mensuelle de la limite supérieure pour la date" #~ msgid "Lower limit day" #~ msgstr "Jour de la limite inférieure" #~ msgid "Day of month part of the lower date limit" #~ msgstr "Partie jour du mois de la limite inférieure pour la date" #~ msgid "Upper limit day" #~ msgstr "Jour de la limite supérieure" #~ msgid "Day of month part of the upper date limit" #~ msgstr "Partie jour du mois de la limite supérieure pour la date" #~ msgid "Lower limit hour" #~ msgstr "Heure de la limite inférieure" #~ msgid "Hour part of the lower time limit" #~ msgstr "Partie heure de la limite inférieure pour la date" #~ msgid "Upper limit hour" #~ msgstr "Heure de la limite supérieure" #~ msgid "Hour part of the upper time limit" #~ msgstr "Partie heure de la limite supérieure pour la date" #~ msgid "Lower limit minute" #~ msgstr "Minute de la limite inférieure" #~ msgid "Minute part of the lower time limit" #~ msgstr "Partie minute de la limite inférieure pour la date" #~ msgid "Upper limit minute" #~ msgstr "Minute de la limite supérieure" #~ msgid "Minute part of the upper time limit" #~ msgstr "Partie minute de la limite supérieure pour la date" #~ msgid "Lower limit second" #~ msgstr "Seconde de la limite inférieure" #~ msgid "Second part of the lower time limit" #~ msgstr "Partie seconde de la limite inférieure pour la date" #~ msgid "Upper limit second" #~ msgstr "Seconde de la limite supérieure" #~ msgid "Second part of the upper time limit" #~ msgstr "Partie seconde de la limite supérieure pour la date" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:1" #~ msgid "Date" #~ msgstr "Date" #~ msgid "Enter the date directly" #~ msgstr "Saisissez la date directement" #~ msgid "Select Date" #~ msgstr "Sélectionnez une date" #~ msgid "Select the date from a calendar" #~ msgstr "Sélectionnez la date dans un calendrier" #~ msgid "Enter the time directly" #~ msgstr "Saisissez l'heure directement" #~ msgid "Select Time" #~ msgstr "Sélectionnez l'heure" #~ msgid "Select the time from a list" #~ msgstr "Sélectionnez l'heure dans une liste" #~ msgid "24hr: no" #~ msgstr "24hr: yes" #~ msgid "AM" #~ msgstr "AM" #~ msgid "PM" #~ msgstr "PM" #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%02d:%02d:%02d %s" #~ msgid "%02d:%02d %s" #~ msgstr "%02d:%02d %s" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d:%02d:%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d:%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d-%02d-%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "Orientation" #~ msgid "The orientation of the tray." #~ msgstr "L'orientation de la zone de notification." drivel-3.0.5/po/oc.po0000644000175000017500000005245211731016426011315 00000000000000# Translation of oc.po to Occitan # Occitan translation of drivel. # Copyright (C) 2004-2006 The GNOME Foundation. # This file is distributed under the same license as the drivel package. # # Yannig Marchegay (Kokoyaya) , 2006-2008. msgid "" msgstr "" "Project-Id-Version: oc\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2008-02-20 00:12+0100\n" "Last-Translator: Yannig Marchegay (Kokoyaya) \n" "Language-Team: Occitan \n" "Language: oc\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "" #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "Yannig Marchegay (Kokoyaya) " #: ../src/about.c:85 msgid "With help from:" msgstr "" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "" #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "Error desconeguda" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "" #: ../src/blog_lj.c:290 msgid "default" msgstr "defaut" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Pas cap" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Desconnectat" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Valor per defaut del sistèma" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "" #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Public" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Privat" #: ../src/dialogs.c:809 msgid "Community" msgstr "Comunautat" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "" #: ../src/dialogs.c:813 msgid "User" msgstr "Utilizaire" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "Color del _tèxt :" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "Color de _fons :" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "" #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "" #: ../src/dialogs.c:1442 msgid "Time" msgstr "Ora" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Tipe" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Ligam" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Nom d'utilizaire" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Nom" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "Disponible" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "" #: ../src/drivel-gtk.glade.h:4 msgid "Clear Entry" msgstr "" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "_Preferéncias" #: ../src/drivel-gtk.glade.h:6 msgid "Highlight Spelling Errors" msgstr "" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "_Ajuda" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "_A prepaus" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "_Subjècte :" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "Ca_tegoria :" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "" #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "Enregistrar lo _borrolhon" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "Amont" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "_Tipe :" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_Expedidor :" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "Destinatari :" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "_Per :" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "Res_ponsa :" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "_Inserir" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "_Diccionari :" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr "Zòna de notificacion" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr "Public" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "General" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_Nom d'utilizaire :" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "Mot de _pas :" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_Memorizar lo mot de pas" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "" #: ../src/drivel-gtk.glade.h:83 #, fuzzy msgid "Work _Offline" msgstr "Desconnectat" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Edicion" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "" #: ../src/drivel-gtk.glade.h:89 #, fuzzy msgid "Details" msgstr "Opcions" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Nom d'utilizaire :" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Color de fons :" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Inserir un ligam" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "_Tèxt :" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "" #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "_Emplaçament :" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "Inserir un ligam" #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "_Nautor :" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "_Largor :" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "_Descripcion :" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "_Inserir" #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "" #: ../src/drivel-gtk.glade.h:116 #, fuzzy msgid "Groups" msgstr "Grops" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "_Nom :" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Totes los utilizaires" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Amics" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Tèxt" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Escala" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "" #: ../src/journal.c:3374 msgid "_View" msgstr "_Visualizacion" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Format" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "_Ajuda" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Dobrir un borrolhon..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "" #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "_Terminar la session" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "" #: ../src/journal.c:3390 msgid "Select _All" msgstr "Seleccionar un fichièr" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "" #: ../src/journal.c:3393 msgid "_Friends" msgstr "" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "" #: ../src/journal.c:3394 msgid "_History" msgstr "_Istoric" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "" #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "" #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "" #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "_Ensenhador" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "_A prepaus" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "" #: ../src/login.c:504 msgid "Bad username" msgstr "" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "" #: ../src/login.c:929 msgid "Remove Account" msgstr "" #: ../src/login.c:931 msgid "_Preferences" msgstr "_Preferéncias" #: ../src/login.c:1139 msgid "Drafts" msgstr "Borrolhons" #: ../src/main.c:58 msgid "Error" msgstr "Error" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "" #: ../src/main.c:351 msgid "Friends Only" msgstr "" #: ../src/main.c:767 msgid "Display debugging output" msgstr "" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "" #: ../src/network.c:64 #, fuzzy msgid "Done" msgstr "Pas cap" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "" #: ../src/network.c:118 msgid "Setting categories" msgstr "" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "" #: ../src/network.c:143 msgid "Updating security groups" msgstr "" #: ../src/network.c:315 msgid "Network connection failed" msgstr "" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Sens nom" #~ msgid "_Add..." #~ msgstr "_Apondre..." #~ msgid "_Edit..." #~ msgstr "_Edicion..." #~ msgid "_Don't Save" #~ msgstr "Enregistrar _pas" #~ msgid "Image" #~ msgstr "Imatge" #~ msgid "Link" #~ msgstr "Ligam" #~ msgid "Year" #~ msgstr "Annada" #~ msgid "Month" #~ msgstr "Mes" #~ msgid "Day" #~ msgstr "Jorn" #~ msgid "Hour" #~ msgstr "Ora" #~ msgid "Minute" #~ msgstr "Minuta" #~ msgid "Second" #~ msgstr "Segonda" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:1" #~ msgid "Date" #~ msgstr "Data" #~ msgid "Select Date" #~ msgstr "Seleccionar una data" #~ msgid "Select the date from a calendar" #~ msgstr "Seleccionar la data dins un calendièr" #~ msgid "Select Time" #~ msgstr "Seleccionar una ora" #~ msgid "Select the time from a list" #~ msgstr "Causissètz l'ora dins una tièra" #~ msgid "24hr: no" #~ msgstr "24hr : yes" #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%02d:%02d:%02d %s" #~ msgid "%02d:%02d %s" #~ msgstr "%02d:%02d %s" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d:%02d:%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d:%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d-%02d-%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "Orientacion" #~ msgid "The orientation of the tray." #~ msgstr "L'orientacion de la zòna de notificacion." drivel-3.0.5/po/te.po0000644000175000017500000005233011731016427011320 00000000000000# Veeven , 2009. msgid "" msgstr "" "Project-Id-Version: drivel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2010-05-05 09:39+0530\n" "Last-Translator: Veeven \n" "Language-Team: e-Telugu Localization Team\n" "Language: te\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Virtaal 0.4.1\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "" #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "డ్రైవెల్ జర్నల్ కూర్పరి" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "జర్నల్ కూర్పరి" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "వీవెన్ " #: ../src/about.c:85 msgid "With help from:" msgstr "వీరి సహాయంతో:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "మరియు ఎందరో ఇతరులు--అందరికీ, ధన్యవాదాలు!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "" #: ../src/about.c:108 msgid "Homepage:" msgstr "హోమ్‌పేజీ:" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "సేవకి పొరపాటు" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "తెలియని పొరపాటు" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "" #: ../src/blog_lj.c:290 msgid "default" msgstr "అప్రమేయం" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[టపాలు లేవు]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "" #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "బహిరంగం" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "అంతరంగికం" #: ../src/dialogs.c:809 msgid "Community" msgstr "" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "" #: ../src/dialogs.c:813 msgid "User" msgstr "వాడుకరి" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "పాఠ్యపు రంగు (_T):" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "నేపథ్యపు రంగు (_B):" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "" #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "" #: ../src/dialogs.c:1442 msgid "Time" msgstr "సమయం" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "రకం" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "లంకె" #: ../src/dialogs.c:1542 msgid "Username" msgstr "వాడుకరిపేరు" #: ../src/dialogs.c:1552 msgid "Name" msgstr "పేరు" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "డ్రైవెల్" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "" #: ../src/drivel-gtk.glade.h:4 msgid "Clear Entry" msgstr "" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "అభిరుచులు (_P)" #: ../src/drivel-gtk.glade.h:6 msgid "Highlight Spelling Errors" msgstr "" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "సహాయం (_H)" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "గురించి (_A)" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "సంగీతం (_M):" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "వర్గం (_t):" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "మరిన్ని ఎంపికలను చూపించు (_o)" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "" #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "ప్రశ్నలు:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "నుండి (_F):" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "డ్రైవెల్ అభీష్టాలు" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "టపా ప్రవర్తన" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "నిఘంటువు (_D):" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "గమనింపు ప్రదేశం" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "ప్రచురణ" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "సాధారణం" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "టపా అప్రమేయాలు" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "వాడుకరిపేరు (_U):" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "సంకేతపదం (_P):" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "సంకేతపదాన్ని గుర్తుంచుకో (_R)" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "జర్నల్ రకం (_t):" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "ప్రవేశించు (_L)" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "కూర్పు(_E)" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "వివరాలు" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "వాడుకరిపేరు:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "జర్నల్ రకం:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "పాఠ్యపు రంగు:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "నేపథ్యపు రంగు:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "" #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "ప్రాంతం (_L):" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "\tఉదాహరణ:" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "" #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "ఎత్తు (_H):" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "పిక్స్" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "వెడల్పు (_W):" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "వివరణ (_D):" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "" #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "గుంపులు" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "గుంపు వివరాలు" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "పేరు (_N):" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "క్రమం (_O)" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "అందరు వాడుకరులు" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "స్నేహితులు" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "పాఠ్యం" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "ఈ జాబితాని తాజాపర్చు" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "" #: ../src/journal.c:3374 msgid "_View" msgstr "" #: ../src/journal.c:3375 msgid "_Format" msgstr "" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "సహాయం (_H)" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "" #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "" #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "" #: ../src/journal.c:3390 msgid "Select _All" msgstr "" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "" #: ../src/journal.c:3393 msgid "_Friends" msgstr "" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "" #: ../src/journal.c:3394 msgid "_History" msgstr "చరిత్ర (_H)" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "" #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "" #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "" #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "గురించి (_A)" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "" #: ../src/login.c:504 msgid "Bad username" msgstr "తప్పుడు వాడుకరిపేరు" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "వాడుకరి పేరులో చెల్లని అక్షరాలు ఉన్నాయి." #: ../src/login.c:929 msgid "Remove Account" msgstr "ఖాతాని తొలగించు" #: ../src/login.c:931 msgid "_Preferences" msgstr "అభిరుచులు (_P)" #: ../src/login.c:1139 msgid "Drafts" msgstr "ప్రతులు" #: ../src/main.c:58 msgid "Error" msgstr "పొరపాటు" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "" #: ../src/main.c:351 msgid "Friends Only" msgstr "స్నేహితులు మాత్రమే" #: ../src/main.c:767 msgid "Display debugging output" msgstr "" #: ../src/main.c:770 msgid "file" msgstr "ఫైలు" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "" #: ../src/network.c:64 msgid "Done" msgstr "పూర్తయ్యింది" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "" #: ../src/network.c:118 msgid "Setting categories" msgstr "" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "" #: ../src/network.c:143 msgid "Updating security groups" msgstr "" #: ../src/network.c:315 msgid "Network connection failed" msgstr "" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "శీర్షికలేదు" drivel-3.0.5/po/zh_CN.po0000644000175000017500000007113411731016427011714 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Funda Wang , 2004. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2005-10-24 18:26+0800\n" "Last-Translator: Funda Wang \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "目前登录的用户。" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "列出在本机上曾经登录过的日记用户名。" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "本地存储的心情数。" #: ../data/drivel.schemas.in.h:4 #, fuzzy msgid "A list of moods for the drivel menu." msgstr "列出心情的 GtkCombo 菜单。" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Drivel 日记编辑器" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "日记编辑器" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "更新及管理您的在线日记" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "草稿日记项" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "开源软件国际化之简体中文组 http://i18n.linux.net.cn" #: ../src/about.c:85 msgid "With help from:" msgstr "来自以下人的帮助:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "以及其他人——衷心感谢!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "GNOME 桌面的日记客户程序。" #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "服务器错误" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "服务器并未返回有效的 Atom 响应。" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "" #: ../src/blog_atom.c:411 #, fuzzy msgid "Error Posting Entry" msgstr "发表项(_P)" #: ../src/blog_lj.c:290 msgid "default" msgstr "默认" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "无" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "离线" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[无日记项]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "系统默认" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "缺少用户名" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "请输入要添加的用户名。" #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "公开" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "私人" #: ../src/dialogs.c:809 msgid "Community" msgstr "社区" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "联合推送" #: ../src/dialogs.c:813 msgid "User" msgstr "用户" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "添加好友" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "好友的用户名(_F):" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "文本颜色(_T):" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "背景颜色(_B):" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "无法执行文件操作" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "无法打开选中文件" #: ../src/dialogs.c:1323 #, fuzzy msgid "Save the content of this journal entry instead of clearing?" msgstr "在关闭前保存对此日记项所作的更改吗?" #: ../src/dialogs.c:1324 #, fuzzy msgid "If you don't save, content of this entry will be discarded." msgstr "如果您不保存的话,对此项所作的更改将被丢弃。" #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "在关闭前保存对此日记项所作的更改吗?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "如果您不保存的话,对此项所作的更改将被丢弃。" #: ../src/dialogs.c:1442 msgid "Time" msgstr "时间" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "日记项" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "类型" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "链接" #: ../src/dialogs.c:1542 msgid "Username" msgstr "用户名" #: ../src/dialogs.c:1552 msgid "Name" msgstr "姓名" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "可用" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "组中" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "打开未完成的日记项" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "切换用户名" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "清除项(_L)" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "首选项(_P)" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "突出显示拼错的单词(_S)" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "帮助(_H)" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "关于(_A)" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "主题(_S):" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "安全(_Y):" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "心情(_M):" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "音乐(_U):" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "关闭评论(_N)" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "不允许用户对此项评论" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "不对文字进行自动格式(_T)" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "不在 HTML 标签中自动分析换行或网站链接" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "过去的日期(_A):" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "将项标为已经在选中日期发表过" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "图片(_R):" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "类别(_T):" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "显示更多选项(_O)" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "从您的日记中删除选中项。" #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "保存草稿(_S)" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "保存当前项,而不将其添加到您的日记中" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "更新(_P)" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "在您的日志中更新选中项" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "发表(_P)" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "将当前项发表到您的日记中" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "插入投票" #: ../src/drivel-gtk.glade.h:35 #, fuzzy msgid "Poll _name (optional):" msgstr "投票名称可选(_N):" #: ../src/drivel-gtk.glade.h:36 #, fuzzy msgid "Voter_s:" msgstr "投票者(_O):" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "结果限于(_R):" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "问题:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "添加问题(_Q)" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "添加答案(_A)" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "类型(_T):" #: ../src/drivel-gtk.glade.h:43 #, fuzzy msgid "Qu_estion:" msgstr "问题(_U):" #: ../src/drivel-gtk.glade.h:44 #, fuzzy msgid "Text _field size (optional):" msgstr "文本域大小可选(_F):" #: ../src/drivel-gtk.glade.h:45 #, fuzzy msgid "Maximum text _length (optional):" msgstr "最大文本长度(可选)(_L):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "来自(_F):" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "到:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "由(_B):" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "答案(_W):" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "插入(_I)" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Drivel 首选项" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr "项行为" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "登录后最小化(_L)" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "在登录后自动最小化日记窗口" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "发表后最小化(_P)" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "在发表项之后自动最小化日记窗口" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "在日记项中突出 HTML(_H)" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "将 HTML 关键字以不同于普通文本的颜色显示" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "突出显示拼错的单词(_W)" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "突出显示未在您计算机字典中找到的单词" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "字典(_D):" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr "通知区域" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "好友更新时通知(_F)" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "当您好友的页面更新时显示提醒\n" "(只对付费的 LiveJournal 用户)" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr "发布" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "将更新通知给 _Technorati" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "将新响通知给 Technorati 这一流行的日记搜索引擎" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "常规" #: ../src/drivel-gtk.glade.h:73 #, fuzzy msgid "Default Post Options" msgstr "默认发表选项" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "不在 HTML 标签中自动分析换行" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "项默认值" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "日记登录" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "用户名(_U):" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "密码(_P):" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "自动登录(_A)" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "记住密码(_R)" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "日记类型(_T):" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "服务器地址(_S):" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "离线工作(_O)" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "登录(_L)" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "编辑历史" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "编辑(_E)" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "编辑好友" #: ../src/drivel-gtk.glade.h:88 #, fuzzy msgid "_View journal" msgstr "日记(_J)" #: ../src/drivel-gtk.glade.h:89 #, fuzzy msgid "Details" msgstr "细节" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "用户名:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "日记类型:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "文本颜色:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "背景颜色:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "选择文本颜色" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "选择背景颜色" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "插入链接" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "文本(_T):" #: ../src/drivel-gtk.glade.h:99 #, fuzzy msgid "Create a link to..." msgstr "创建到...的链接" #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "Internet 网站(_S)" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "位置(_L):" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "另一个 LiveJournal 用户(_J)" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "本项余下部分(_R)" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "插入链接..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "插入图像" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 #, fuzzy msgid "Attributes (Optional)" msgstr "属性(可选)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "高度(_H):" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "宽度(_W):" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "描述(_D):" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "插入图像..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "安全组" #: ../src/drivel-gtk.glade.h:116 #, fuzzy msgid "Groups" msgstr "组中" #: ../src/drivel-gtk.glade.h:117 #, fuzzy msgid "Group Details" msgstr "组细节" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "姓名(_N):" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "顺序(_O)" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "公开(_P)" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "全部用户" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "好友" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "文本" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "下拉选择" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "单选选择" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "复选选择" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "文本输入" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "规模" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "打开此项编辑" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "刷新列表" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "%s 的日记 - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "%s 社区 - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "离线 - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - 打开草稿" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "全部 XML 文件" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - 保存草稿" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "选择日记账户" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "首选项是独立应用到每个账户的,所以您在编辑首选项之前必须先选择您的账户。" #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "选择要发表的日记" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "日记(_J)" #: ../src/journal.c:3374 msgid "_View" msgstr "查看(_V)" #: ../src/journal.c:3375 msgid "_Format" msgstr "格式(_F)" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "Web 链接(_W)" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "帮助(_H)" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "打开草稿(_O)..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "保存草稿(_S)" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "草稿另存为(_A)..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "删除项(_R)" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "最近的草稿(_D)" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "发表项(_P)" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "更新项(_U)" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "删除项(_D)" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "注销(_L)" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "清除项(_L)" #: ../src/journal.c:3390 msgid "Select _All" msgstr "全部选中(_A)" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "上一项(_E)" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "编辑您发表的上一项" #: ../src/journal.c:3393 msgid "_Friends" msgstr "好友(_F)" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "编辑您的好友列表" #: ../src/journal.c:3394 msgid "_History" msgstr "历史(_H)" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "查看或编辑先前的项" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "编辑可阅读您日记项的多组人" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "当前日记(_J)" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "上标(_R)" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "下标(_C)" #: ../src/journal.c:3404 #, fuzzy msgid "Lis_t" msgstr "列表(_I)" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "列表项(_M)" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "缩进(_N)" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "插入链接(_L)..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "创建到网页、livejournal 用户或长日记项的链接" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "插入图像(_G)..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "在日记项中插入图像" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "插入投票(_P)..." #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "目录(_C)" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "常见问题解答(_F)" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "关于(_A)" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "更多选项(_O)" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "突出显示拼错的单词(_S)" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "突出显示 _HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "无效的用户名" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "用户名包含非法字符。" #: ../src/login.c:929 msgid "Remove Account" msgstr "删除账户" #: ../src/login.c:931 msgid "_Preferences" msgstr "首选项(_P)" #: ../src/login.c:1139 msgid "Drafts" msgstr "草稿" #: ../src/main.c:58 msgid "Error" msgstr "错误" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "抱歉,出现了服务器错误。请稍候再试。" #: ../src/main.c:351 msgid "Friends Only" msgstr "只对好友" #: ../src/main.c:767 #, fuzzy msgid "Display debugging output" msgstr "显示的分钟" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "GConf 初始化失败:%s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "无法初始化 GnomeVFS!\n" #: ../src/network.c:64 #, fuzzy msgid "Done" msgstr "无" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "下载用户图片" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "发表日记项" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "更新日记项" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "获取日记项" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "获取日记历史" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "更新好友列表" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "获取好友列表" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "获取类别" #: ../src/network.c:118 msgid "Setting categories" msgstr "设置类别" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "发布日记项" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "删除日记项" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "通知 Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "获取安全组" #: ../src/network.c:143 msgid "Updating security groups" msgstr "更新安全组" #: ../src/network.c:315 msgid "Network connection failed" msgstr "" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "没有正在播放的歌曲" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "查看好友的页面(_V)" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "从托盘删除(_R)" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "无标题" #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "在继续前先将更改保存到此日记项吗?" #, fuzzy #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "示例:http://gnome.org/pic.png" #, fuzzy #~ msgid "Example: http://www.gnome.org" #~ msgstr "示例:http://www.gnome.org" #~ msgid "Retrieving user information" #~ msgstr "获取用户信息" #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "正在完成机密任务" #~ msgid "Sending / Receiving" #~ msgstr "发送/接收" #~ msgid "_Add..." #~ msgstr "添加(_A)..." #~ msgid "_Edit..." #~ msgstr "编辑(_E)..." #~ msgid "Save _Draft" #~ msgstr "保存草稿(_D)" #~ msgid "_Don't Save" #~ msgstr "不保存(_D)" #~ msgid "Groups" #~ msgstr "" #~ msgid "Image" #~ msgstr "图像" #~ msgid "Link" #~ msgstr "链接" #~ msgid "Display flags" #~ msgstr "显示标志" #~ msgid "Displayed date and/or time properties" #~ msgstr "显示日期和/或时间属性" #~ msgid "Lazy mode" #~ msgstr "懒惰模式" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "懒惰模式不会对输入的日期和时间进行规格化" #~ msgid "Year" #~ msgstr "年" #~ msgid "Displayed year" #~ msgstr "显示的年" #~ msgid "Month" #~ msgstr "月" #~ msgid "Displayed month" #~ msgstr "显示的月" #~ msgid "Day" #~ msgstr "日" #~ msgid "Displayed day of month" #~ msgstr "显示的日" #~ msgid "Hour" #~ msgstr "小时" #~ msgid "Displayed hour" #~ msgstr "显示的小时" #~ msgid "Minute" #~ msgstr "分钟" #~ msgid "Second" #~ msgstr "秒钟" #~ msgid "Displayed second" #~ msgstr "显示的秒钟" #~ msgid "Lower limit year" #~ msgstr "年份下限" #~ msgid "Year part of the lower date limit" #~ msgstr "日期限制的年份下限" #~ msgid "Upper limit year" #~ msgstr "年份上限" #~ msgid "Year part of the upper date limit" #~ msgstr "日期限制的年份上限" #~ msgid "Lower limit month" #~ msgstr "月份下限" #~ msgid "Month part of the lower date limit" #~ msgstr "日期限制的月份下限" #~ msgid "Upper limit month" #~ msgstr "月份上限" #~ msgid "Month part of the upper date limit" #~ msgstr "日期限制的月份上限" #~ msgid "Lower limit day" #~ msgstr "日下限" #~ msgid "Day of month part of the lower date limit" #~ msgstr "日期限制的日下限" #~ msgid "Upper limit day" #~ msgstr "日上限" #~ msgid "Day of month part of the upper date limit" #~ msgstr "日期限制的日上限" #~ msgid "Lower limit hour" #~ msgstr "小时下限" #~ msgid "Hour part of the lower time limit" #~ msgstr "时间限制的小时下限" #~ msgid "Upper limit hour" #~ msgstr "小时上限" #~ msgid "Hour part of the upper time limit" #~ msgstr "时间限制的小时上限" #~ msgid "Lower limit minute" #~ msgstr "分钟下限" #~ msgid "Minute part of the lower time limit" #~ msgstr "时间限制的分钟下限" #~ msgid "Upper limit minute" #~ msgstr "分钟上限" #~ msgid "Minute part of the upper time limit" #~ msgstr "时间限制的分钟上限" #~ msgid "Lower limit second" #~ msgstr "秒钟下限" #~ msgid "Second part of the lower time limit" #~ msgstr "时间限制的秒钟下限" #~ msgid "Upper limit second" #~ msgstr "秒钟上限" #~ msgid "Second part of the upper time limit" #~ msgstr "时间限制的秒钟上限" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:1" #~ msgid "Date" #~ msgstr "日期" #~ msgid "Enter the date directly" #~ msgstr "直接输入日期" #~ msgid "Select Date" #~ msgstr "选择日期" #~ msgid "Select the date from a calendar" #~ msgstr "从日历中选择日期" #~ msgid "Enter the time directly" #~ msgstr "直接输入时间" #~ msgid "Select Time" #~ msgstr "选择时间" #~ msgid "Select the time from a list" #~ msgstr "从列表中选择时间" #~ msgid "24hr: no" #~ msgstr "24hr: yes" #~ msgid "AM" #~ msgstr "上午" #~ msgid "PM" #~ msgstr "下午" #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%02d:%02d:%02d %s" #~ msgid "%02d:%02d %s" #~ msgstr "%02d:%02d %s" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d:%02d:%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d:%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d-%02d-%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "方向" #~ msgid "The orientation of the tray." #~ msgstr "托盘的方向。" #~ msgid "Communication Error" #~ msgstr "通讯错误" #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "抱歉,向服务器发送信息出现了错误。请稍候再试。" #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "抱歉,从服务器获取信息出现了错误。请稍候再试。" drivel-3.0.5/po/it.po0000644000175000017500000007470411731016426011334 00000000000000# ITALIAN TRANSLATION OF DRIVEL # COPYRIGHT (C) YEAR THE DRIVEL'S COPYRIGHT HOLDER # This file is distributed under the same license as the drivel package. # # Vincenzo Campanella , 2009. msgid "" msgstr "" "Project-Id-Version: drivel 3.0.0-1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2009-11-13 13:25+0100\n" "Last-Translator: Vincenzo Campanella \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "L'utente attualmente collegato." #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "" "Un elenco di ogni nome utente del giornale usato in precedenza su questo " "sistema." #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "Il numero di temi memorizzato localmente." #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "Un elenco di temi per il menù drivel." #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Drivel - Editor di giornali" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "Editor di giornali" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "Aggiornare e amministrare il proprio giornale in rete" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "Bozza di voce del giornale" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "Vincenzo Campanella " #: ../src/about.c:85 msgid "With help from:" msgstr "Con l'aiuto di:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "E molti altri. Grazie a tutti!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "Un client di giornali per lo GNOME desktop." #: ../src/about.c:108 msgid "Homepage:" msgstr "Pagina iniziale:" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "Errore del server" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "Il server non ha restituito una risposta Atom valida." #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "Errore sconosciuto" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "Errore durante l'invio della voce" #: ../src/blog_lj.c:290 msgid "default" msgstr "predefinito" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Nessuno" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Fuori rete" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[Nessuna voce nel giornale]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "Predefinito del sistema" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "Nome utente mancante" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "Inserire un nome utente da aggiungere." #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Pubblico" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "Privato" #: ../src/dialogs.c:809 msgid "Community" msgstr "Comunità" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "Notiziario aggregato" #: ../src/dialogs.c:813 msgid "User" msgstr "Utente" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "Aggiungi amici" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "_Nome:" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "Colore del _testo:" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "Colore dello _sfondo:" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "Impossibile eseguire l'operazione sul file" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "Impossibile aprire il file selezionato" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "Salvare il contenuto di questa voce del giornale anziché cancellare?" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "Se non viene salvato, il contenuto di questa voce verrà scartato." #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "Salvare le modifiche a questa voce del giornale prima di chiudere?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "" "Se non vengono salvate, le modifiche apportate a questa voce verranno " "scartate." #: ../src/dialogs.c:1442 msgid "Time" msgstr "Ora" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "Voce del giornale" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Tipo" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Collegamento" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Nome utente" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Nome" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "Disponibile" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "Nel gruppo" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "Apre una voce del giornale non finita" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "Commuta nomi utenti" #: ../src/drivel-gtk.glade.h:4 msgid "Clear Entry" msgstr "Cancella la voce" #: ../src/drivel-gtk.glade.h:5 msgid "Preferences" msgstr "Preferenze" #: ../src/drivel-gtk.glade.h:6 msgid "Highlight Spelling Errors" msgstr "Evidenzia gli errori di battitura" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "Grassetto" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "Italico" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "Sottolineato" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "Barrato" #: ../src/drivel-gtk.glade.h:11 msgid "Help" msgstr "Aiuto" #: ../src/drivel-gtk.glade.h:12 msgid "About" msgstr "Informazioni" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "O_ggetto:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "Sicure_zza:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "Te_ma:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "M_usica:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "Ta_g:" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "Disa_bilita i commenti" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "Non consentire agli utenti di commentare questa voce" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "Non formattare automaticamente il _testo" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "" "Non interpretare automaticamente le interruzioni di riga o i collegamenti " "del sito nei tag HTML" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "_Data passata:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "Marcare la voce come inviata alla data selezionata" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "_Immagine:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "Ca_tegoria:" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "Mostra ulteriori _opzioni" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "Elimina la voce selezionata dal proprio giornale." #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "_Salva la bozza" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "Salva la voce corrente senza aggiungerla al proprio giornale" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "A_ggiorna" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "Aggiorna la voce selezionata nel proprio giornale" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "In_via" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "Invia la voce attuale al proprio giornale" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "Inserisci un sondaggio" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "Nome del _sondaggio (facoltativo):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "Vo_tanti:" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "Risultati _visibili a:" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "Domande:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "Aggiungi _domanda" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "Aggiungi _risposta" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "Su" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "T_ipo:" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "D_omanda:" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "Dimensione del _campo del testo (facoltativa):" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "_Lunghezza massima del testo (facoltativa):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "_Da:" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "A:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "D_i:" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "Ris_posta:" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "_Inserisci" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "Preferenze di Drivel" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "Comportamento della voce" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "Minimizzare dopo l'_accesso" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "Minimizzare automaticamente la finestra del giornale dopo l'accesso" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "Minimizzare dopo l'_invio" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "" "Minimizzare automaticamente la finestra del giornale dopo l'invio di una voce" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "E_videnzia l'HTML nella voce del giornale" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "" "Mostra le parole chiave HTML in colori differenti rispetto al testo normale" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "Evidenzia le _parole errate" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "Evidenzia le parole non trovate nel dizionario del proprio computer" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "Di_zionario:" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "Area di notifica" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "_Notificare gli aggiornamenti degli amici" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "Mostra un avviso quando la pagina dei propri amici viene aggiornata\n" "(solo per gli utenti paganti di LiveJournal)" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "Pubblicazione" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "Notificare gli aggiornamenti a _Technorati" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "" "Avvisare Technorati (un motore di ricerca popolare per giornali) delle nuove " "voci" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "Proprietà del carattere" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "Usa il carattere predefinito del _tema" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "Carattere dell'editor:" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "Generale" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "Opzioni predefinite d'invio" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "Non interpretare automaticamente le interruzioni di riga nei tag HTML" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "Valori predefiniti per le voci" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "Accesso al giornale" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "Nome _utente:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_Password:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "A_ccesso automatico" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_Ricorda la password" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "_Tipo di giornale:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "Indirizzo del s_erver" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "Lavora _fuori rete" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "A_ccedere" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "Storico delle modifiche" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "_Modifica" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "Modifica gli amici" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "_Visualizza il giornale" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "Dettagli" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "Nome utente:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "Tipo di giornale:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "Colore del testo:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "Colore dello sfondo:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "Sceglie un colore per il testo" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "Sceglie un colore per lo sfondo" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "Inserisci un collegamento" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "T_esto:" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "Crea un collegamento a..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "un _sito in Internet" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "Po_sizione:" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "Esempio:" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "un altro utente di Live_Journal" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "il _resto di questa voce" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "Inserisci _collegamento..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "Inserisci un'immagine" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "Immagine" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "Proprietà (facoltative)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "A_ltezza:" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "La_rghezza:" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "D_escrizione:" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "Inserisci i_mmagine..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "Gruppi di sicurezza" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "Gruppi" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "Dettagli del gruppo" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "_Nome:" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "_Ordine" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "P_ubblico" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "Tutti gli utenti" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "Amici" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "Testo" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "Selezione a comparsa" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "Selezione a pulsante" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "Selezione a casella di spunta" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "Voce del testo" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "Scala" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "Apre questa voce per modificarla" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "Aggiorna questo elenco" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "Il giornale di %s - Drivel" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "La comunità %s - Drivel" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "Fuori rete - Drivel" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "Drivel - Apri la bozza" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "Tutti i file XML" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "Bozze di messaggi drivel" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "Drivel - Salva la bozza" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "Selezionare un account del giornale" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "Le preferenze vengono applicate separatamente per ogni account, per cui è " "necessario selezionarne uno prima di poterne modificare le preferenze." #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "Selezionare un giornale a cui inviare" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "_Giornale" #: ../src/journal.c:3374 msgid "_View" msgstr "_Visualizza" #: ../src/journal.c:3375 msgid "_Format" msgstr "_Formato" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "Collegamenti _Web" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "A_iuto" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_Apri bozza..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "_Salva la bozza" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "Sa_lva la bozza come..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "_Voci recenti" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "_Bozze recenti" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "_Invia la voce" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "A_ggiorna la voce" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "Eli_mina la voce" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "Di_sconnetti" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "Ca_ncella la voce" #: ../src/journal.c:3390 msgid "Select _All" msgstr "_Seleziona tutto" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "_Ultima voce" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "Modifica l'ultima voce inviata" #: ../src/journal.c:3393 msgid "_Friends" msgstr "_Amici" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "Modifica l'elenco dei propri amici" #: ../src/journal.c:3394 msgid "_History" msgstr "S_torico" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "Visualizza o modifica una voce precedente" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" "Modifica gruppi specifici di persone che possono leggere le proprie voci" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "_Giornale attivo" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "_Apice" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "_Pedice" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "E_lenco" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "Elenco _voci" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "_Rientro" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "Inserisci _collegamento..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" "Crea un collegamento a una pagina web, un utente livejournal o una voce del " "giornale" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "Inserisci _immagine..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "Inserisce un'immagine nella voce del giornale" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "Inserisci _votazione..." #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "S_ommario" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "_Domande poste frequentemente" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "I_nformazioni" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "Ulteriori _opzioni delle voci" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "Evidenzia gli errori di _battitura" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "Evidenzia _HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "Nome utente non valido" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "Il nome utente contiene caratteri non validi." #: ../src/login.c:929 msgid "Remove Account" msgstr "Elimina l'account" #: ../src/login.c:931 msgid "_Preferences" msgstr "Preferen_ze" #: ../src/login.c:1139 msgid "Drafts" msgstr "Bozze" #: ../src/main.c:58 msgid "Error" msgstr "Errore" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "Errore del server. Riprovare più tardi." #: ../src/main.c:351 msgid "Friends Only" msgstr "Solo amici" #: ../src/main.c:767 msgid "Display debugging output" msgstr "Mostra l'output di debug" #: ../src/main.c:770 msgid "file" msgstr "file" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "Inizializzazione di GConf non riuscita: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "Impossibile inizializzare GnomeVFS.\n" #: ../src/network.c:64 msgid "Done" msgstr "Eseguito" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "Accesso in corso..." #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "Scaricamento delle immagini dell'utente" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "Invio della voce del giornale" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "Aggiornamento della voce del giornale" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "Recupero delle voci del giornale" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "Recupero dello storico del giornale" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "Aggiornamento dell'elenco degli amici" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "Recupero dell'elenco degli amici" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "Recupero delle categorie" #: ../src/network.c:118 msgid "Setting categories" msgstr "Impostazione delle categorie" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "Pubblicazione della voce del giornale" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "Eliminazione della voce del giornale" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "Invio dell'avviso a Technorati" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "Recupero dei gruppi di sicurezza" #: ../src/network.c:143 msgid "Updating security groups" msgstr "Aggiornamento dei gruppi di sicurezza" #: ../src/network.c:315 msgid "Network connection failed" msgstr "Connessione alla rete fallita" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "Risposta del server non interpretabile" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "Nessun brano in riproduzione." #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "_Visualizza pagina degli amici" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "_Rimuovi dall'area di notifica" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "Senza titolo" #~ msgid "Save changes to this journal entry before proceeding?" #~ msgstr "" #~ "Salvare le modifiche a questa voce del giornale prima di proseguire?" #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "Esempio: http://gnome.org/pic.png" #~ msgid "Example: http://www.gnome.org" #~ msgstr "Esempio: http://www.gnome.org" #~ msgid "Retrieving user information" #~ msgstr "Recupero delle informazioni dell'utente" #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "Sto facendo qualcosa, ma non so bene cosa" #~ msgid "Sending / Receiving" #~ msgstr "Invio/ricezione in corso" #~ msgid "_Add..." #~ msgstr "_Aggiungi..." #~ msgid "_Edit..." #~ msgstr "_Modifica..." #~ msgid "Save _Draft" #~ msgstr "Salva la _bozza" #~ msgid "_Don't Save" #~ msgstr "_Non salvare" #~ msgid "Groups" #~ msgstr "Gruppi" #~ msgid "Image" #~ msgstr "Immagine" #~ msgid "Link" #~ msgstr "Collegamento" #~ msgid "Display flags" #~ msgstr "Mostra i contrassegni" #~ msgid "Displayed date and/or time properties" #~ msgstr "Proprietà di data/ora mostrate" #~ msgid "Lazy mode" #~ msgstr "Modalità pigra" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "La modalità pigra non normalizza i valori di data/ora inseriti" #~ msgid "Year" #~ msgstr "Anno" #~ msgid "Displayed year" #~ msgstr "L'anno mostrato" #~ msgid "Month" #~ msgstr "Mese" #~ msgid "Displayed month" #~ msgstr "Il mese mostrato" #~ msgid "Day" #~ msgstr "Giorno" #~ msgid "Displayed day of month" #~ msgstr "Il giorno del mese mostrato" #~ msgid "Hour" #~ msgstr "Ora" #~ msgid "Displayed hour" #~ msgstr "L'ora mostrata" #~ msgid "Minute" #~ msgstr "Minuti" #~ msgid "Second" #~ msgstr "Secondi" #~ msgid "Displayed second" #~ msgstr "I secondi mostrati" #~ msgid "Lower limit year" #~ msgstr "Anno del limite inferiore" #~ msgid "Year part of the lower date limit" #~ msgstr "Anno del limite inferiore delle date" #~ msgid "Upper limit year" #~ msgstr "Anno del limite superiore" #~ msgid "Year part of the upper date limit" #~ msgstr "Anno del limite superiore delle date" #~ msgid "Lower limit month" #~ msgstr "Mese del limite inferiore" #~ msgid "Month part of the lower date limit" #~ msgstr "Mese del limite inferiore delle date" #~ msgid "Upper limit month" #~ msgstr "Mese del limite superiore" #~ msgid "Month part of the upper date limit" #~ msgstr "Mese del limite superiore delle date" #~ msgid "Lower limit day" #~ msgstr "Giorno del limite inferiore" #~ msgid "Day of month part of the lower date limit" #~ msgstr "Giorno del limite inferiore delle date" #~ msgid "Upper limit day" #~ msgstr "Giorno del limite superiore" #~ msgid "Day of month part of the upper date limit" #~ msgstr "Giorno del limite superiore delle date" #~ msgid "Lower limit hour" #~ msgstr "Ora del limite inferiore" #~ msgid "Hour part of the lower time limit" #~ msgstr "Ora del limite inferiore del tempo" #~ msgid "Upper limit hour" #~ msgstr "Ora del limite superiore" #~ msgid "Hour part of the upper time limit" #~ msgstr "Ora del limite superiore del tempo" #~ msgid "Lower limit minute" #~ msgstr "Minuto del limite inferiore" #~ msgid "Minute part of the lower time limit" #~ msgstr "Minuto del limite inferiore del tempo" #~ msgid "Upper limit minute" #~ msgstr "Minuto del limite superiore" #~ msgid "Minute part of the upper time limit" #~ msgstr "Minuto del limite superiore del tempo" #~ msgid "Lower limit second" #~ msgstr "Secondo del limite inferiore" #~ msgid "Second part of the lower time limit" #~ msgstr "Secondo del limite inferiore del tempo" #~ msgid "Upper limit second" #~ msgstr "Secondo del limite superiore" #~ msgid "Second part of the upper time limit" #~ msgstr "Secondo del limite superiore del tempo" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:1" #~ msgid "Date" #~ msgstr "Data" #~ msgid "Enter the date directly" #~ msgstr "Inserisci la data direttamente" #~ msgid "Select Date" #~ msgstr "Seleziona la data" #~ msgid "Select the date from a calendar" #~ msgstr "Seleziona la data da un calendario" #~ msgid "Enter the time directly" #~ msgstr "Inserisci l'ora direttamente" #~ msgid "Select Time" #~ msgstr "Seleziona l'ora" #~ msgid "Select the time from a list" #~ msgstr "Seleziona l'ora da un elenco" #~ msgid "24hr: no" #~ msgstr "24hr: yes" #~ msgid "AM" #~ msgstr "AM" #~ msgid "PM" #~ msgstr "PM" #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%02d.%02d.%02d %s" #~ msgid "%02d:%02d %s" #~ msgstr "%02d.%02d %s" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d.%02d.%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d.%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d/%02d/%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u.%u.%u" #~ msgid "Orientation" #~ msgstr "Orientamento" #~ msgid "The orientation of the tray." #~ msgstr "L'orientamento del vassoio" #~ msgid "Communication Error" #~ msgstr "Errore di comunicazione" #~ msgid "" #~ "There was a problem sending information to the server. Please try again " #~ "later." #~ msgstr "" #~ "Si è verificato un problema durante l'invio delle informazioni al server. " #~ "Riprovare più tardi." #~ msgid "" #~ "There was a problem receiving information from the server. Please try " #~ "again later." #~ msgstr "" #~ "Si è verificato un problema durante la ricezione delle informazioni dal " #~ "server. Riprovare più tardi." drivel-3.0.5/po/th.po0000644000175000017500000010344211731016427011324 00000000000000# Thai translation of drivel. # Copyright (C) 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the drivel package. # Chanin Tanaponvisal , 2008. # Theppitak Karoonboonyanan , 2008. # # msgid "" msgstr "" "Project-Id-Version: drive HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2008-09-21 16:06+0700\n" "Last-Translator: Theppitak Karoonboonyanan \n" "Language-Team: Thai \n" "Language: th\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "ผู้ใช้คนปัจจุบันที่ใช้งานอยู่" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "รายชื่อของบัญชีการเขียนบันทึกข่าวที่ใช้มาก่อนในเครื่องนี้" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "" #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "Drivel: เครื่องมือแก้ไขบันทึกข่าว" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "เครื่องมือแก้ไขบันทึกข่าว" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "Chanin Tanaponvisal " #: ../src/about.c:85 msgid "With help from:" msgstr "ด้วยความช่วยเหลือจาก:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "และคนอื่นๆ อีกมากมาย ขอขอบคุณทุกคน!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "โปรแกรมลูกข่ายบันทึกข่าวสำหรับเดสก์ท็อป GNOME" #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "ข้อผิดพลาดจากเซิร์ฟเวอร์" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "ข้อผิดพลาดไม่ทราบสาเหตุ" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "" #: ../src/blog_lj.c:290 msgid "default" msgstr "ค่าปริยาย" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "ค่าปริยายของระบบ" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "ขาดชื่อบัญชีผู้ใช้" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "กรุณากรอกชื่อบัญชีผู้ใช้ที่ต้องการเพิ่ม" #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "สาธารณะ" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "ส่วนตัว" #: ../src/dialogs.c:809 msgid "Community" msgstr "ชุมชน" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "" #: ../src/dialogs.c:813 msgid "User" msgstr "ผู้ใช้" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "เพิ่มรายชื่อเพื่อน" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "ไม่สามารถเปิดแฟ้มที่เลือกได้" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "" #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "" #: ../src/dialogs.c:1442 msgid "Time" msgstr "เวลา" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "ชนิด" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "ลิงก์" #: ../src/dialogs.c:1542 msgid "Username" msgstr "บัญชีผู้ใช้" #: ../src/dialogs.c:1552 msgid "Name" msgstr "ชื่อ" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "Drivel" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "เปิดรายการบันทึกข่าวที่ยังเขียนไม่เสร็จ" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "สลับบัญชีผู้ใช้" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "_ล้างรายการ" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "_ปรับแต่ง" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "เน้นคำ_สะกดผิด" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "_วิธีใช้" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "เ_กี่ยวกับ" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "ชื่อเ_รื่อง:" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "การรักษาความป_ลอดภัย:" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "_อารมณ์:" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "_ดนตรี:" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "ปิดรับ_ความคิดเห็น" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "ไม่อนุญาตให้ผู้อ่านแสดงความเห็นใดๆ ในรายการนี้" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "ไม่ต้องจัดรูปแบบ_ข้อความอัตโนมัติ" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "ไม่ต้องแปลงอักขระขึ้นบรรทัดใหม่หรือลิงก์ไปยังเว็บไซต์ให้เป็นแท็ก HTML โดยอัตโนมัติ" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "เ_วลาประกาศ:" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "กำหนดข้อมูลเวลาแปะประกาศของรายการให้เป็นวันที่ที่กำหนด" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "รูป_ภาพ:" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "แสดง_ตัวเลือกเพิ่มเติม" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "ลบรายการที่เลือกออกจากบันทึกข่าวของคุณ" #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "_บันทึกฉบับร่าง" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "บันทึกรายการปัจจุบันโดยไม่เพิ่มเข้าในบันทึกข่าวของคุณ" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "ปรั_บข้อมูล" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "ปรับข้อมูลรายการที่เลือกในบันทึกข่าวของคุณ" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "แ_ปะประกาศ" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "แปะประกาศรายการปัจจุบันที่บันทึกข่าวของคุณ" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "แทรกโพลล์" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "คำถาม:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "ถึง:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "ปรับแต่ง Drivel" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr "พฤติกรรมการป้อนข้อความ" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "ย่อเก็บหน้าต่างหลังจากเ_ข้าระบบ" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "ย่อเก็บหน้าต่างบันทึกข่าวโดยอัตโนมัติหลังจากเข้าระบบ" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "ย่อเก็บหน้าต่างหลังจากแ_ปะประกาศ" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "ย่อเก็บหน้าต่างบันทึกข่าวโดยอัตโนมัติหลังจากแปะประกาศบันทึกข่าว" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "เ_น้น HTML ในรายการบันทึกข่าว" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "แสดงคำสำคัญของ HTML ด้วยสีที่ต่างจากข้อความปกติ" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "เน้นคำ_สะกดผิด" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "เน้นคำที่ไม่พบในพจนานุกรมของเครื่องคุณ" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "พ_จนานุกรม:" #: ../src/drivel-gtk.glade.h:62 #, fuzzy msgid "Notification Area" msgstr "พื้นที่แจ้งเหตุ" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "แจ้งเตือนเมื่อเ_พื่อนมีการเปลี่ยนแปลง" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "แสดงการแจ้งเตือนเมื่อหน้าเพื่อนของคุณมีการเปลี่ยนแปลง\n" "(สำหรับผู้ใช้ LiveJournal ที่จ่ายค่าบริการเท่านั้น)" #: ../src/drivel-gtk.glade.h:66 #, fuzzy msgid "Publication" msgstr "การประกาศ" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "แจ้ง _Technorati เมื่อมีการเปลี่ยนแปลง" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "แจ้ง Technorati ซึ่งเป็นกลไกค้นหาบันทึกข่าวยอดนิยม เกี่ยวกับรายการบันทึกข่าวใหม่" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "ทั่วไป" #: ../src/drivel-gtk.glade.h:73 #, fuzzy msgid "Default Post Options" msgstr "ตัวเลือกปริยายของการแปะประกาศ" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "ไม่ต้องแปลงอักขระขึ้นบรรทัดใหม่ให้เป็นแท็ก HTML โดยอัตโนมัติ" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "ค่าปริยายของบันทึก" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "เข้าระบบบันทึกข่าว" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "_ชื่อผู้ใช้:" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "_รหัสผ่าน:" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "เข้าระบบโดย_อัตโนมัติ" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "_จำรหัสผ่าน" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "ช_นิดบันทึกข่าว:" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "ที่อยู่เซิร์ฟเ_วอร์:" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "_ทำงานออฟไลน์" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "เ_ข้าระบบ" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "แก้ไขประวัติ" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "แ_ก้ไข" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "แก้ไขข้อมูลเพื่อน" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "" #: ../src/drivel-gtk.glade.h:89 #, fuzzy msgid "Details" msgstr "รายละเอียด" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "ชื่อบัญชีผู้ใช้:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "สีตัวอักษร:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "สีพื้นหลัง:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "เลือกสีข้อความ" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "เลือกสีพื้นหลัง" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "แทรกลิงก์" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "" #: ../src/drivel-gtk.glade.h:99 #, fuzzy msgid "Create a link to..." msgstr "สร้างลิงก์ไปยัง..." #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "" #: ../src/drivel-gtk.glade.h:105 #, fuzzy msgid "_Insert Link..." msgstr "แทรกลิงก์..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "แทรกภาพ" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "พิกเซล" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "" #: ../src/drivel-gtk.glade.h:114 #, fuzzy msgid "_Insert Image..." msgstr "แทรกรูป..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "" #: ../src/drivel-gtk.glade.h:116 #, fuzzy msgid "Groups" msgstr "กลุ่ม" #: ../src/drivel-gtk.glade.h:117 #, fuzzy msgid "Group Details" msgstr "รายละเอียดของกลุ่ม" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "ผู้ใช้ทุกคน" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "เพื่อน" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "ข้อความ" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "เรียกรายชื่อใหม่" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "แฟ้ม XML ทั้งหมด" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "_บันทึกข่าว" #: ../src/journal.c:3374 msgid "_View" msgstr "มุ_มมอง" #: ../src/journal.c:3375 msgid "_Format" msgstr "ฟอร์แม_ต" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "เว็บลิ_งก์" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "_วิธีใช้" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "_เปิดฉบับร่าง..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "_บันทึกฉบับร่าง" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "บันทึกฉบับร่างเป็_น..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "_รายการล่าสุด" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "ฉ_บับร่างล่าสุด" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "แ_ปะประกาศรายการ" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "ปรับ_ข้อมูลรายการ" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "_ลบรายการ" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "ออ_กจากระบบ" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "_ล้างรายการ" #: ../src/journal.c:3390 msgid "Select _All" msgstr "เลือกทั้ง_หมด" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "รายการสุด_ท้าย" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "แก้ไขรายการสุดท้ายที่คุณแปะประกาศ" #: ../src/journal.c:3393 msgid "_Friends" msgstr "เ_พื่อน" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "แก้ไขรายชื่อเพื่อนของคุณ" #: ../src/journal.c:3394 msgid "_History" msgstr "ประ_วัติ" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "ดูหรือแก้ไขรายการก่อนหน้า" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "_บันทึกข่าวที่ทำงานอยู่" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "ตัว_ยก" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "ตัว_ห้อย" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "" #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "" #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "" #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "เนื้อ_หา" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "คำ_ถามถามบ่อย" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "เ_กี่ยวกับ" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "_ตัวเลือกเพิ่มเติมสำหรับรายการ" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "เน้นคำ_สะกดผิด" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "เน้น _HTML" #: ../src/login.c:504 msgid "Bad username" msgstr "" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "บัญชีผู้ใช้มีอักขระต้องห้ามอยู่" #: ../src/login.c:929 msgid "Remove Account" msgstr "ลบบัญชีผู้ใช้" #: ../src/login.c:931 msgid "_Preferences" msgstr "_ปรับแต่ง" #: ../src/login.c:1139 msgid "Drafts" msgstr "ร่าง" #: ../src/main.c:58 msgid "Error" msgstr "ผิดพลาด" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "ว้า แย่จริง ตอนนี้เซิร์ฟเวอร์เกิดความผิดพลาด กรุณาลองใหม่ภายหลัง" #: ../src/main.c:351 msgid "Friends Only" msgstr "เฉพาะเพื่อนเท่านั้น" #: ../src/main.c:767 #, fuzzy msgid "Display debugging output" msgstr "นาทีที่แสดง" #: ../src/main.c:770 msgid "file" msgstr "" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "" #: ../src/network.c:64 msgid "Done" msgstr "" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "" #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "กำลังดาวน์โหลดรูปภาพของผู้ใช้" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "กำลังดึงรายการบันทึกข่าว" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "กำลังปรับข้อมูลรายชื่อเพื่อน" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "" #: ../src/network.c:118 msgid "Setting categories" msgstr "" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "" #: ../src/network.c:143 msgid "Updating security groups" msgstr "" #: ../src/network.c:315 msgid "Network connection failed" msgstr "การเชื่อมต่อเครือข่ายล้มเหลว" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "ไม่เข้าใจคำตอบจากเซิร์ฟเวอร์" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "ไม่มีเพลงใดเล่นอยู่" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "ไม่มีชื่อ" #, fuzzy #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "ตัวอย่าง: http://gnome.org/pic.png" #, fuzzy #~ msgid "Example: http://www.gnome.org" #~ msgstr "ตัวอย่าง: http://www.gnome.org" #~ msgid "Retrieving user information" #~ msgstr "กำลังดึงข้อมูลของผู้ใช้" #~ msgid "We're doing something, but I'm not sure what" #~ msgstr "เรากำลังทำอะไรบ้างอย่างอยู่ แต่ไม่แน่ใจว่าเป็นอะไร" #~ msgid "Sending / Receiving" #~ msgstr "กำลังรับ/ส่งข้อมูล" #~ msgid "Image" #~ msgstr "ภาพ" #~ msgid "Link" #~ msgstr "ลิงก์" #~ msgid "Display flags" #~ msgstr "แฟล็กการแสดงผล" #~ msgid "Displayed date and/or time properties" #~ msgstr "ตัวเลือกสำหรับการแสดงวันที่ และ/หรือ เวลา" #~ msgid "Lazy mode" #~ msgstr "โหมดเกียจคร้าน" #~ msgid "Lazy mode doesn't normalize entered date and time values" #~ msgstr "โหมดเกียจคร้านจะไม่ปรับรูปแบบวันที่และเวลาที่ป้อนให้เข้ารูป" #~ msgid "Year" #~ msgstr "ปี" #~ msgid "Displayed year" #~ msgstr "ปีที่แสดง" #~ msgid "Month" #~ msgstr "เดือน" #~ msgid "Displayed month" #~ msgstr "เดือนที่แสดง" #~ msgid "Day" #~ msgstr "วันที่" #~ msgid "Displayed day of month" #~ msgstr "วันที่ที่แสดง" #~ msgid "Hour" #~ msgstr "ชั่วโมง" #~ msgid "Displayed hour" #~ msgstr "ชั่วโมงที่แสดง" #~ msgid "Minute" #~ msgstr "นาที" #~ msgid "Second" #~ msgstr "วินาที" #~ msgid "Displayed second" #~ msgstr "วินาทีที่แสดง" #~ msgid "Lower limit year" #~ msgstr "ปีของกำหนดวันต่ำสุด" #~ msgid "Year part of the lower date limit" #~ msgstr "ปีของกำหนดวันต่ำสุด" #~ msgid "Upper limit year" #~ msgstr "ปีของกำหนดวันสูงสุด" #~ msgid "Year part of the upper date limit" #~ msgstr "ปีของกำหนดวันสูงสุด" #~ msgid "Lower limit month" #~ msgstr "เดือนของกำหนดวันต่ำสุด" #~ msgid "Month part of the lower date limit" #~ msgstr "เดือนของกำหนดวันต่ำสุด" #~ msgid "Upper limit month" #~ msgstr "เดือนของกำหนดวันสูงสุด" #~ msgid "Month part of the upper date limit" #~ msgstr "เดือนของกำหนดวันสูงสุด" #~ msgid "Lower limit day" #~ msgstr "วันที่ของกำหนดวันต่ำสุด" #~ msgid "Day of month part of the lower date limit" #~ msgstr "วันที่ของกำหนดวันต่ำสุด" #~ msgid "Upper limit day" #~ msgstr "วันที่ของกำหนดวันสูงสุด" #~ msgid "Day of month part of the upper date limit" #~ msgstr "วันที่ของกำหนดวันสูงสุด" #~ msgid "Lower limit hour" #~ msgstr "ชั่วโมงของกำหนดเวลาต่ำสุด" #~ msgid "Hour part of the lower time limit" #~ msgstr "ชั่วโมงของกำหนดเวลาต่ำสุด" #~ msgid "Upper limit hour" #~ msgstr "ชั่วโมงของกำหนดเวลาสูงสุด" #~ msgid "Hour part of the upper time limit" #~ msgstr "ชั่วโมงของกำหนดเวลาสูงสุด" #~ msgid "Lower limit minute" #~ msgstr "นาทีของกำหนดเวลาต่ำสุด" #~ msgid "Minute part of the lower time limit" #~ msgstr "นาทีของกำหนดเวลาต่ำสุด" #~ msgid "Upper limit minute" #~ msgstr "นาทีของกำหนดเวลาสูงสุด" #~ msgid "Minute part of the upper time limit" #~ msgstr "นาทีของกำหนดเวลาสูงสุด" #~ msgid "Lower limit second" #~ msgstr "วินาทีของกำหนดเวลาต่ำสุด" #~ msgid "Second part of the lower time limit" #~ msgstr "วินาทีของกำหนดเวลาต่ำสุด" #~ msgid "Upper limit second" #~ msgstr "วินาทีของกำหนดเวลาสูงสุด" #~ msgid "Second part of the upper time limit" #~ msgstr "วินาทีของกำหนดเวลาสูงสุด" #~ msgid "calendar:week_start:0" #~ msgstr "calendar:week_start:0" #~ msgid "Date" #~ msgstr "วันที่" #~ msgid "Enter the date directly" #~ msgstr "ป้อนวันที่โดยตรง" #~ msgid "Select Date" #~ msgstr "เลือกวันที่" #~ msgid "Select the date from a calendar" #~ msgstr "เลือกวันที่จากปฏิทิน" #~ msgid "Enter the time directly" #~ msgstr "กรอกเวลาตามเวลาจริง" #~ msgid "Select Time" #~ msgstr "เลือกเวลา" #~ msgid "Select the time from a list" #~ msgstr "เลือกเวลาจากรายการ" #~ msgid "24hr: no" #~ msgstr "24hr: yes" #~ msgid "AM" #~ msgstr "AM" #~ msgid "PM" #~ msgstr "AM" #~ msgid "%02d:%02d:%02d %s" #~ msgstr "%02d:%02d:%02d %s" #~ msgid "%02d:%02d %s" #~ msgstr "%02d:%02d %s" #~ msgid "%02d:%02d:%02d" #~ msgstr "%02d:%02d:%02d" #~ msgid "%02d:%02d" #~ msgstr "%02d:%02d" #~ msgid "%04d-%02d-%02d" #~ msgstr "%04d-%02d-%02d" #~ msgid "%u:%u:%u" #~ msgstr "%u:%u:%u" #~ msgid "Orientation" #~ msgstr "แนววาง" #~ msgid "The orientation of the tray." #~ msgstr "แนววางของถาด" drivel-3.0.5/po/rw.po0000644000175000017500000010510011731016427011332 00000000000000# translation of drivel to Kinyarwanda. # Copyright (C) 2005 Free Software Foundation, Inc. # This file is distributed under the same license as the drivel package. # Steve Murphy , 2005 # Steve performed initial rough translation from compendium built from translations provided by the following translators: # Philibert Ndandali , 2005. # Viateur MUGENZI , 2005. # Noëlla Mupole , 2005. # Carole Karema , 2005. # JEAN BAPTISTE NGENDAHAYO , 2005. # Augustin KIBERWA , 2005. # Donatien NSENGIYUMVA , 2005.. # msgid "" msgstr "" "Project-Id-Version: drivel HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2005-03-31 20:55-0700\n" "Last-Translator: \n" "Language-Team: Kinyarwanda \n" "Language: rw\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "ULL NAME \n" #: ../data/drivel.schemas.in.h:1 #, fuzzy msgid "The currently logged-in user." msgstr "in Ukoresha:" #: ../data/drivel.schemas.in.h:2 #, fuzzy msgid "A list of every journal username previously used on this machine." msgstr "A Urutonde Bya buri Ikinyamakuru Izina ry'ukoresha ku iyi" #: ../data/drivel.schemas.in.h:3 #, fuzzy msgid "The number of moods stored locally." msgstr "Umubare Bya" #: ../data/drivel.schemas.in.h:4 #, fuzzy msgid "A list of moods for the drivel menu." msgstr "A Urutonde Bya kugirango i Ibikubiyemo" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "" #: ../data/gnome-drivel.desktop.in.h:3 #, fuzzy msgid "Update and manage your online journal" msgstr "Na kuyobora kiri kuri interineti Ikinyamakuru" #: ../data/mime/drivel.xml.in.h:1 #, fuzzy msgid "Draft journal entry" msgstr "Ikinyamakuru Icyinjijwe" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 #, fuzzy msgid "translator-credits" msgstr "Umusemuzi" #: ../src/about.c:85 #, fuzzy msgid "With help from:" msgstr "Ifashayobora Bivuye" #: ../src/about.c:90 #, fuzzy msgid "And many others--thank you, all!" msgstr "Ibindi Byose" #: ../src/about.c:102 #, fuzzy msgid "A journal client for the GNOME desktop." msgstr "A Umukiriya kugirango i Ibiro" #: ../src/about.c:108 msgid "Homepage:" msgstr "" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 #, fuzzy msgid "Server error" msgstr "Ikosa" #: ../src/blog_atom.c:302 #, fuzzy msgid "The server did not return a valid Atom response." msgstr "Seriveri OYA Garuka a Byemewe" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "" #: ../src/blog_atom.c:411 #, fuzzy msgid "Error Posting Entry" msgstr "Ikinyamakuru Icyinjijwe" # Lock column values #: ../src/blog_lj.c:290 msgid "default" msgstr "mburabuzi" # goodies/source\filter.vcl\eps\dlgeps.src:DLG_EXPORT_EPS.RB_COMPRESSION_NONE.text #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "Nta na kimwe" # svtools/source\dialogs\prnsetup.src:STR_SVT_PRNDLG_OFFLINE.text #: ../src/blog_offline.c:41 msgid "Offline" msgstr "Ntibicometse kuri interineti" #: ../src/dialogs.c:319 ../src/dialogs.c:714 #, fuzzy msgid "[No journal entries]" msgstr "[Ikinyamakuru Ibyinjijwe" #. Context: Spell check dictionary #: ../src/dialogs.c:394 #, fuzzy msgid "System default" msgstr "Mburabuzi" #: ../src/dialogs.c:426 #, fuzzy msgid "Missing username" msgstr "Izina ry'ukoresha" #: ../src/dialogs.c:427 #, fuzzy msgid "Please enter a username to add." msgstr "Injiza a Izina ry'ukoresha Kuri Kongeramo" # 4900 #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "Rusange" # sw/source\ui\envelp\label.src:DLG_LAB.1.TP_PRIVATE_DATA.text #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "By'umwihariko" #: ../src/dialogs.c:809 msgid "Community" msgstr "" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "" # #-#-#-#-# svx.pot (PACKAGE VERSION) #-#-#-#-# # svx/source\dialog\chardlg.src:RID_SVXSTR_COLOR_USER.text # #-#-#-#-# svx.pot (PACKAGE VERSION) #-#-#-#-# # svx/source\dialog\page.src:RID_SVXSTRARY_PAPERSIZE_STD.13.text # #-#-#-#-# svx.pot (PACKAGE VERSION) #-#-#-#-# # svx/source\dialog\page.src:RID_SVXSTRARY_PAPERSIZE_DRAW.16.text #: ../src/dialogs.c:813 msgid "User" msgstr "Ukoresha" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "" #: ../src/dialogs.c:895 #, fuzzy msgid "_Friend's username:" msgstr "Izina ry'ukoresha" #: ../src/dialogs.c:914 #, fuzzy msgid "_Text color:" msgstr "Ibara ry'Inyandiko..." # svx/source\items\svxitems.src:RID_SVXITEMS_BACKGROUND_COLOR.text #: ../src/dialogs.c:929 #, fuzzy msgid "_Background color:" msgstr "Ibara rya mbuganyuma:" #: ../src/dialogs.c:1261 #, fuzzy msgid "Could not perform the file operation" msgstr "OYA i IDOSIYE" #: ../src/dialogs.c:1275 #, fuzzy msgid "Could not open the selected file" msgstr "OYA Gufungura i Byahiswemo IDOSIYE" #: ../src/dialogs.c:1323 #, fuzzy msgid "Save the content of this journal entry instead of clearing?" msgstr "Kubika Amahinduka Kuri iyi Ikinyamakuru Icyinjijwe Mbere" #: ../src/dialogs.c:1324 #, fuzzy msgid "If you don't save, content of this entry will be discarded." msgstr "Kubika Amahinduka Kuri iyi Icyinjijwe" #: ../src/dialogs.c:1359 #, fuzzy msgid "Save changes to this journal entry before closing?" msgstr "Kubika Amahinduka Kuri iyi Ikinyamakuru Icyinjijwe Mbere" #: ../src/dialogs.c:1360 #, fuzzy msgid "If you don't save, changes to this entry will be discarded." msgstr "Kubika Amahinduka Kuri iyi Icyinjijwe" #: ../src/dialogs.c:1442 msgid "Time" msgstr "Igihe" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "" # filter/source\xsltdialog\xmlfilterdialogstrings.src:STR_COLUMN_HEADER_TYPE.text #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "Ubwoko" # offmgr/source\offapp\dialog\hyprlink.src:RID_SVXDLG_HYPERLINK.BTN_INSERT_BOOKMARK.text #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "Ihuza" #: ../src/dialogs.c:1542 msgid "Username" msgstr "Izina ry'ukoresha" #: ../src/dialogs.c:1552 msgid "Name" msgstr "Izina" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 #, fuzzy msgid "Open an unfinished journal entry" msgstr "Ikinyamakuru Icyinjijwe" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "" # offmgr/source\offapp\dialog\autocdlg.src:RID_OFAPAGE_AUTOCOMPLETE_OPTIONS.PB_ENTRIES.text #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "Gusiba Icyinjijwe" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "Ibyahiswemo" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "Amagambo" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "Ifashayobora" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "Bigyanye" # sfx2/source\dialog\mailwindow.src:RID_MAIL_WINDOW.FT_MAILWIN_SUBJECT.text #: ../src/drivel-gtk.glade.h:13 #, fuzzy msgid "_Subject:" msgstr "Ikivugwaho" #: ../src/drivel-gtk.glade.h:14 #, fuzzy msgid "Securit_y:" msgstr "Umutekano" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "" #: ../src/drivel-gtk.glade.h:18 #, fuzzy msgid "Tur_n off comments" msgstr "Bidakora Ibisobanuro" #: ../src/drivel-gtk.glade.h:19 #, fuzzy msgid "Do not allow users to comment on this entry" msgstr "OYA Kwemerera Kuri Icyo wongeraho ku iyi Icyinjijwe" #: ../src/drivel-gtk.glade.h:20 #, fuzzy msgid "Don't auto-format _text" msgstr "Ikiyega Imiterere Umwandiko" #: ../src/drivel-gtk.glade.h:21 #, fuzzy msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "OYA ku buryo bwikora Umurongo Amataruka Cyangwa Webu amahuza" #: ../src/drivel-gtk.glade.h:22 #, fuzzy msgid "Past d_ate:" msgstr "Itariki" #: ../src/drivel-gtk.glade.h:23 #, fuzzy msgid "Mark entry as having been posted on the selected date" msgstr "Icyinjijwe Nka ku i Byahiswemo Itariki" #: ../src/drivel-gtk.glade.h:24 #, fuzzy msgid "Pictu_re:" msgstr "Ishusho..." # so3/src\svuidlg.src:MD_DDE_LINKEDIT.FT_DDE_ITEM.text #: ../src/drivel-gtk.glade.h:25 #, fuzzy msgid "Ca_tegory:" msgstr "Icyiciro" #: ../src/drivel-gtk.glade.h:26 #, fuzzy msgid "Show more _options" msgstr "Birenzeho Amahitamo" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 #, fuzzy msgid "Delete the selected entry from your journal." msgstr "i Byahiswemo Icyinjijwe Bivuye Ikinyamakuru" # offmgr/sdi\ofaslots.src:SID_MAIL_FILE.text #: ../src/drivel-gtk.glade.h:28 #, fuzzy msgid "Save Dra_ft" msgstr "Gushyingura Imbanzirizanyandiko" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 #, fuzzy msgid "Save the current entry without adding it to your journal" msgstr "Kubika i KIGEZWEHO Icyinjijwe Wongera Kuri Ikinyamakuru" #: ../src/drivel-gtk.glade.h:30 #, fuzzy msgid "Upd_ate" msgstr "Kuvugurura" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 #, fuzzy msgid "Update the selected entry in your journal" msgstr "i Byahiswemo Icyinjijwe in Ikinyamakuru" #: ../src/drivel-gtk.glade.h:32 #, fuzzy msgid "_Post" msgstr "Iposita" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 #, fuzzy msgid "Post the current entry to your journal" msgstr "i KIGEZWEHO Icyinjijwe Kuri Ikinyamakuru" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "" #: ../src/drivel-gtk.glade.h:35 #, fuzzy msgid "Poll _name (optional):" msgstr "Izina: i Bitari ngombwa i" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "" #: ../src/drivel-gtk.glade.h:37 #, fuzzy msgid "_Results visible to:" msgstr "Kigaragara Kuri" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "" # sfx2/source\dialog\dinfdlg.src:TP_DOCINFODOC.FT_FILE_TYP.text #: ../src/drivel-gtk.glade.h:42 #, fuzzy msgid "_Type:" msgstr "Ubwoko" #: ../src/drivel-gtk.glade.h:43 #, fuzzy msgid "Qu_estion:" msgstr "Umwirondoro:" #: ../src/drivel-gtk.glade.h:44 #, fuzzy msgid "Text _field size (optional):" msgstr "Umwanya Ingano i Bitari ngombwa i" #: ../src/drivel-gtk.glade.h:45 #, fuzzy msgid "Maximum text _length (optional):" msgstr "Umwandiko Uburebure i Bitari ngombwa i" #: ../src/drivel-gtk.glade.h:46 #, fuzzy msgid "_From:" msgstr "Kuva:" # address labels # LOCALIZATION NOTE addressingWidgetOverlay.dtd The basic mail/news composition headers as they are seen in UI #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "Kuri:" # sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_BY.text #: ../src/drivel-gtk.glade.h:48 #, fuzzy msgid "_By:" msgstr "ku" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "" # basctl/source\basicide\basidesh.src:RID_POPUP_TABBAR.RID_INSERT.text #: ../src/drivel-gtk.glade.h:50 #, fuzzy msgid "_Insert" msgstr "Kongeramo" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "" #: ../src/drivel-gtk.glade.h:52 #, fuzzy msgid "Entry Behavior" msgstr "Image" #~ msgstr "Link" #~ msgstr ", 2004. # Amanpreet Singh Alam , 2004. # A S Alam , 2009. msgid "" msgstr "" "Project-Id-Version: pa\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-17 05:11+0000\n" "PO-Revision-Date: 2009-09-30 07:37+0530\n" "Last-Translator: A S Alam \n" "Language-Team: American English \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/drivel.schemas.in.h:1 msgid "The currently logged-in user." msgstr "ਮੌਜੂਦਾ ਲਾਗਇਨ ਹੋਇਆ ਯੂਜ਼ਰ ਹੈ।" #: ../data/drivel.schemas.in.h:2 msgid "A list of every journal username previously used on this machine." msgstr "ਇਸ ਮਸ਼ੀਨ ਉੱਤੇ ਪਹਿਲਾਂ ਵਰਤੇ ਗਏ ਹਰੇਕ ਜਰਨਲ ਯੂਜ਼ਰ-ਨਾਂ ਦੀ ਲਿਸਟ ਹੈ।" #: ../data/drivel.schemas.in.h:3 msgid "The number of moods stored locally." msgstr "ਲੋਕਲੀ ਸਟੋਰ ਕੀਤੇ ਮੂਡ ਦੀ ਗਿਣਤੀ ਹੈ।" #: ../data/drivel.schemas.in.h:4 msgid "A list of moods for the drivel menu." msgstr "ਡਰਿਵੀਲ ਮੇਨੂ ਲਈ ਮੂਡ ਦੀ ਲਿਸਟ ਹੈ।" #: ../data/gnome-drivel.desktop.in.h:1 ../src/about.c:98 msgid "Drivel Journal Editor" msgstr "ਡਰਿਵੀਲ ਜਰਨਲ ਐਡੀਟਰ" #: ../data/gnome-drivel.desktop.in.h:2 msgid "Journal Editor" msgstr "ਜਰਨਲ ਐਡੀਟਰ" #: ../data/gnome-drivel.desktop.in.h:3 msgid "Update and manage your online journal" msgstr "ਆਪਣਾ ਆਨਲਾਈਨ ਜਰਨਲ ਅੱਪਡੇਟ ਕਰੋ ਅਤੇ ਪਰਬੰਧ ਕਰੋ" #: ../data/mime/drivel.xml.in.h:1 msgid "Draft journal entry" msgstr "ਡਰਾਫਟ ਜਰਨਲ ਐਂਟਰੀ" #. #. * Translators should localize the following string #. * which will give them credit in the About box. #. * E.g. "Fulano de Tal " #: ../src/about.c:68 msgid "translator-credits" msgstr "" "ਅਮਨਪ੍ਰੀਤ ਸਿੰਘ ਆਲਮ ੨੦੦੪ ਅ.ਸ.ਆਲਮ " "੨੦੦੯" #: ../src/about.c:85 msgid "With help from:" msgstr "ਮੱਦਦ ਨਾਲ:" #: ../src/about.c:90 msgid "And many others--thank you, all!" msgstr "ਅਤੇ ਕੋਈ ਹੋਰ -- ਤੁਹਾਡਾ ਸਭ ਦਾ ਧੰਨਵਾਦ ਹੈ!" #: ../src/about.c:102 msgid "A journal client for the GNOME desktop." msgstr "ਗਨੋਮ ਡੈਸਕਟਾਪ ਲਈ ਜਰਨਲ ਕਲਾਇਟ ਹੈ।" #: ../src/about.c:108 msgid "Homepage:" msgstr "ਮੁੱਖ ਪੇਜ਼:" #: ../src/blog_atom.c:301 ../src/network.c:315 ../src/network.c:321 #: ../src/network.c:365 msgid "Server error" msgstr "ਸਰਵਰ ਗਲਤੀ" #: ../src/blog_atom.c:302 msgid "The server did not return a valid Atom response." msgstr "ਸਰਵਰ ਨੇ ਢੁੱਕਵਾਂ ਐਟਮ ਜਵਾਬ ਨਹੀਂ ਦਿੱਤਾ ਹੈ।" #: ../src/blog_atom.c:408 msgid "Unknown error" msgstr "ਅਣਜਾਣ ਗਲਤੀ" #: ../src/blog_atom.c:411 msgid "Error Posting Entry" msgstr "ਐਂਟਰੀ ਪੋਸਟ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ" #: ../src/blog_lj.c:290 msgid "default" msgstr "ਡਿਫਾਲਟ" #: ../src/blog_mt.c:140 ../src/insert_poll_dialog.c:175 ../src/main.c:632 #: ../src/main.c:634 msgid "None" msgstr "ਕੋਈ ਨਹੀਂ" #: ../src/blog_offline.c:41 msgid "Offline" msgstr "ਆਫਲਾਈਨ" #: ../src/dialogs.c:319 ../src/dialogs.c:714 msgid "[No journal entries]" msgstr "[ਕੋਈ ਜਰਨਲ ਐਂਟਰੀ ਨਹੀਂ]" #. Context: Spell check dictionary #: ../src/dialogs.c:394 msgid "System default" msgstr "ਸਿਸਟਮ ਡਿਫਾਲਟ" #: ../src/dialogs.c:426 msgid "Missing username" msgstr "ਯੂਜ਼ਰ-ਨਾਂ ਨਹੀਂ ਹੈ" #: ../src/dialogs.c:427 msgid "Please enter a username to add." msgstr "ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਯੂਜ਼ਰ-ਨਾਂ ਦਿਓ ਜੀ।" #: ../src/dialogs.c:650 ../src/main.c:349 ../src/utils.c:520 msgid "Public" msgstr "ਪਬਲਿਕ" #: ../src/dialogs.c:655 ../src/main.c:353 ../src/utils.c:514 msgid "Private" msgstr "ਨਿੱਜੀ" #: ../src/dialogs.c:809 msgid "Community" msgstr "ਕਮਿਊਨਟੀ" #: ../src/dialogs.c:811 msgid "Syndicated Feed" msgstr "ਸਿੰਡੀਕੇਟ ਫੀਡ" #: ../src/dialogs.c:813 msgid "User" msgstr "ਯੂਜ਼ਰ" #: ../src/dialogs.c:867 msgid "Add Friend" msgstr "ਮਿੱਤਰ ਸ਼ਾਮਿਲ ਕਰੋ" #: ../src/dialogs.c:895 msgid "_Friend's username:" msgstr "ਮਿੱਤਰ ਦਾ ਯੂਜ਼ਰ ਨਾਂ(_F):" #: ../src/dialogs.c:914 msgid "_Text color:" msgstr "ਟੈਕਸਟ ਰੰਗ(_T):" #: ../src/dialogs.c:929 msgid "_Background color:" msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ(_B):" #: ../src/dialogs.c:1261 msgid "Could not perform the file operation" msgstr "ਫਾਇਲ ਓਪਰੇਸ਼ਨ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" #: ../src/dialogs.c:1275 msgid "Could not open the selected file" msgstr "ਚੁਣੀ ਫਾਇਲ ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ" #: ../src/dialogs.c:1323 msgid "Save the content of this journal entry instead of clearing?" msgstr "ਇਹ ਜਰਨਲ ਐਂਟਰੀ ਦੀ ਸਮੱਗਰੀ ਨੂੰ ਸਾਫ਼ ਕਰਨ ਦੀ ਬਜਾਏ ਸੰਭਾਲਣਾ ਹੈ?" #: ../src/dialogs.c:1324 msgid "If you don't save, content of this entry will be discarded." msgstr "ਜੇ ਤੁਸੀਂ ਨਾ ਸੰਭਾਲਿਆ ਤਾਂ ਇਹ ਐਂਟਰੀ ਦੀ ਸਮੱਗਰੀ ਅਣਡਿੱਠੀ ਕੀਤੀ ਜਾਵੇਗੀ।" #: ../src/dialogs.c:1359 msgid "Save changes to this journal entry before closing?" msgstr "ਕੀ ਬੰਦ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਜਰਨਲ ਐਂਟਰੀ ਬਦਲਾਅ ਸੰਭਾਲਣੇ ਹਨ?" #: ../src/dialogs.c:1360 msgid "If you don't save, changes to this entry will be discarded." msgstr "ਜੇ ਤੁਸੀਂ ਨਹੀਂ ਸੰਭਾਲਦੇ ਤਾਂ ਇਹ ਐਂਟਰੀ ਲਈ ਬਦਲਾਅ ਅਣਡਿੱਠੇ ਕੀਤੇ ਜਾਣਗੇ।" #: ../src/dialogs.c:1442 msgid "Time" msgstr "ਸਮਾਂ" #: ../src/dialogs.c:1450 msgid "Journal Entry" msgstr "ਜਰਨਲ ਐਂਟਰੀ" #: ../src/dialogs.c:1526 ../src/insert_poll_dialog.c:193 msgid "Type" msgstr "ਕਿਸਮ" #: ../src/dialogs.c:1534 ../src/drivel-gtk.glade.h:97 msgid "Link" msgstr "ਲਿੰਕ" #: ../src/dialogs.c:1542 msgid "Username" msgstr "ਯੂਜ਼ਰ ਨਾਂ" #: ../src/dialogs.c:1552 msgid "Name" msgstr "ਨਾਂ" #: ../src/dialogs.c:1795 ../src/dialogs.c:1802 msgid "Available" msgstr "ਉਪਲੱਬਧ" #: ../src/dialogs.c:1809 msgid "In Group" msgstr "ਗਰੁੱਪ ਵਿੱਚ" #: ../src/drivel-gtk.glade.h:1 msgid "Drivel" msgstr "ਡਰਿਵੀਲ" #: ../src/drivel-gtk.glade.h:2 ../src/journal.c:3378 msgid "Open an unfinished journal entry" msgstr "ਨਾ-ਪੂਰੀ ਕੀਤੀ ਜਰਨਲ ਐਂਟਰੀ ਖੋਲ੍ਹੋ" #: ../src/drivel-gtk.glade.h:3 ../src/journal.c:3387 msgid "Switch usernames" msgstr "ਯੂਜ਼ਰ ਨਾਂ ਬਦਲੋ" #: ../src/drivel-gtk.glade.h:4 #, fuzzy msgid "Clear Entry" msgstr "ਐਂਟਰੀ ਸਾਫ਼ ਕਰੋ(_l)" #: ../src/drivel-gtk.glade.h:5 #, fuzzy msgid "Preferences" msgstr "ਮੇਰੀ ਪਸੰਦ(_P)" #: ../src/drivel-gtk.glade.h:6 #, fuzzy msgid "Highlight Spelling Errors" msgstr "ਗਲਤ ਸ਼ਬਦ-ਜੋੜ ਹਾਈਲਾਈਟ(_S)" #: ../src/drivel-gtk.glade.h:7 msgid "Bold" msgstr "" #: ../src/drivel-gtk.glade.h:8 msgid "Italic" msgstr "" #: ../src/drivel-gtk.glade.h:9 msgid "Underline" msgstr "" #: ../src/drivel-gtk.glade.h:10 msgid "Strike through" msgstr "" #: ../src/drivel-gtk.glade.h:11 #, fuzzy msgid "Help" msgstr "ਮੱਦਦ(_H)" #: ../src/drivel-gtk.glade.h:12 #, fuzzy msgid "About" msgstr "ਇਸ ਬਾਰੇ(_A)" #: ../src/drivel-gtk.glade.h:13 msgid "_Subject:" msgstr "ਵਿਸ਼ਾ(_S):" #: ../src/drivel-gtk.glade.h:14 msgid "Securit_y:" msgstr "ਸੁਰੱਖਿਆ(_y):" #: ../src/drivel-gtk.glade.h:15 msgid "_Mood:" msgstr "ਮੂਡ(_M):" #: ../src/drivel-gtk.glade.h:16 msgid "M_usic:" msgstr "ਸੰਗੀਤ(_u):" #: ../src/drivel-gtk.glade.h:17 msgid "Ta_gs:" msgstr "ਟੈਗ(_g):" #: ../src/drivel-gtk.glade.h:18 msgid "Tur_n off comments" msgstr "ਟਿੱਪਣੀਆਂ ਬੰਦ(_n)" #: ../src/drivel-gtk.glade.h:19 msgid "Do not allow users to comment on this entry" msgstr "ਯੂਜ਼ਰਾਂ ਨੂੰ ਇਹ ਐਂਟਰੀ ਲਈ ਟਿੱਪਣੀ ਨਾ ਲਿਖਣ ਦਿਓ" #: ../src/drivel-gtk.glade.h:20 msgid "Don't auto-format _text" msgstr "ਟੈਕਸਟ ਆਟੋ-ਫਾਰਮੈਟ ਨਾ ਕਰੋ(_t)" #: ../src/drivel-gtk.glade.h:21 msgid "Do not automatically parse line-breaks or website links into HTML tags" msgstr "ਲਾਈਨ-ਬਰੇਕ ਜਾਂ ਵੈੱਬਸਾਈਟ ਲਿੰਕਾਂ ਨੂੰ HTML ਟੈਗ ਵਿੱਚ ਆਟੋਮੈਟਿਕ ਪਾਰਸ ਨਾ ਕਰੋ" #: ../src/drivel-gtk.glade.h:22 msgid "Past d_ate:" msgstr "ਪੋਸਟ ਕਰਨ ਮਿਤੀ(_a):" #: ../src/drivel-gtk.glade.h:23 msgid "Mark entry as having been posted on the selected date" msgstr "ਐਂਟਰੀ ਨੂੰ ਇੰਝ ਮਾਰਕ ਕਰੋ, ਜਿਵੇਂ ਚੁਣੀ ਮਿਤੀ ਨੂੰ ਪੋਸਟ ਕੀਤੀ ਗਈ ਹੋਵੇ" #: ../src/drivel-gtk.glade.h:24 msgid "Pictu_re:" msgstr "ਤਸਵੀਰ(_r):" #: ../src/drivel-gtk.glade.h:25 msgid "Ca_tegory:" msgstr "ਕੈਟਾਗਰੀ(_t):" #: ../src/drivel-gtk.glade.h:26 msgid "Show more _options" msgstr "ਹੋਰ ਚੋਣਾਂ ਵੇਖੋ(_o)" #: ../src/drivel-gtk.glade.h:27 ../src/journal.c:3386 msgid "Delete the selected entry from your journal." msgstr "ਚੁਣੀ ਐਂਟਰੀ ਆਪਣੇ ਜਰਨਲ ਵਿੱਚੋਂ ਹਟਾਓ।" #: ../src/drivel-gtk.glade.h:28 msgid "Save Dra_ft" msgstr "ਡਰਾਫਟ ਵਾਂਗ ਸੰਭਾਲੋ(_f)" #: ../src/drivel-gtk.glade.h:29 ../src/journal.c:3379 ../src/journal.c:3380 msgid "Save the current entry without adding it to your journal" msgstr "ਮੌਜੂਦਾ ਐਂਟਰੀ ਨੂੰ ਆਪਣੇ ਜਰਨਲ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤੇ ਬਿਨਾਂ ਸੰਭਾਲੋ" #: ../src/drivel-gtk.glade.h:30 msgid "Upd_ate" msgstr "ਅੱਪਡੇਟ(_a)" #: ../src/drivel-gtk.glade.h:31 ../src/journal.c:3385 msgid "Update the selected entry in your journal" msgstr "ਚੁਣੀ ਐਂਟਰੀ ਆਪਣੇ ਜਰਨਲ ਵਿੱਚ ਅੱਪਡੇਟ ਕਰੋ" #: ../src/drivel-gtk.glade.h:32 msgid "_Post" msgstr "ਪੋਸਟ(_P)" #: ../src/drivel-gtk.glade.h:33 ../src/journal.c:3383 msgid "Post the current entry to your journal" msgstr "ਆਪਣੇ ਜਰਨਲ ਵਿੱਚ ਮੌਜੂਦਾ ਐਂਟਰੀ ਪੋਸਟ ਕਰੋ" #: ../src/drivel-gtk.glade.h:34 msgid "Insert Poll" msgstr "ਪੋਲ ਸ਼ਾਮਿਲ ਕਰੋ" #: ../src/drivel-gtk.glade.h:35 msgid "Poll _name (optional):" msgstr "ਪੋਲ ਨਾਂ (ਚੋਣਵਾਂ)(_n):" #: ../src/drivel-gtk.glade.h:36 msgid "Voter_s:" msgstr "ਵੋਟਰ(_s):" #: ../src/drivel-gtk.glade.h:37 msgid "_Results visible to:" msgstr "ਨਤੀਜੇ ਵੇਖਣੇ ਹਨ(_R):" #: ../src/drivel-gtk.glade.h:38 msgid "Questions:" msgstr "ਸਵਾਲ:" #: ../src/drivel-gtk.glade.h:39 msgid "Add _Question" msgstr "ਸਵਾਲ ਸ਼ਾਮਿਲ(_Q)" #: ../src/drivel-gtk.glade.h:40 msgid "Add _Answer" msgstr "ਜਵਾਬ ਸ਼ਾਮਿਲ(_A)" #: ../src/drivel-gtk.glade.h:41 msgid "Up" msgstr "ਉੱਤੇ" #: ../src/drivel-gtk.glade.h:42 msgid "_Type:" msgstr "ਕਿਸਮ(_T):" #: ../src/drivel-gtk.glade.h:43 msgid "Qu_estion:" msgstr "ਸਵਾਲ(_e):" #: ../src/drivel-gtk.glade.h:44 msgid "Text _field size (optional):" msgstr "ਟੈਕਸਟ ਖੇਤਰ ਚੋਣ (ਚੋਣਵਾਂ)(_f):" #: ../src/drivel-gtk.glade.h:45 msgid "Maximum text _length (optional):" msgstr "ਵੱਧੋ-ਵੱਧ ਟੈਕਸਟ ਲੰਬਾਈ (ਚੋਣਵੀਂ)(_l):" #: ../src/drivel-gtk.glade.h:46 msgid "_From:" msgstr "ਵਲੋਂ(_F):" #: ../src/drivel-gtk.glade.h:47 msgid "To:" msgstr "ਵੱਲ:" #: ../src/drivel-gtk.glade.h:48 msgid "_By:" msgstr "ਵਲੋਂ(_B):" #: ../src/drivel-gtk.glade.h:49 msgid "Ans_wer:" msgstr "ਜਵਾਬ(_w):" #: ../src/drivel-gtk.glade.h:50 msgid "_Insert" msgstr "ਸ਼ਾਮਿਲ(_I)" #: ../src/drivel-gtk.glade.h:51 msgid "Drivel Preferences" msgstr "ਡਰਿਵੀਲ ਪਸੰਦ" #: ../src/drivel-gtk.glade.h:52 msgid "Entry Behavior" msgstr "ਐਂਟਰੀ ਰਵੱਈਆ" #: ../src/drivel-gtk.glade.h:53 msgid "Minimize after _logging in" msgstr "ਲਾਗਇਨ ਕਰਨ ਬਾਅਦ ਘੱਟੋ-ਘੱਟ(_l)" #: ../src/drivel-gtk.glade.h:54 msgid "Automatically minimize the journal window after logging in" msgstr "ਲਾਗਇਨ ਕਰਨ ਦੇ ਬਾਅਦ ਜਰਨਲ ਵਿੰਡੋ ਆਟੋਮੈਟਿਕ ਹੀ ਘੱਟੋ-ਘੱਟ ਕਰੋ" #: ../src/drivel-gtk.glade.h:55 msgid "Minimize after _posting" msgstr "ਪੋਸਟ ਕਰਨ ਦੇ ਬਾਅਦ ਘੱਟੋ-ਘੱਟ(_p)" #: ../src/drivel-gtk.glade.h:56 msgid "Automatically minimize the journal window after posting an entry" msgstr "ਐਂਟਰੀ ਦੇਣ ਦੇ ਬਾਅਦ ਜਰਨਲ ਵਿੰਡੋ ਆਟੋਮੈਟਿਕ ਹੀ ਘੱਟੋ-ਘੱਟ ਕਰੋ" #: ../src/drivel-gtk.glade.h:57 msgid "_Highlight HTML in journal entry" msgstr "ਜਰਨਲ ਐਂਟਰੀ ਵਿੱਚ_HTML ਹਾਈਲਾਈਟ ਕਰੋ" #: ../src/drivel-gtk.glade.h:58 msgid "Display HTML keywords in different colors than normal text" msgstr "HTML ਸ਼ਬਦ ਆਮ ਟੈਕਸਟ ਨਾਲੋਂ ਵੱਖਰੇ ਰੰਗ ਵਿੱਚ ਵੇਕੋ" #: ../src/drivel-gtk.glade.h:59 msgid "Highlight misspelled _words" msgstr "ਗਲਤ ਸ਼ਬਦ-ਜੋੜ ਹਾਈਲਾਈਟ ਕਰੋ" #: ../src/drivel-gtk.glade.h:60 msgid "Highlight words not found in your computer's dictionary" msgstr "ਸ਼ਬਦ ਹਾਈਲਾਈਟ ਕਰੋ, ਜੋ ਕਿ ਤੁਹਾਡੀ ਕੰਪਿਊਟਰ ਡਿਕਸ਼ਨਰੀ ਵਿੱਚ ਨਹੀਂ ਲੱਭੇ" #: ../src/drivel-gtk.glade.h:61 msgid "_Dictionary:" msgstr "ਡਿਕਸ਼ਨਰੀ(_D):" #: ../src/drivel-gtk.glade.h:62 msgid "Notification Area" msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨ ਖੇਤਰ" #: ../src/drivel-gtk.glade.h:63 msgid "Notify when _friends update" msgstr "ਜਦੋਂ ਦੋਸਤ ਅੱਪਡੇਟ ਹੋਨ ਤਾਂ ਸੂਚਨਾ(_f)" #: ../src/drivel-gtk.glade.h:64 msgid "" "Display an alert when your Friends Page is updated\n" "(Paid LiveJournal users only)" msgstr "" "ਜਦੋਂ ਤੁਹਾਡਾ ਦੋਸਤ ਪੇਜ਼ ਅੱਪਡੇਟ ਕਰੇ ਤਾਂ ਚੇਤਾਵਨੀ ਵੇਖੋ\n" "(ਕੇਵਲ ਅਦਾਇਗੀ ਕਰਨ ਵਾਲੇ ਲਾਈਵਜਰਨਲ ਵਾਲਿਆਂ ਲਈ)" #: ../src/drivel-gtk.glade.h:66 msgid "Publication" msgstr "ਪਬਲੀਕੇਸ਼ਨ" #: ../src/drivel-gtk.glade.h:67 msgid "Notify _Technorati on updates" msgstr "ਅੱਪਡੇਟ ਉੱਤੇ ਟੈਕਨੋਰਾਟੀ ਸੂਚਨਾ(_T)" #: ../src/drivel-gtk.glade.h:68 msgid "Alert the popular journal search engine Technorati of new entries" msgstr "ਨਵੀਆਂ ਐਂਟਰੀਆਂ ਲਈ ਹਰਮਨਪਿਆਰੇ ਜਰਨਲ ਖੋਜ ਇੰਜਣ ਟੈਕਨੋਰੇਟੀ ਚੇਤਾਵਨੀ" #: ../src/drivel-gtk.glade.h:69 msgid "Font Property" msgstr "ਫੋਂਟ ਵਿਸ਼ੇਸ਼ਤਾ" #: ../src/drivel-gtk.glade.h:70 msgid "Use default _theme font" msgstr "ਡਿਫਾਟਲ ਫੋਂਟ ਥੀਮ ਵਰਤੋਂ(_t)" #: ../src/drivel-gtk.glade.h:71 msgid "Editor font:" msgstr "ਐਡੀਟਰ ਫੋਂਟ:" #: ../src/drivel-gtk.glade.h:72 msgid "General" msgstr "ਸਧਾਰਨ" #: ../src/drivel-gtk.glade.h:73 msgid "Default Post Options" msgstr "ਡਿਫਾਲਟ ਪੋਸਟ ਚੋਣਾਂ" #: ../src/drivel-gtk.glade.h:74 msgid "Do not automatically parse line-breaks into HTML tags" msgstr "ਲਾਈਨ-ਬਰੇਕ ਨੂੰ HTML ਟੈਗ ਵਿੱਚ ਆਟੋਮੈਟਿਕ ਪਾਰਸ ਨਾ ਕਰੋ" #: ../src/drivel-gtk.glade.h:75 msgid "Entry Defaults" msgstr "ਐਂਟਰੀ ਡਿਫਾਲਟ" #: ../src/drivel-gtk.glade.h:76 msgid "Journal Login" msgstr "ਜਰਨਲ ਲਾਗਇਨ" #: ../src/drivel-gtk.glade.h:77 msgid "_Username:" msgstr "ਯੂਜ਼ਰਨਾਂ(_U):" #: ../src/drivel-gtk.glade.h:78 msgid "_Password:" msgstr "ਪਾਸਵਰਡ(_P):" #: ../src/drivel-gtk.glade.h:79 msgid "_Automatically login" msgstr "ਆਟੋਮੈਟਿਕ ਲਾਗਿਨ(_A)" #: ../src/drivel-gtk.glade.h:80 msgid "_Remember password" msgstr "ਪਾਸਵਰਡ ਯਾਦ ਰੱਖੋ(_R)" #: ../src/drivel-gtk.glade.h:81 msgid "Journal _type:" msgstr "ਜਰਨਲ ਕਿਸਮ(_t):" #: ../src/drivel-gtk.glade.h:82 msgid "_Server address:" msgstr "ਸਰਵਰ ਐਡਰੈੱਸ(_S):" #: ../src/drivel-gtk.glade.h:83 msgid "Work _Offline" msgstr "ਆਫਲਾਈਨ ਕੰਮ ਕਰੋ(_O)" #: ../src/drivel-gtk.glade.h:84 ../src/login.c:928 msgid "_Log In" msgstr "ਲਾਗਇਨ(_L)" #: ../src/drivel-gtk.glade.h:85 msgid "Edit History" msgstr "ਅਤੀਤ ਸੋਧ" #: ../src/drivel-gtk.glade.h:86 ../src/journal.c:3373 ../src/login.c:926 msgid "_Edit" msgstr "ਸੋਧ(_E)" #: ../src/drivel-gtk.glade.h:87 msgid "Edit Friends" msgstr "ਮਿੱਤਰ ਸੋਧ" #: ../src/drivel-gtk.glade.h:88 msgid "_View journal" msgstr "ਜਰਨਲ ਵੇਖੋ(_V)" #: ../src/drivel-gtk.glade.h:89 msgid "Details" msgstr "ਵੇਰਵਾ" #: ../src/drivel-gtk.glade.h:90 msgid "Username:" msgstr "ਯੂਜ਼ਰ ਨਾਂ:" #: ../src/drivel-gtk.glade.h:91 msgid "Journal Type:" msgstr "ਜਰਨਲ ਕਿਸਮ:" #: ../src/drivel-gtk.glade.h:92 msgid "Text color:" msgstr "ਟੈਕਸਟ ਰੰਗ:" #: ../src/drivel-gtk.glade.h:93 msgid "Background color:" msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ:" #: ../src/drivel-gtk.glade.h:94 msgid "Choose a text color" msgstr "ਟੈਕਸਟ ਰੰਗ ਚੁਣੋ" #: ../src/drivel-gtk.glade.h:95 msgid "Choose a background color" msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਚੁਣੋ" #: ../src/drivel-gtk.glade.h:96 msgid "Insert Link" msgstr "ਲਿੰਕ ਸ਼ਾਮਿਲ ਕਰੋ" #: ../src/drivel-gtk.glade.h:98 msgid "_Text:" msgstr "ਟੈਕਸਟ(_T):" #: ../src/drivel-gtk.glade.h:99 msgid "Create a link to..." msgstr "...ਨਾਲ ਲਿੰਕ ਬਣਾਓ" #: ../src/drivel-gtk.glade.h:100 msgid "a _site on the Internet" msgstr "ਇੰਟਰਨੈੱਟ ਉੱਤੇ ਸਾਈਟ ਵੇਖੋ(_s)" #: ../src/drivel-gtk.glade.h:101 msgid "_Location:" msgstr "ਟਿਕਾਣਾ(_L):" #: ../src/drivel-gtk.glade.h:102 msgid "Example:" msgstr "ਜਿਵੇਂ:" #: ../src/drivel-gtk.glade.h:103 msgid "another Live_Journal user" msgstr "ਹੋਰ ਲਾਈਵ ਜਰਨਲ ਯੂਜ਼ਰ(_J)" #: ../src/drivel-gtk.glade.h:104 msgid "the _rest of this entry" msgstr "ਇਹ ਐਂਟਰੀ ਦਾ ਬਾਕੀ(_r)" #: ../src/drivel-gtk.glade.h:105 msgid "_Insert Link..." msgstr "ਲਿੰਕ ਸ਼ਾਮਲ ਕਰੋ(_I)..." #: ../src/drivel-gtk.glade.h:106 msgid "Insert Image" msgstr "ਚਿੱਤਰ ਸ਼ਾਮਿਲ ਕਰੋ" #: ../src/drivel-gtk.glade.h:107 msgid "Image" msgstr "ਚਿੱਤਰ" #: ../src/drivel-gtk.glade.h:108 msgid "Attributes (Optional)" msgstr "ਗੁਣ (ਚੋਣਵਾਂ)" #: ../src/drivel-gtk.glade.h:109 msgid "_Height:" msgstr "ਉਚਾਈ(_H):" #. abbreviated form of 'pixels' #: ../src/drivel-gtk.glade.h:111 msgid "px" msgstr "px" #: ../src/drivel-gtk.glade.h:112 msgid "_Width:" msgstr "ਚੌੜਾਈ(_W):" #: ../src/drivel-gtk.glade.h:113 msgid "_Description:" msgstr "ਵੇਰਵਾ(_D):" #: ../src/drivel-gtk.glade.h:114 msgid "_Insert Image..." msgstr "ਚਿੱਤਰ ਸ਼ਾਮਲ ਕਰੋ(_I)..." #: ../src/drivel-gtk.glade.h:115 ../src/journal.c:3395 msgid "Security Groups" msgstr "ਸੁਰੱਖਿਆ ਗਰੁੱਪ" #: ../src/drivel-gtk.glade.h:116 msgid "Groups" msgstr "ਗਰੁੱਪ" #: ../src/drivel-gtk.glade.h:117 msgid "Group Details" msgstr "ਗਰੁੱਪ ਵੇਰਵਾ" #: ../src/drivel-gtk.glade.h:118 msgid "_Name:" msgstr "ਨਾਂ(_N):" #: ../src/drivel-gtk.glade.h:119 msgid "_Order" msgstr "ਕ੍ਰਮ(_O)" #: ../src/drivel-gtk.glade.h:120 msgid "_Public" msgstr "ਪਬਲਿਕ(_P)" #: ../src/insert_poll_dialog.c:155 ../src/insert_poll_dialog.c:171 msgid "All users" msgstr "ਸਭ ਯੂਜ਼ਰ" #: ../src/insert_poll_dialog.c:157 ../src/insert_poll_dialog.c:173 msgid "Friends" msgstr "ਮਿੱਤਰ" #: ../src/insert_poll_dialog.c:197 msgid "Text" msgstr "ਟੈਕਸਟ" #: ../src/insert_poll_dialog.c:220 msgid "Dropdown selection" msgstr "ਲਟਕਦਾ ਮੇਨੂ ਚੋਣ" #: ../src/insert_poll_dialog.c:222 msgid "Radio selection" msgstr "ਰੇਡੀਓ ਬਟਨ ਚੋਣ" #: ../src/insert_poll_dialog.c:224 msgid "Checkbox selection" msgstr "ਚੈਕ ਬਕਸਾ ਚੋਣ" #: ../src/insert_poll_dialog.c:226 msgid "Text entry" msgstr "ਟੈਕਸਟ ਐਂਟਰੀ" #: ../src/insert_poll_dialog.c:228 msgid "Scale" msgstr "ਸਕੇਲ" #: ../src/journal.c:308 msgid "Open this entry for editing" msgstr "ਸੋਧਣ ਲਈ ਇਹ ਐਂਟਰੀ ਖੋਲ੍ਹੋ" #: ../src/journal.c:324 msgid "Refresh this list" msgstr "ਇਹ ਲਿਸਟ ਤਾਜ਼ਾ ਕਰੋ" #: ../src/journal.c:389 #, c-format msgid "%s's Journal - Drivel" msgstr "%s ਦਾ ਜਰਨਲ - ਡਰਿਵੀਲ" #: ../src/journal.c:392 #, c-format msgid "The %s Community - Drivel" msgstr "%s ਕਮਿਊਨਟੀ - ਡਰਿਵੀਲ" #: ../src/journal.c:407 msgid "Offline - Drivel" msgstr "ਆਫਲਾਈਨ - ਡਰਿਵੀਲ" #: ../src/journal.c:829 msgid "Drivel - Open Draft" msgstr "ਡਰਿਵੀਲ - ਡਰਾਫਟ ਖੋਲ੍ਹੋ" #: ../src/journal.c:838 ../src/journal.c:1109 msgid "All XML Files" msgstr "ਸਭ XML ਫਾਇਲਾਂ" #: ../src/journal.c:842 ../src/journal.c:1113 ../src/login.c:1152 msgid "Draft drivel posts" msgstr "ਡਰਾਫਟ ਡਰਿਵੀਲ ਪੋਸਟ" #. FIXME: add something to override .drivel extension or something like that #: ../src/journal.c:1098 msgid "Drivel - Save Draft" msgstr "ਡਰਿਵੀਲ - ਡਰਾਫਟ ਸੰਭਾਲੋ" #: ../src/journal.c:2782 msgid "Please select a journal account" msgstr "ਜਰਨਲ ਅਕਾਊਂਟ ਚੁਣੋ ਜੀ" #: ../src/journal.c:2783 msgid "" "Preferences apply to each account separately, so you must select your " "account before you can edit its preferences." msgstr "" "ਪਸੰਦ ਹਰੇਕ ਅਕਾਊਂਟ ਲਈ ਵੱਖ ਵੱਖ ਲਾਗੂ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਆਪਣੀ ਪਸੰਦ ਸੋਧਣ ਤੋਂ ਪਹਿਲਾਂ ਆਪਣੇ ਅਕਾਊਂਟ ਨੂੰ ਚੁਣੋ " "ਜੀ।" #: ../src/journal.c:3087 msgid "Select a journal to post to" msgstr "ਪੋਸਟ ਕਰਨ ਲਈ ਜਰਨਲ ਚੁਣੋ" #: ../src/journal.c:3372 ../src/login.c:925 msgid "_Journal" msgstr "ਜਰਨਲ(_J)" #: ../src/journal.c:3374 msgid "_View" msgstr "ਵੇਖੋ(_V)" #: ../src/journal.c:3375 msgid "_Format" msgstr "ਫਾਰਮੈਟ(_F)" #: ../src/journal.c:3376 msgid "_Web Links" msgstr "ਵੈੱਬ ਲਿੰਕ(_W)" #: ../src/journal.c:3377 ../src/login.c:927 msgid "_Help" msgstr "ਮੱਦਦ(_H)" #: ../src/journal.c:3378 msgid "_Open Draft..." msgstr "ਡਰਾਫਟ ਖੋਲ੍ਹੋ(_O)..." #: ../src/journal.c:3379 msgid "_Save Draft" msgstr "ਡਰਾਫਟ ਸੰਭਾਲੋ(_S)" #: ../src/journal.c:3380 msgid "Save Draft _as..." msgstr "ਡਰਾਫਟ ਵਾਂਗ ਸੰਭਾਲੋ(_a)..." #: ../src/journal.c:3381 msgid "_Recent Entries" msgstr "ਐਂਟਰੀਆਂ ਹਟਾਓ(_R)" #: ../src/journal.c:3382 msgid "Recent _Drafts" msgstr "ਤਾਜ਼ਾ ਡਰਾਫਟ(_D)" #: ../src/journal.c:3383 msgid "_Post Entry" msgstr "ਐਂਟਰੀ ਪੋਸਟ ਕਰੋ(_P)" #. FIXME: make an icon for update-entry #: ../src/journal.c:3385 msgid "_Update Entry" msgstr "ਐਂਟਰੀ ਅੱਪਡੇਟ ਕਰੋ(_U)" #: ../src/journal.c:3386 msgid "_Delete Entry" msgstr "ਐਂਟਰੀ ਹਟਾਓ(_D)" #: ../src/journal.c:3387 msgid "_Log Out" msgstr "ਲਾਗ ਆਉਟ(_L)" #: ../src/journal.c:3389 msgid "C_lear Entry" msgstr "ਐਂਟਰੀ ਸਾਫ਼ ਕਰੋ(_l)" #: ../src/journal.c:3390 msgid "Select _All" msgstr "ਸਭ ਚੁਣੋ(_A)" #. FIXME: make an icon for edit-last-entry #: ../src/journal.c:3392 msgid "Last _Entry" msgstr "ਆਖਰੀ ਐਂਟਰੀ(_E)" #: ../src/journal.c:3392 msgid "Edit the last entry you posted" msgstr "ਆਖਰੀ ਐਂਟਰੀ, ਜੋ ਤੁਸੀਂ ਪੋਸਟ ਕੀਤੀ, ਸੋਧੋ" #: ../src/journal.c:3393 msgid "_Friends" msgstr "ਮਿੱਤਰ" #: ../src/journal.c:3393 msgid "Edit your friends list" msgstr "ਆਪਣੀ ਮਿੱਤਰ ਲਿਸਟ ਸੋਧੋ" #: ../src/journal.c:3394 msgid "_History" msgstr "ਅਤੀਤ" #: ../src/journal.c:3394 msgid "View or edit a previous entry" msgstr "ਪਿਛਲੀ ਐਂਟਰੀ ਵੇਖੋ ਜਾਂ ਸੋਧੋ" #: ../src/journal.c:3395 msgid "Edit specific groups of people able to read your entries" msgstr "ਤੁਹਾਡੀਆਂ ਐਂਟਰੀ ਪੜ੍ਹ ਸਕਣ ਵਾਲੇ ਖਾਸ ਲੋਕਾਂ ਦੇ ਗਰੁੱਪ ਨੂੰ ਸੋਧੋ" #: ../src/journal.c:3396 msgid "Active _Journal" msgstr "ਐਕਟਿਵ ਜਰਨਲ(_J)" #: ../src/journal.c:3402 msgid "Supe_rscript" msgstr "ਘਾਤ" #: ../src/journal.c:3403 msgid "Subs_cript" msgstr "ਪੈਰ ਵਿੱਚ(_c)" #: ../src/journal.c:3404 msgid "Lis_t" msgstr "ਲਿਸਟ(_t)" #: ../src/journal.c:3405 msgid "List Ite_m" msgstr "ਲਿਸਟ ਆਈਟਮ(_m)" #: ../src/journal.c:3406 msgid "I_ndent" msgstr "ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰ(_n)" #: ../src/journal.c:3407 msgid "Insert _Link..." msgstr "ਲਿੰਕ ਸ਼ਾਮਲ(_L)..." #: ../src/journal.c:3407 msgid "Create a link to a web page, livejournal user, or a long journal entry" msgstr "ਵੈੱਬ ਪੇਜ਼ ਲਿੰਕ, ਲਾਈਵਜਰਨਲ ਯੂਜ਼ਰ ਜਾਂ ਲੰਮੀ ਜਰਨਲ ਐਂਟਰੀ ਬਣਾਓ" #: ../src/journal.c:3408 msgid "Insert Ima_ge..." msgstr "ਚਿੱਤਰ ਸ਼ਾਮਲ ਕਰੋ(_g)..." #: ../src/journal.c:3408 msgid "Insert an image into your journal entry" msgstr "ਆਪਣੀ ਜਰਨਲ ਐਂਟਰੀ ਵਿੱਚ ਚਿੱਤਰ ਸ਼ਾਮਲ ਕਰ" #: ../src/journal.c:3409 msgid "Insert _Poll..." msgstr "ਪੋਲ ਸ਼ਾਮਲ ਕਰੋ(_P)..." #: ../src/journal.c:3410 ../src/login.c:932 msgid "_Contents" msgstr "ਸਮੱਗਰੀ(_C)" #: ../src/journal.c:3411 ../src/login.c:933 msgid "_Frequently Asked Questions" msgstr "ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ(_F)" #: ../src/journal.c:3412 ../src/login.c:934 msgid "_About" msgstr "ਇਸ ਬਾਰੇ(_A)" #: ../src/journal.c:3416 msgid "More Entry _Options" msgstr "ਹੋਰ ਐਂਟਰੀ ਚੋਣਾਂ(_O)" #: ../src/journal.c:3417 msgid "Highlight _Spelling Errors" msgstr "ਗਲਤ ਸ਼ਬਦ-ਜੋੜ ਹਾਈਲਾਈਟ(_S)" #: ../src/journal.c:3418 msgid "Highlight _HTML" msgstr "_HTML ਹਾਈਲਾਈਟ" #: ../src/login.c:504 msgid "Bad username" msgstr "ਗਲਤ ਯੂਜ਼ਰ-ਨਾਂ" #: ../src/login.c:505 msgid "Username contains invalid characters." msgstr "ਯੂਜ਼ਰ-ਨਾਂ ਵਿੱਚ ਗਲਤ ਅੱਖਰ ਹਨ।" #: ../src/login.c:929 msgid "Remove Account" msgstr "ਅਕਾਊਂਟ ਹਟਾਓ" #: ../src/login.c:931 msgid "_Preferences" msgstr "ਮੇਰੀ ਪਸੰਦ(_P)" #: ../src/login.c:1139 msgid "Drafts" msgstr "ਡਰਾਫਟ" #: ../src/main.c:58 msgid "Error" msgstr "ਗਲਤੀ" #: ../src/main.c:64 msgid "Oh bother, there's a server error. Please try again later." msgstr "ਓ ਭਰਾਵਾ, ਸਰਵਰ ਵਿੱਚ ਗਲਤੀ ਹੈ । ਥੋਡ਼ਾ ਠਹਿਰ ਕੇ ਟੱਕਰਾਂ ਮਾਰ ਲਵੀ ।" #: ../src/main.c:351 msgid "Friends Only" msgstr "ਕੇਵਲ ਮਿੱਤਰ" #: ../src/main.c:767 msgid "Display debugging output" msgstr "ਡੀਬੱਗ ਆਉਟਪੁੱਟ ਵੇਖੋ" #: ../src/main.c:770 msgid "file" msgstr "ਫਾਇਲ" #: ../src/main.c:787 #, c-format msgid "GConf init failed: %s" msgstr "GConf ਸ਼ੁਰੂਆਤੀ ਫੇਲ੍ਹ: %s" #: ../src/main.c:793 msgid "Could not initialize GnomeVFS!\n" msgstr "ਗਨੋਮ VFS ਨੂੰ ਸ਼ੁਰੂ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ!\n" #: ../src/network.c:64 msgid "Done" msgstr "ਮੁਕੰਮਲ" #. Translators: this particular string needs to be short #. * in length. There isn't much room. #: ../src/network.c:71 msgid "Logging in . . " msgstr "ਲਾਗਇਨ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ.. " #: ../src/network.c:76 msgid "Downloading user pictures" msgstr "ਯੂਜ਼ਰ ਤਸਵੀਰਾਂ ਡਾਊਨਲੋਡ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ" #: ../src/network.c:81 msgid "Posting journal entry" msgstr "ਜਰਨਲ ਐਂਟਰੀ ਪੋਸਟ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ" #: ../src/network.c:86 msgid "Updating journal entry" msgstr "ਜਰਨਲ ਐਂਟਰੀ ਅੱਪਡੇਟ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ" #: ../src/network.c:91 msgid "Retrieving journal entries" msgstr "ਜਰਨਲ ਐਂਟਰੀਆਂ ਲਈਆਂ ਜਾ ਰਹੀਆਂ ਹਨ" #: ../src/network.c:96 msgid "Retrieving journal history" msgstr "ਜਰਨਲ ਅਤੀਤ ਲਿਆ ਜਾ ਰਿਹਾ ਹੈ" #: ../src/network.c:101 msgid "Updating Friends list" msgstr "ਮਿੱਤਰ ਲਿਸਟ ਅੱਪਡੇਟ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ" #: ../src/network.c:107 msgid "Retrieving Friends list" msgstr "ਮਿੱਤਰ ਲਿਸਟ ਲਈ ਜਾ ਰਹੀ ਹੈ" #: ../src/network.c:113 msgid "Retrieving categories" msgstr "ਕੈਟਾਗਰੀਆਂ ਲਈਆਂ ਜਾ ਰਹੀਆਂ ਹਨ" #: ../src/network.c:118 msgid "Setting categories" msgstr "ਕੈਟਾਗਰੀਆਂ ਸੈੱਟ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ" #: ../src/network.c:123 msgid "Publishing journal entry" msgstr "ਜਰਨਲ ਐਂਟਰੀ ਪਬਲਿਸ਼ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ" #: ../src/network.c:128 msgid "Deleting journal entry" msgstr "ਜਰਨਲ ਐਂਟਰੀ ਹਟਾਈ ਜਾ ਰਹੀ ਹੈ" #: ../src/network.c:133 msgid "Notifying Technorati" msgstr "ਟੈਕਨੋਰਟੀ ਸੂਚਨਾ" #: ../src/network.c:138 msgid "Retrieving security groups" msgstr "ਸੁਰੱਖਿਆ ਗਰੁੱਪ ਲਿਆ ਜਾ ਰਿਹਾ ਹੈ" #: ../src/network.c:143 msgid "Updating security groups" msgstr "ਸੁਰੱਖਿਆ ਗਰੁੱਪ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" #: ../src/network.c:315 msgid "Network connection failed" msgstr "ਨੈੱਟਵਰਕ ਕੁਨੈਕਸ਼ਨ ਫੇਲ੍ਹ ਹੋਇਆ" #: ../src/network.c:321 msgid "Could not understand server response" msgstr "ਸਰਵਰ ਜਵਾਬ ਸਮਝ ਨਹੀਂ ਆਇਆ" #: ../src/query_music_players.c:115 msgid "No song playing" msgstr "ਕੋਈ ਗਾਣਾ ਨਹੀਂ ਚੱਲ ਰਿਹਾ ਹੈ" #: ../src/tray.c:129 msgid "_View Friends Page" msgstr "ਮਿੱਤਰ ਪੇਜ਼ ਵੇਖੋ(_V)" #: ../src/tray.c:135 msgid "_Remove From Tray" msgstr "ਟਰੇ ਵਿੱਚੋਂ ਹਟਾਓ(_R)" #: ../src/utils.c:537 ../src/utils.c:584 msgid "Untitled" msgstr "ਬਿਨ-ਨਾਂ" #, fuzzy #~ msgid "Example: http://gnome.org/pic.png" #~ msgstr "ਉਦਾਹਰਨ ਲਈ: http://www.gnome.org" #, fuzzy #~ msgid "Example: http://www.gnome.org" #~ msgstr "ਉਦਾਹਰਨ ਲਈ: http://www.gnome.org" #, fuzzy #~ msgid "Sending / Receiving" #~ msgstr "ਭੇਜਿਆ/ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..." #~ msgid "_Add..." #~ msgstr "ਜੋੜ੍ਹੋ..." #~ msgid "_Edit..." #~ msgstr "ਸੋਧ(_E)..." #, fuzzy #~ msgid "Link" #~ msgstr "ਸੰਬੰਧ ਪਾਠ(_t)" #, fuzzy #~ msgid "Select Date" #~ msgstr "ਸਾਰੇ ਚੁਣੋ" #, fuzzy #~ msgid "Select Time" #~ msgstr "ਸਾਰੇ ਚੁਣੋ" #~ msgid "Edit Friend" #~ msgstr "ਮਿੱਤਰ ਸੋਧ" #~ msgid "DeadJournal" #~ msgstr "ਖਤਮ ਜਰਨਲ" #~ msgid "Custom..." #~ msgstr "ਸੋਧ..." #~ msgid "Journal Server" #~ msgstr "ਜਰਨਲ ਸਰਵਰ" #~ msgid "Enable _tray icon" #~ msgstr "ਟਰੇ ਆਈਕਾਨ ਯੋਗ(_t)" #~ msgid "Network" #~ msgstr "ਨੈਟਵਰਕ" #~ msgid "_Address:" #~ msgstr "ਸਿਰਨਾਵਾਂਃ" #~ msgid "Sign _Up..." #~ msgstr "ਸਾਇਨ ਅੱਪ਼" #~ msgid "_Show Entry" #~ msgstr "ਇੰਦਰਾਜ਼ ਵੇਖਾਓ(_S)" drivel-3.0.5/src/0000755000175000017500000000000012164124030010565 500000000000000drivel-3.0.5/src/network.c0000644000175000017500000002533211552103110012343 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002-2005 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ #include #include #include #include #include #include #include #include "blog_advogato.h" #include "blog_atom.h" #include "blog_blogger.h" #include "blog_lj.h" #include "blog_mt.h" #include "drivel.h" #include "drivel_request.h" #include "msg_queue.h" #include "login.h" #include "journal.h" #include "xmlrpc.h" #include "network.h" #define USER_AGENT "GNOME-Drivel/" VERSION typedef struct _LJChallenge LJChallenge; extern GMutex *net_mutex; extern gboolean verbose; extern DrivelClient *dc; static SoupSession *session = NULL; /* Update the network progress dialog to explain to the user what is happening */ void update_status_msg (DrivelRequestType type) { guint id; gchar *msg; msg = g_strdup (_("Done")); switch (type) { case REQUEST_TYPE_LOGIN: { /* Translators: this particular string needs to be short * in length. There isn't much room. */ msg = g_strdup (_("Logging in . . ")); break; } case REQUEST_TYPE_GETPICTURE: { msg = g_strdup (_("Downloading user pictures")); break; } case REQUEST_TYPE_POSTEVENT: { msg = g_strdup (_("Posting journal entry")); break; } case REQUEST_TYPE_EDITEVENT: { msg = g_strdup (_("Updating journal entry")); break; } case REQUEST_TYPE_GETEVENTS: { msg = g_strdup (_("Retrieving journal entries")); break; } case REQUEST_TYPE_GETDAYCOUNTS: { msg = g_strdup (_("Retrieving journal history")); break; } case REQUEST_TYPE_EDITFRIENDS: { msg = g_strdup (_("Updating Friends list")); break; } case REQUEST_TYPE_CHECKFRIENDS: case REQUEST_TYPE_GETFRIENDS: { msg = g_strdup (_("Retrieving Friends list")); break; } case REQUEST_TYPE_GETCATEGORIES: case REQUEST_TYPE_GETPOSTCATEGORIES: { msg = g_strdup (_("Retrieving categories")); break; } case REQUEST_TYPE_SETPOSTCATEGORIES: { msg = g_strdup (_("Setting categories")); break; } case REQUEST_TYPE_PUBLISH: { msg = g_strdup (_("Publishing journal entry")); break; } case REQUEST_TYPE_DELETEEVENT: { msg = g_strdup (_("Deleting journal entry")); break; } case REQUEST_TYPE_PING: { msg = g_strdup (_("Notifying Technorati")); break; } case REQUEST_TYPE_GETFRIENDGROUPS: { msg = g_strdup (_("Retrieving security groups")); break; } case REQUEST_TYPE_SETFRIENDGROUPS: { msg = g_strdup (_("Updating security groups")); break; } case REQUEST_TYPE_NONE: break; /* no default here, this is deliberate. * Ensure each case is covered. */ } if (dc->statusbar) { id = gtk_statusbar_get_context_id (dc->statusbar, PACKAGE); gtk_statusbar_push (dc->statusbar, id, msg); } g_free (msg); return; } static void authenticate_cb (SoupSession *session, SoupMessage *msg, SoupAuth *auth, gboolean retrying, gpointer user_data) { debug ("setting username and password for HTTP_BASIC auth"); if (!retrying) soup_auth_authenticate (auth, dc->user->username, dc->user->password); return; } /* If the user has setup a proxy, return a SoupURI to it */ static SoupURI * get_proxy_uri (DrivelClient *dc) { SoupURI *proxy_uri = NULL; if (dc->proxy && dc->proxy_url) { debug ("Setting up proxy server:"); debug (dc->proxy_url); if (!dc->proxy_port) dc->proxy_port = 8080; proxy_uri = soup_uri_new (dc->proxy_url); soup_uri_set_port (proxy_uri, dc->proxy_port); } return proxy_uri; } static gboolean clear_progress (gpointer data) { gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(dc->progressbar), 0.0); return FALSE; } static void wrote_headers_cb (SoupMessage *msg, gpointer data) { gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(dc->progressbar), 0.05); } static void got_headers_cb (SoupMessage *msg, gpointer data) { gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(dc->progressbar), 0.05); } static void wrote_chunk_cb (SoupMessage *msg, gpointer data) { static gint content_length = 0; static gint bytes_transferred = 0; /* FIXME: This doesn't actually work; the request body will * always have the full length, and wrote_chunk is only * emitted when using chunked encoding anyway, which drivel * doesn't do (and which many servers don't support for * requests anyway). */ if (bytes_transferred >= content_length) { content_length = soup_message_headers_get_content_length (msg->request_headers); bytes_transferred = msg->request_body->length; } else { bytes_transferred += msg->request_body->length; } gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(dc->progressbar), bytes_transferred / content_length); g_timeout_add (3000, clear_progress, NULL); return; } static void got_chunk_cb (SoupMessage *msg, SoupBuffer *chunk, gpointer data) { static gint content_length = 0; static gint bytes_transferred = 0; gdouble rate; if (bytes_transferred >= content_length) { content_length = soup_message_headers_get_content_length (msg->response_headers); if (content_length == 0) content_length = bytes_transferred + chunk->length; bytes_transferred = chunk->length; } else { bytes_transferred += chunk->length; } rate = ((bytes_transferred / content_length) > 1) ? 0.9 : (bytes_transferred / content_length); gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(dc->progressbar), rate); g_timeout_add (3000, clear_progress, NULL); return; } /* Add a SoupMessage to the queue for processing */ void net_enqueue_msg (SoupMessage *msg) { g_return_if_fail (msg); /* Add the User-Agent header to every request */ soup_message_headers_append (msg->request_headers, "User-Agent", USER_AGENT); /* Add the ljfastserver cookie if we have a paid account */ if (dc->net->fast_servers) soup_message_headers_append (msg->request_headers, "Cookie", "ljfastserver=1"); g_signal_connect (G_OBJECT (msg), "wrote-headers", G_CALLBACK (wrote_headers_cb), NULL); g_signal_connect (G_OBJECT (msg), "got-headers", G_CALLBACK (got_headers_cb), NULL); g_signal_connect (G_OBJECT (msg), "wrote-chunk", G_CALLBACK (wrote_chunk_cb), NULL); g_signal_connect (G_OBJECT (msg), "got-chunk", G_CALLBACK (got_chunk_cb), NULL); /* Queue up the message */ soup_session_queue_message (session, msg, NULL, NULL); return; } void net_requeue_msg (SoupMessage *msg) { g_return_if_fail (msg); soup_session_requeue_message (session, msg); return; } /* Check for an error response */ SoupXmlrpcResponse* net_msg_get_response (SoupXmlrpcMessage *msg) { SoupXmlrpcResponse *response = NULL; debug ("net_msg_get_response"); if (!SOUP_STATUS_IS_SUCCESSFUL (SOUP_MESSAGE (msg)->status_code)) { display_error_dialog (dc, _("Server error"), _("Network connection failed")); } else { if (!(response = soup_xmlrpc_message_parse_response (msg))) { display_error_dialog (dc, _("Server error"), _("Could not understand server response")); } else { /* If the response is a fault, display the error */ if (soup_xmlrpc_response_is_fault (response)) { SoupXmlrpcValue *value; GHashTable *table; gchar *error; glong drupal6; value = soup_xmlrpc_response_get_value (response); soup_xmlrpc_value_get_struct (value, &table); value = g_hash_table_lookup (table, "faultString"); soup_xmlrpc_value_get_string (value, &error); value = g_hash_table_lookup (table, "faultCode"); soup_xmlrpc_value_get_int (value, &drupal6); if (drupal6 == 1) { /* handle another drupal6 bug */ if (verbose) print_response_xmlrpc (response); g_message ("Drupal bug: faultCode: %ld. faultString: %s", drupal6, error); update_status_msg (REQUEST_TYPE_NONE); g_free (error); g_hash_table_destroy (table); g_object_unref (response); response = NULL; return NULL; } if (drupal6 <= -32601 && drupal6 >= -32610) { /* handle a drupal6 bug */ if (verbose) print_response_xmlrpc (response); g_message ("Drupal bug: faultCode: %ld. faultString: %s", drupal6, error); update_status_msg (REQUEST_TYPE_NONE); g_free (error); g_hash_table_destroy (table); g_object_unref (response); response = NULL; return NULL; } display_error_dialog (dc, _("Server error"), error); g_free (error); g_hash_table_destroy (table); g_object_unref (response); response = NULL; } } } update_status_msg (REQUEST_TYPE_NONE); return response; } /* Initialize the global SoupSession */ gint net_start_session (void) { SoupURI *proxy; g_return_val_if_fail (!session, -1); proxy = get_proxy_uri (dc); session = soup_session_async_new_with_options (SOUP_SESSION_PROXY_URI, proxy, SOUP_SESSION_USER_AGENT, USER_AGENT, NULL); if (proxy) soup_uri_free (proxy); g_signal_connect (G_OBJECT (session), "authenticate", G_CALLBACK (authenticate_cb), NULL); return 0; } /* send a ping to technorati */ /* void */ /* net_ping_technorati (DrivelClient *dc) */ /* { */ /* DrivelRequest *dr; */ /* gchar *packet; */ /* const gchar *name; */ /* debug ("net_ping_technorati ()"); */ /* if (!gconf_client_get_bool (dc->client, dc->gconf->technorati, NULL)) */ /* return; */ /* /\* Use the LiveJournal description as the Technorati title for LJ users *\/ */ /* if ((dc->user->api == BLOG_API_LJ) && */ /* (dc->active_journal->type == JOURNAL_TYPE_USER)) */ /* name = dc->active_journal->description; */ /* else */ /* name = dc->active_journal->name; */ /* packet = xmlrpc_build_packet ("weblogUpdates.ping", */ /* XMLRPC_TYPE_STRING, name, */ /* XMLRPC_TYPE_STRING, dc->active_journal->uri_view, */ /* -1); */ /* dr = drivel_request_new_with_items (REQUEST_TYPE_PING, */ /* REQUEST_PROTOCOL_POST, */ /* BLOG_API_GENERIC, */ /* "http://rpc.technorati.com/rpc/ping", */ /* g_strdup ("xml"), packet, */ /* NULL); */ /* /\* net_enqueue_request (dc, dr); *\/ */ /* return; */ /* } */ drivel-3.0.5/src/blog_offline.h0000644000175000017500000000172411552103110013303 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2004 Todd Kulesza * * Authors: * Todd Kulesza */ #ifndef _BLOG_OFFLINE_H_ #define _BLOG_OFFLINE_H_ #include "drivel.h" void blog_offline_fake_login (DrivelClient *dc); #endif /* _BLOG_OFFLINE_H_ */ drivel-3.0.5/src/gtkdateentry.c0000644000175000017500000004224511561233037013375 00000000000000/* * Copyright (C) 1995-2009 Maxime DOYEN * Copyright 2009 Neil Williams * * This file was copied from HomeBank and modified since. * * This package is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This package is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "drivel.h" #include "gtkdateentry.h" enum { CHANGED, LAST_SIGNAL }; enum { PROPERTY_DATE = 5, }; /* static void gtk_dateentry_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); static void gtk_dateentry_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); */ static GtkHBoxClass *parent_class = NULL; static guint dateentry_signals[LAST_SIGNAL] = {0,}; /* todo:finish this this is to be able to seizure d or d/m or m/d in the gtkdateentry * don't probably need this for drivel. */ /* order of these in the current locale */ static GDateDMY dmy_order[3] = { G_DATE_DAY, G_DATE_MONTH, G_DATE_YEAR }; struct _GDateParseTokens { gint num_ints; gint n[3]; guint month; }; typedef struct _GDateParseTokens GDateParseTokens; #define NUM_LEN 10 static void g_date_fill_parse_tokens (const gchar *str, GDateParseTokens *pt) { /* bug: use a newly allocated gchar ** ? */ gchar num[4][NUM_LEN+1]; gint i; const guchar *s; debug (" (dateentry) fill parse token"); /* We count 4, but store 3; so we can give an error * if there are 4. */ num[0][0] = num[1][0] = num[2][0] = num[3][0] = '\0'; s = (const guchar *) str; pt->num_ints = 0; while (*s && pt->num_ints < 4) { i = 0; while (*s && g_ascii_isdigit (*s) && i < NUM_LEN) { num[pt->num_ints][i] = *s; ++s; ++i; } if (i > 0) { num[pt->num_ints][i] = '\0'; ++(pt->num_ints); } if (*s == '\0') break; ++s; } pt->n[0] = pt->num_ints > 0 ? atoi (num[0]) : 0; pt->n[1] = pt->num_ints > 1 ? atoi (num[1]) : 0; pt->n[2] = pt->num_ints > 2 ? atoi (num[2]) : 0; } /* tries to work out whether the locale uses d-m-y or m-d-y * not necessarily needed for drivel. */ static void g_date_determine_dmy(void) { GDate d; /* need a dynamic buffer here */ gchar buf[128]; GDateParseTokens testpt; gint i; debug (" (dateentry) determine dmy"); g_date_clear (&d, 1); /* clear for scratch use */ /* had to pick a random day - don't change this, some strftimes * are broken on some days, and this one is good so far. */ g_date_set_dmy (&d, 4, 7, 1976); g_date_strftime (buf, 127, "%x", &d); g_date_fill_parse_tokens (buf, &testpt); i = 0; while (i < testpt.num_ints) { switch (testpt.n[i]) { case 7: dmy_order[i] = G_DATE_MONTH; break; case 4: dmy_order[i] = G_DATE_DAY; break; /* case 76: using_twodigit_years = TRUE; *//* FALL THRU */ case 1976: dmy_order[i] = G_DATE_YEAR; break; } ++i; } /* debug (" dmy legend: 0=day, 1=month, 2=year\n"); debug (" dmy is: %d %d %d\n", dmy_order[0], dmy_order[1], dmy_order[2]);*/ } static void gtk_dateentry_destroy (GtkObject * object) { GtkDateEntry *dateentry; debug (" \n(dateentry) destroy"); g_return_if_fail (GTK_IS_DATE_ENTRY (object)); dateentry = GTK_DATE_ENTRY (object); if(dateentry->popwin) gtk_widget_destroy (dateentry->popwin); dateentry->popwin = NULL; if(dateentry->date) g_date_free(dateentry->date); dateentry->date = NULL; GTK_OBJECT_CLASS (parent_class)->destroy (object); } /* ** fill in our gtkentry from our GDate * BUG: move this away from a Julian date? */ static void gtk_dateentry_datetoentry(GtkDateEntry * dateentry) { /* bug: use a dynamic buffer? */ gchar buffer[256]; debug (" (dateentry) date2entry"); if(g_date_valid(dateentry->date) == TRUE) { g_date_strftime (buffer, 256 - 1, "%x", dateentry->date); gtk_entry_set_text (GTK_ENTRY (dateentry->entry), buffer); } else gtk_entry_set_text (GTK_ENTRY (dateentry->entry), "??"); /* emit the signal */ if(dateentry->lastdate != g_date_get_julian(dateentry->date)) { debug (" **emit signal**"); g_signal_emit_by_name (dateentry, "changed", NULL, NULL); } dateentry->lastdate = g_date_get_julian(dateentry->date); } /* ** store the calendar date to GDate, update our gtkentry */ static void gtk_dateentry_calendar_getfrom(GtkWidget * calendar, GtkDateEntry * dateentry) { guint year, month, day; debug (" (dateentry) get from calendar"); /* julian date used elsewhere, gregorian here? */ gtk_calendar_get_date (GTK_CALENDAR (dateentry->calendar), &year, &month, &day); g_date_set_dmy (dateentry->date, day, month + 1, year); gtk_dateentry_datetoentry(dateentry); } static void position_popup (GtkDateEntry * dateentry) { gint x, y; gint bwidth, bheight; GtkRequisition req; debug (" (dateentry) position popup"); gtk_widget_size_request (dateentry->popwin, &req); gdk_window_get_origin (dateentry->arrow->window, &x, &y); x += dateentry->arrow->allocation.x; y += dateentry->arrow->allocation.y; bwidth = dateentry->arrow->allocation.width; bheight = dateentry->arrow->allocation.height; x += bwidth - req.width; y += bheight; if (x < 0) x = 0; if (y < 0) y = 0; gtk_window_move (GTK_WINDOW (dateentry->popwin), x, y); } static void gtk_dateentry_popup_display (GtkDateEntry * dateentry) { const gchar *str; gint month; /*gint height, width, x, y;*/ gint G_GNUC_UNUSED old_width, G_GNUC_UNUSED old_height; debug (" (dateentry) popup_display"); old_width = dateentry->popwin->allocation.width; old_height = dateentry->popwin->allocation.height; /* update */ str = gtk_entry_get_text (GTK_ENTRY (dateentry->entry)); g_date_set_parse (dateentry->date, str); if(g_date_valid(dateentry->date) == TRUE) { /* GtkCalendar expects month to be in 0-11 range (inclusive) */ month = g_date_get_month (dateentry->date) - 1; gtk_calendar_select_month (GTK_CALENDAR (dateentry->calendar), CLAMP (month, 0, 11), g_date_get_year (dateentry->date)); gtk_calendar_select_day (GTK_CALENDAR (dateentry->calendar), g_date_get_day (dateentry->date)); } position_popup(dateentry); gtk_widget_show (dateentry->popwin); gtk_grab_add (dateentry->popwin); /* this close the popup */ gdk_pointer_grab (dateentry->popwin->window, TRUE, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK, NULL, NULL, GDK_CURRENT_TIME); } static gint gtk_dateentry_arrow_press (GtkWidget * widget, GtkDateEntry * dateentry) { GtkToggleButton *button; debug (" (dateentry) arrow_press"); button = GTK_TOGGLE_BUTTON(widget); if(!button->active){ gtk_widget_hide (dateentry->popwin); gtk_grab_remove (dateentry->popwin); gdk_pointer_ungrab (GDK_CURRENT_TIME); gtk_dateentry_calendar_getfrom(NULL, dateentry); return TRUE; } gtk_dateentry_popup_display(dateentry); return TRUE; } GtkWidget * gtk_dateentry_new () { GtkDateEntry *dateentry; debug (" (dateentry) new"); dateentry = g_object_new (GTK_TYPE_DATE_ENTRY, NULL); return GTK_WIDGET(dateentry); } /* ** parse the gtkentry and store the GDate */ static void gtk_dateentry_entry_new(GtkWidget *gtkentry, gpointer user_data) { GtkDateEntry *dateentry = user_data; const gchar *str; GDateParseTokens pt; debug (" (dateentry) entry validation"); str = gtk_entry_get_text (GTK_ENTRY (dateentry->entry)); g_date_fill_parse_tokens(str, &pt); g_date_set_time_t(dateentry->date, time(NULL)); switch( pt.num_ints ) { case 1: debug (" -> seizured 1 number"); g_date_set_day(dateentry->date, pt.n[0]); break; case 2: debug (" -> seizured 2 numbers"); if( dmy_order[0] != G_DATE_YEAR ) { if( dmy_order[0] == G_DATE_DAY ) { g_date_set_day(dateentry->date, pt.n[0]); g_date_set_month(dateentry->date, pt.n[1]); } else { g_date_set_day(dateentry->date, pt.n[1]); g_date_set_month(dateentry->date, pt.n[0]); } } break; default: g_date_set_parse (dateentry->date, str); break; } if(g_date_valid(dateentry->date) == FALSE) { /* today's date */ g_date_set_time_t(dateentry->date, time(NULL)); } gtk_dateentry_datetoentry(dateentry); } static gboolean gtk_dateentry_focus(GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { GtkDateEntry *dateentry = user_data; gtk_dateentry_entry_new(GTK_WIDGET(dateentry), dateentry); return FALSE; } static gint gtk_dateentry_entry_key (GtkWidget *widget, GdkEventKey *event, gpointer user_data) { GtkDateEntry *dateentry = user_data; if( event->keyval == GDK_Up ) { if( !(event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) ) { g_date_add_days (dateentry->date, 1); gtk_dateentry_datetoentry(dateentry); } else if( event->state & GDK_SHIFT_MASK ) { g_date_add_months (dateentry->date, 1); gtk_dateentry_datetoentry(dateentry); } else if( event->state & GDK_CONTROL_MASK ) { g_date_add_years (dateentry->date, 1); gtk_dateentry_datetoentry(dateentry); } return TRUE; } else if( event->keyval == GDK_Down ) { if( !(event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) ) { g_date_subtract_days (dateentry->date, 1); gtk_dateentry_datetoentry(dateentry); } else if( event->state & GDK_SHIFT_MASK ) { g_date_subtract_months (dateentry->date, 1); gtk_dateentry_datetoentry(dateentry); } else if( event->state & GDK_CONTROL_MASK ) { g_date_subtract_years (dateentry->date, 1); gtk_dateentry_datetoentry(dateentry); } return TRUE; } return FALSE; } static void gtk_dateentry_hide_popdown_window(GtkDateEntry *dateentry) { debug (" (dateentry) hide_popdown_window"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dateentry->arrow), FALSE); gtk_grab_remove(dateentry->popwin); gdk_pointer_ungrab(GDK_CURRENT_TIME); gtk_widget_hide(dateentry->popwin); } static gint key_press_popup (GtkWidget *widget, GdkEventKey *event, gpointer user_data) { GtkDateEntry *dateentry = user_data; if (event->keyval != GDK_Escape) return FALSE; g_signal_stop_emission_by_name (widget, "key_press_event"); gtk_dateentry_hide_popdown_window(dateentry); return TRUE; } static gint gtk_dateentry_button_press (GtkWidget * widget, GdkEvent * event, gpointer data) { GtkWidget *child; debug (" (dateentry) button_press"); child = gtk_get_event_widget (event); if (child != widget) { while (child) { if (child == widget) return FALSE; child = child->parent; } } gtk_widget_hide (widget); gtk_grab_remove (widget); gdk_pointer_ungrab (GDK_CURRENT_TIME); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(GTK_DATE_ENTRY(data)->arrow), FALSE); return TRUE; } static void gtk_dateentry_calendar_select(GtkWidget * calendar, gpointer user_data) { GtkDateEntry *dateentry = user_data; debug (" (dateentry) calendar_select"); gtk_dateentry_hide_popdown_window(dateentry); gtk_dateentry_calendar_getfrom(NULL, dateentry); } static void gtk_dateentry_init (GtkDateEntry * dateentry) { GtkWidget *widget; GtkWidget *arrow; debug (" (dateentry) init"); widget=GTK_WIDGET(dateentry); GTK_BOX(widget)->homogeneous = FALSE; dateentry->date = g_date_new(); /* today's date */ g_date_set_time_t(dateentry->date, time(NULL)); dateentry->entry = gtk_entry_new (); gtk_widget_set_size_request(dateentry->entry, 90, -1); gtk_box_pack_start (GTK_BOX (dateentry), dateentry->entry, TRUE, TRUE, 0); dateentry->arrow = gtk_toggle_button_new (); arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_IN); gtk_container_add (GTK_CONTAINER (dateentry->arrow), arrow); gtk_box_pack_end (GTK_BOX (dateentry), dateentry->arrow, FALSE, FALSE, 0); gtk_widget_show (dateentry->entry); gtk_widget_show (dateentry->arrow); g_signal_connect (GTK_OBJECT (dateentry->arrow), "toggled", G_CALLBACK (gtk_dateentry_arrow_press), dateentry); g_signal_connect (GTK_OBJECT (dateentry->entry), "activate", G_CALLBACK (gtk_dateentry_entry_new), dateentry); g_signal_connect (GTK_OBJECT (dateentry->entry), "focus-out-event", G_CALLBACK (gtk_dateentry_focus), dateentry); g_signal_connect (GTK_OBJECT (dateentry->entry), "key_press_event", G_CALLBACK (gtk_dateentry_entry_key), dateentry); /* our popup window */ dateentry->popwin = gtk_window_new (GTK_WINDOW_POPUP); gtk_widget_set_events (dateentry->popwin, gtk_widget_get_events(dateentry->popwin) | GDK_KEY_PRESS_MASK); dateentry->frame = gtk_frame_new (NULL); gtk_container_add (GTK_CONTAINER (dateentry->popwin), dateentry->frame); gtk_frame_set_shadow_type (GTK_FRAME (dateentry->frame), GTK_SHADOW_OUT); gtk_widget_show (dateentry->frame); dateentry->calendar = gtk_calendar_new (); gtk_container_add (GTK_CONTAINER (dateentry->frame), dateentry->calendar); gtk_widget_show (dateentry->calendar); g_signal_connect (GTK_OBJECT (dateentry->popwin), "key_press_event", G_CALLBACK (key_press_popup), dateentry); g_signal_connect (GTK_OBJECT (dateentry->popwin), "button_press_event", G_CALLBACK (gtk_dateentry_button_press), dateentry); g_signal_connect (GTK_OBJECT (dateentry->calendar), "day-selected", G_CALLBACK (gtk_dateentry_calendar_getfrom), dateentry); g_signal_connect (GTK_OBJECT (dateentry->calendar), "day-selected-double-click", G_CALLBACK (gtk_dateentry_calendar_select), dateentry); gtk_dateentry_calendar_getfrom(NULL, dateentry); } static void gtk_dateentry_class_init (GtkDateEntryClass * klass) { GObjectClass * G_GNUC_UNUSED gobject_class; GtkObjectClass *object_class; GtkWidgetClass * G_GNUC_UNUSED widget_class; gobject_class = (GObjectClass*) klass; object_class = (GtkObjectClass*) klass; widget_class = (GtkWidgetClass*) klass; parent_class = g_type_class_peek_parent (klass); debug (" (dateentry) class_init"); object_class->destroy = gtk_dateentry_destroy; dateentry_signals[CHANGED] = g_signal_new ("changed", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkDateEntryClass, changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_date_determine_dmy(); /* gobject_class->set_property = gtk_dateentry_set_property; gobject_class->get_property = gtk_dateentry_get_property; g_object_class_install_property (gobject_class, PROPERTY_DATE, g_param_spec_uint( "date", "Date", "The date currently selected", 0, G_MAXUINT, 0, (G_PARAM_READABLE | G_PARAM_WRITABLE) ) ); */ } /* end */ GType gtk_dateentry_get_type () { static GType dateentry_type = 0; debug (" (dateentry) get_type"); if (!dateentry_type) { static const GTypeInfo dateentry_info = { sizeof (GtkDateEntryClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) gtk_dateentry_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof (GtkDateEntry), 0, /* n_preallocs */ (GInstanceInitFunc) gtk_dateentry_init, NULL }; /* dateentry_type = gtk_type_unique (gtk_hbox_get_type (), &dateentry_info);*/ dateentry_type = g_type_register_static (GTK_TYPE_HBOX, "GtkDateEntry", &dateentry_info, 0); } return dateentry_type; } /* ** */ void gtk_dateentry_set_date(GtkDateEntry * dateentry, guint julian_days) { g_return_if_fail (GTK_IS_DATE_ENTRY (dateentry)); if(g_date_valid_julian(julian_days)) { g_date_set_julian (dateentry->date, julian_days); } else { g_date_set_time_t(dateentry->date, time(NULL)); } gtk_dateentry_datetoentry(dateentry); } /* ** */ guint gtk_dateentry_get_date(GtkDateEntry * dateentry) { g_return_val_if_fail (GTK_IS_DATE_ENTRY (dateentry), 0); return(g_date_get_julian(dateentry->date)); } /* static void gtk_dateentry_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GtkDateEntry *dateentry = GTK_DATE_ENTRY (object); debug( g_print(" (dateentry) set %d\n", prop_id) ); switch (prop_id) { case PROPERTY_DATE: debug( g_print(" -> date to %d\n", g_value_get_uint (value)) ); g_date_set_julian (dateentry->date, g_value_get_uint (value)); gtk_dateentry_datetoentry(dateentry); break; default: //G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void gtk_dateentry_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { GtkDateEntry *dateentry = GTK_DATE_ENTRY (object); debug( g_print(" (dateentry) get\n") ); switch (prop_id) { case PROPERTY_DATE: debug( g_print(" -> date is %d\n", 0) ); g_value_set_uint (value, g_date_get_julian(dateentry->date)); break; default: //G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } */ drivel-3.0.5/src/utils.c0000644000175000017500000003221411552103110012007 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002-2005 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ #include #define __USE_XOPEN #include #include #include #include #include #include #include "drivel.h" #include "utils.h" static gboolean return_true (gpointer key, gpointer value, gpointer data) { return TRUE; } void hash_table_item_free (gpointer data) { g_free (data); data = NULL; return; } void hash_table_clear (GHashTable *table) { g_hash_table_foreach_remove (table, return_true, NULL); return; } gint string_compare (gconstpointer a, gconstpointer b) { gint retval; if (strlen (a) < strlen (b)) retval = strncmp (a, b, strlen (b)); else retval = strncmp (a, b, strlen (a)); return retval; } /* gchar* */ /* unescape_text (const gchar *text) */ /* { */ /* gchar *delimited, *unescaped; */ /* if (!text) */ /* return NULL; */ /* delimited = g_strdup (text); */ /* g_strdelimit (delimited, "+", ' '); */ /* unescaped = curl_unescape (delimited, 0); */ /* g_free (delimited); */ /* return unescaped; */ /* } */ GtkBuilder* load_builder_xml (const gchar *root) { gchar *path; GError* error = NULL; GtkBuilder* builder = gtk_builder_new (); if (g_file_test (DRIVEL_GLADE_FILE, G_FILE_TEST_EXISTS)) { if (!gtk_builder_add_from_file (builder, DRIVEL_GLADE_FILE, &error)) { g_warning ("Couldn't load builder file: %s", error->message); g_error_free (error); } } else { path = g_build_filename ("src", DRIVEL_GLADE_FILE, NULL); if (g_file_test (path, G_FILE_TEST_EXISTS)) { if (!gtk_builder_add_from_file (builder, DRIVEL_GLADE_FILE, &error)) { g_warning ("Couldn't load builder file: %s", error->message); g_error_free (error); } } g_free (path); } return builder; } gboolean picture_exists (const gchar *config_dir, const gchar *pic_file) { gboolean exists; gchar *path; GnomeVFSFileInfo info; path = g_build_filename (config_dir, "pictures", pic_file, NULL); if (gnome_vfs_get_file_info (path, &info, GNOME_VFS_FILE_INFO_DEFAULT) == GNOME_VFS_OK) exists = TRUE; else exists = FALSE; g_free (path); return exists; } GSList* load_user_list (const gchar *config_dir) { DrivelUser *du; GSList *list; xmlDocPtr doc; xmlNodePtr cur, child, grandchild; GnomeVFSHandle *handle; GnomeVFSFileSize bytes_read; GnomeVFSResult result; gchar *filename, *value, input_data [4096]; GString *string; list = NULL; string = g_string_new (""); filename = g_build_filename (config_dir, "account_list", NULL); /* read the document from the disk */ result = gnome_vfs_open (&handle, filename, GNOME_VFS_OPEN_READ); if (result == GNOME_VFS_OK) { result = gnome_vfs_seek (handle, GNOME_VFS_SEEK_START, 0); if (result == GNOME_VFS_OK) { do { result = gnome_vfs_read (handle, input_data, 4096, &bytes_read); if (result != GNOME_VFS_OK) break; g_string_append_len (string, input_data, bytes_read); } while (bytes_read == 4096); /* if we read an entire block, reiterate */ result = gnome_vfs_close (handle); } } if (result != GNOME_VFS_OK) { g_warning ("Could not open user list"); g_free (filename); g_string_free (string, TRUE); return NULL; } /* load the document */ doc = xmlReadMemory (string->str, string->len, NULL, NULL, XML_PARSE_NOBLANKS); g_string_free (string, TRUE); if (!doc) { g_warning ("Could not open user list"); return NULL; } cur = xmlDocGetRootElement (doc); if (!cur || strcmp ((gchar *)cur->name, "account_list")) { g_warning ("User list is not valid"); return NULL; } /* parse the xml */ child = cur->xmlChildrenNode; while (child) { if (!strcmp ((gchar *)child->name, "user_account")) { du = drivel_user_new (); grandchild = child->xmlChildrenNode; while (grandchild) { if (!strcmp ((gchar *)grandchild->name, "username")) du->username = (gchar *)xmlNodeListGetString (doc, grandchild->xmlChildrenNode, 1); if (!strcmp ((gchar *)grandchild->name, "password")) du->password = (gchar *)xmlNodeListGetString (doc, grandchild->xmlChildrenNode, 1); if (!strcmp ((gchar *)grandchild->name, "api")) { value = (gchar *)xmlNodeListGetString (doc, grandchild->xmlChildrenNode, 1); du->api = (gint) g_strtod (value, NULL); g_free (value); } if (!strcmp ((gchar *)grandchild->name, "server")) du->server = (gchar *)xmlNodeListGetString (doc, grandchild->xmlChildrenNode, 1); grandchild = grandchild->next; } value = (gchar *)xmlGetProp (child, (xmlChar *)"save_password"); if (value) { du->save_password = (gint) g_strtod (value, NULL); g_free (value); } else du->save_password = 0; value = (gchar *)xmlGetProp (child, (xmlChar *)"autologin"); if (value) { du->autologin = (gint) g_strtod (value, NULL); g_free (value); } else du->autologin = 0; value = (gchar *)xmlGetProp (child, (xmlChar *)"lastuser"); if (value) { du->lastuser = (gint) g_strtod (value, NULL); g_free (value); } else du->lastuser = 0; list = g_slist_append (list, du); } child = child->next; } xmlFreeDoc (doc); return list; } void save_user_list (GSList *list, const gchar *config_dir) { DrivelUser *du; GSList *item; xmlDocPtr doc; xmlNodePtr cur, child; gchar *filename, *value; /* set up the document */ doc = xmlNewDoc ((xmlChar *)"1.0"); doc->children = xmlNewDocNode (doc, NULL, (xmlChar *)"account_list", NULL); cur = xmlDocGetRootElement (doc); /* add the user accounts to the xml document */ for (item = list; item; item = item->next) { du = item->data; child = xmlNewChild (cur, NULL, (xmlChar *)"user_account", NULL); xmlNewTextChild (child, NULL, (xmlChar *)"username", (xmlChar *)du->username); xmlNewTextChild (child, NULL, (xmlChar *)"password", (xmlChar *)du->password); value = g_strdup_printf ("%d", du->api); xmlNewTextChild (child, NULL, (xmlChar *)"api", (xmlChar *)value); g_free (value); xmlNewTextChild (child, NULL, (xmlChar *)"server", (xmlChar *)du->server); value = g_strdup_printf ("%d", du->save_password); xmlNewProp (child, (xmlChar *)"save_password", (xmlChar *)value); g_free (value); value = g_strdup_printf ("%d", du->autologin); xmlNewProp (child, (xmlChar *)"autologin", (xmlChar *)value); g_free (value); value = g_strdup_printf ("%d", du->lastuser); xmlNewProp (child, (xmlChar *)"lastuser", (xmlChar *)value); g_free (value); } /* output the XML */ filename = g_build_filename (config_dir, "account_list", NULL); xmlSaveFormatFile (filename, doc, 1); xmlFreeDoc (doc); g_free (filename); return; } GSList* find_in_user_list (GSList *list, DrivelUser *du) { GSList *item; DrivelUser *du_new; for (item = list; item; item = item->next) { du_new = item->data; /* if the username and api match, we consider the accounts to be the same */ if ( !strcmp (du_new->username, du->username) && du_new->api == du->api) { break; } } return item; } DrivelUser * drivel_user_new (void) { DrivelUser *du; du = g_new0 (DrivelUser, 1); du->username = NULL; du->password = NULL; du->api = BLOG_API_UNKNOWN; du->server = NULL; du->rsd = NULL; du->cookie = NULL; du->save_password = FALSE; du->autologin = FALSE; du->lastuser = FALSE; return du; } void drivel_user_free (DrivelUser *du) { g_return_if_fail (du); g_free (du->username); g_free (du->password); g_free (du->server); g_free (du->rsd); g_free (du->cookie); g_free (du); return; } DrivelJournal* drivel_journal_new (void) { DrivelJournal *dj; dj = g_new0 (DrivelJournal, 1); dj->name = NULL; dj->description = NULL; dj->uri_view = NULL; dj->uri_post = NULL; dj->uri_feed = NULL; dj->id = NULL; dj->type = JOURNAL_TYPE_USER; return dj; } void drivel_journal_free (DrivelJournal *dj) { g_return_if_fail (dj); g_free (dj->name); g_free (dj->description); g_free (dj->uri_view); g_free (dj->uri_post); g_free (dj->uri_feed); g_free (dj->id); g_free (dj); return; } gchar* get_w3dtf_timestamp (void) { struct tm *tm; time_t t; gchar *timestamp; t = time (NULL); tm = gmtime (&t); timestamp = g_new0 (gchar, 32); strftime (timestamp, 32, "%Y-%m-%dT%H:%M:%S%z", tm); return timestamp; } void store_security_append (GtkListStore *store, const gchar *icon, const gchar *name, gint num, gint order, gboolean public) { GdkPixbuf *pixbuf; GtkTreeIter iter; gchar *icon_path; if (icon) { icon_path = g_build_filename (DATADIR, PACKAGE, GLADE, icon, NULL); pixbuf = gdk_pixbuf_new_from_file (icon_path, NULL); } else pixbuf = NULL; gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, STORE_SECURITY_ICON, pixbuf, STORE_SECURITY_NAME, name, STORE_SECURITY_NUM, num, STORE_SECURITY_ORDER, order, STORE_SECURITY_PUBLIC, public, -1); return; } /* Return TRUE if 'name' is found and set 'iter' to the matching row */ static gboolean find_security_group_by_name (GtkTreeModel *model, GtkTreeIter *iter, const gchar *name) { gboolean retval, valid; retval = FALSE; valid = gtk_tree_model_get_iter_first (model, iter); while (valid) { gchar *group_name; gtk_tree_model_get (model, iter, STORE_SECURITY_NAME, &group_name, -1); if (!strcmp (name, group_name)) { retval = TRUE; valid = FALSE; } else valid = gtk_tree_model_iter_next (model, iter); g_free (group_name); } return retval; } /* Return TRUE if 'mask' is found and set 'iter' to the matching row */ static gboolean find_security_group_by_mask (GtkTreeModel *model, GtkTreeIter *iter, gint mask) { gboolean retval, valid; retval = FALSE; valid = gtk_tree_model_get_iter_first (model, iter); while (valid) { guint group_mask; gtk_tree_model_get (model, iter, STORE_SECURITY_NUM, &group_mask, -1); if (mask == (1 << group_mask)) { retval = TRUE; valid = FALSE; } else valid = gtk_tree_model_iter_next (model, iter); } return retval; } void select_security_group (GtkTreeModel *model, GtkComboBox *combo, const gchar *name, gint mask) { gboolean valid; GtkTreeIter iter; valid = FALSE; /* If security is Private or Allowmask, try to load the correct row from the GtkListStore. If it can't be found, set the default to Public. */ /* load the "private" security group */ if (name && !strcmp ("private", name)) valid = find_security_group_by_name (model, &iter, _("Private")); /* load the correct custom security group */ else if (name) valid = find_security_group_by_mask (model, &iter, mask); /* load the "public" security group */ if (!valid) valid = find_security_group_by_name (model, &iter, _("Public")); if (valid) gtk_combo_box_set_active_iter (combo, &iter); return; } /* Build a title from the content of a journal entry. */ /* Return the first line that isn't an HTML tag. */ gchar* title_from_content (const gchar *content) { gchar *title, **lines; gint i; if (!content) return (g_strdup (_("Untitled"))); title = NULL; i = 0; lines = g_strsplit (content, "\n", -1); while (lines[i] && !title) { gchar *stripped = g_strstrip (lines[i]); /* If there is text inbetween two tags (i.e. Hello world!), * strip out the tags and use the text as the title. */ if (stripped) { gboolean inside_tag = FALSE; guint i; for (i = 0; i < strlen (stripped); i++) { if (stripped[i] == '>') { stripped[i] = ' '; inside_tag = FALSE; } else if (stripped[i] == '<') inside_tag = TRUE; if (inside_tag) stripped[i] = ' '; } stripped = g_strstrip (stripped); if (stripped) { gchar *tmp = g_strndup (stripped, 37); if (strlen (stripped) > 37) title = g_strdup_printf ("%s...", tmp); else title = g_strdup (tmp); g_free (tmp); } } i++; } if (!title) title = g_strdup (_("Untitled")); g_strfreev (lines); return title; } void print_msg_xmlrpc (SoupXmlrpcMessage *msg) { SoupXmlrpcMessagePrivate *priv; xmlChar *body; gint len; priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (msg); xmlDocDumpMemory (priv->doc, &body, &len); g_message ("%s", body); } void print_response_xmlrpc (SoupXmlrpcResponse *response) { SoupXmlrpcResponsePrivate * priv; xmlChar *body; gint len; priv = SOUP_XMLRPC_RESPONSE_GET_PRIVATE (response); xmlDocDumpMemory (priv->doc, &body, &len); g_message ("%s", body); } drivel-3.0.5/src/gtkdateentry.h0000644000175000017500000000464511552103110013370 00000000000000/* * Copyright (C) 1995-2009 Maxime DOYEN * Copyright 2009 Neil Williams * * This file was copied from HomeBank. * * This package is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This package is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __GTK_DATE_ENTRY_H__ #define __GTK_DATE_ENTRY_H__ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #define GTK_TYPE_DATE_ENTRY (gtk_dateentry_get_type ()) #define GTK_DATE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_DATE_ENTRY, GtkDateEntry)) #define GTK_DATE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_DATE_ENTRY, GtkDateEntryClass) #define GTK_IS_DATE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_DATE_ENTRY)) #define GTK_IS_DATE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_DATE_ENTRY)) #define GTK_DATE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_DATE_ENTRY, GtkDateEntryClass)) typedef struct _GtkDateEntry GtkDateEntry; typedef struct _GtkDateEntryClass GtkDateEntryClass; /* you should access only the entry and list fields directly */ struct _GtkDateEntry { /*< private >*/ GtkHBox hbox; /*< public >*/ GtkWidget *entry; GtkWidget *arrow; GtkWidget *popup; GtkWidget *popwin; GtkWidget *frame; GtkWidget *calendar; GDate *date; guint32 lastdate; }; struct _GtkDateEntryClass { GtkHBoxClass parent_class; /* signals */ void (* changed) (GtkDateEntry *dateentry); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; GType gtk_dateentry_get_type(void); GtkWidget *gtk_dateentry_new(void); void gtk_dateentry_set_date(GtkDateEntry * dateentry, guint julian_days); guint gtk_dateentry_get_date(GtkDateEntry * dateentry); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __GTK_DATE_ENTRY_H__ */ drivel-3.0.5/src/soup-xmlrpc-message.h0000644000175000017500000000576411552103110014601 00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * FIXME Copyright */ #ifndef SOUP_XMLRPC_MESSAGE_H #define SOUP_XMLRPC_MESSAGE_H #include #include #include #include #include "soup-xmlrpc-response.h" G_BEGIN_DECLS #define SOUP_TYPE_XMLRPC_MESSAGE (soup_xmlrpc_message_get_type ()) #define SOUP_XMLRPC_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_XMLRPC_MESSAGE, SoupXmlrpcMessage)) #define SOUP_XMLRPC_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_XMLRPC_MESSAGE, SoupXmlrpcMessageClass)) #define SOUP_IS_XMLRPC_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_XMLRPC_MESSAGE)) #define SOUP_IS_XMLRPC_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SOUP_TYPE_XMLRPC_MESSAGE)) #define SOUP_XMLRPC_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_XMLRPC_MESSAGE, SoupXmlrpcMessageClass)) typedef struct { SoupMessage parent; } SoupXmlrpcMessage; typedef struct { SoupMessageClass parent_class; } SoupXmlrpcMessageClass; GType soup_xmlrpc_message_get_type (void); SoupXmlrpcMessage *soup_xmlrpc_message_new (const char *uri_string); SoupXmlrpcMessage *soup_xmlrpc_message_new_from_uri (SoupURI *uri); void soup_xmlrpc_message_start_call (SoupXmlrpcMessage *msg, const char *method_name); void soup_xmlrpc_message_end_call (SoupXmlrpcMessage *msg); void soup_xmlrpc_message_start_param (SoupXmlrpcMessage *msg); void soup_xmlrpc_message_end_param (SoupXmlrpcMessage *msg); void soup_xmlrpc_message_write_int (SoupXmlrpcMessage *msg, long i); void soup_xmlrpc_message_write_boolean (SoupXmlrpcMessage *msg, gboolean b); void soup_xmlrpc_message_write_string (SoupXmlrpcMessage *msg, const char *str); void soup_xmlrpc_message_write_double (SoupXmlrpcMessage *msg, double d); void soup_xmlrpc_message_write_datetime (SoupXmlrpcMessage *msg, const time_t timeval); void soup_xmlrpc_message_write_base64 (SoupXmlrpcMessage *msg, gconstpointer buf, int len); void soup_xmlrpc_message_start_struct (SoupXmlrpcMessage *msg); void soup_xmlrpc_message_end_struct (SoupXmlrpcMessage *msg); void soup_xmlrpc_message_start_member (SoupXmlrpcMessage *msg, const char *name); void soup_xmlrpc_message_end_member (SoupXmlrpcMessage *msg); void soup_xmlrpc_message_start_array (SoupXmlrpcMessage *msg); void soup_xmlrpc_message_end_array (SoupXmlrpcMessage *msg); gboolean soup_xmlrpc_message_from_string (SoupXmlrpcMessage *message, const char *xmlstr); xmlChar *soup_xmlrpc_message_to_string (SoupXmlrpcMessage *msg); void soup_xmlrpc_message_persist (SoupXmlrpcMessage *msg); SoupXmlrpcResponse *soup_xmlrpc_message_parse_response (SoupXmlrpcMessage *msg); xmlNode *soup_xml_real_node (xmlNode *node); G_END_DECLS #endif drivel-3.0.5/src/tray.c0000644000175000017500000001236511552103110011633 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2003-2004 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ #include #include #include #include "drivel_request.h" #include "blog_lj.h" #include "network.h" #include "journal.h" #include "tray.h" #include "drivel.h" #define CHECKFRIENDS_INTERVAL 30 /* in seconds */ GtkStatusIcon *tray_icon = NULL; GtkWidget *menu = NULL; guint checkid = 0; /* This is called by a timer to check a user's LiveJournal Friends Page */ static gboolean checkfriends (gpointer data) { DrivelClient *dc = (DrivelClient *) data; if (dc->checking_friends || dc->friends_update) return TRUE; else dc->checking_friends = TRUE; if (dc->time_since_checkfriends < 1) { blog_lj_build_checkfriends_request (dc->user->username, dc->user->server, dc->lastupdate); } else { dc->time_since_checkfriends -= CHECKFRIENDS_INTERVAL; dc->checking_friends = FALSE; } return TRUE; } /* Update the GConf key */ static void menu_remove_cb (GtkMenuItem *item, DrivelClient *dc) { gconf_client_set_bool (dc->client, dc->gconf->tray, FALSE, NULL); return; } /* Once the user views their Friends Page, clear the counters and hide the icon */ static void viewed_friends (DrivelClient *dc) { dc->friends_update = FALSE; g_free (dc->lastupdate); dc->lastupdate = g_strdup (""); tray_display (FALSE); return; } /* Display the user's Friends Page in their default web browser */ static void view_friends (DrivelClient *dc) { gchar *url; url = g_strdup_printf ("http://www.livejournal.com/~%s/friends/", dc->user->username); g_app_info_launch_default_for_uri (url, NULL, NULL); viewed_friends (dc); g_free (url); return; } /* Right-click menu callback for View Friends */ static void view_friends_cb (GtkMenuItem *item, DrivelClient *dc) { view_friends (dc); return; } /* Build the right-click menu */ static void create_menu (DrivelClient *dc) { GtkWidget *menuitem; menu = gtk_menu_new (); menuitem = gtk_menu_item_new_with_mnemonic (_("_View Friends Page")); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (view_friends_cb), dc); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); menuitem = gtk_separator_menu_item_new (); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); menuitem = gtk_menu_item_new_with_mnemonic (_("_Remove From Tray")); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (menu_remove_cb), dc); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_widget_show_all (menu); return; } /* Handle button-press events */ static void clicked (GtkWidget *widget, GdkEventButton *event, gpointer data) { DrivelClient *dc = (DrivelClient *) data; if (event->type != GDK_BUTTON_PRESS) return; switch (event->button) { case 1: { view_friends (dc); break; } case 2: break; case 3: { gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, dc, event->button, event->time); break; } } return; } /* Build the tray widget and associated image to enable the "notify when friends update" preference option. Use GtkStatusIcon. */ static void tray_create (DrivelClient *dc) { GdkPixbuf *pixbuf; if (tray_icon) return; create_menu (dc); pixbuf = gdk_pixbuf_new_from_file (DATADIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S GLADE G_DIR_SEPARATOR_S "tray_livejournal.png", NULL); tray_icon = gtk_status_icon_new_from_pixbuf (pixbuf); /* don't display the icon yet */ gtk_status_icon_set_visible (tray_icon, FALSE); g_signal_connect (G_OBJECT (tray_icon), "button-press-event", G_CALLBACK (clicked), dc); return; } /* Destroy the tray widget and associated image */ static void tray_destroy (void) { if (!tray_icon) return; gtk_status_icon_set_visible (tray_icon, FALSE); return; } /* Turn on the LiveJournal Friends Page check */ void tray_turn_on (DrivelClient *dc) { tray_create (dc); if (dc->user->api == BLOG_API_LJ) checkid = g_timeout_add (1000 * CHECKFRIENDS_INTERVAL, checkfriends, dc); return; } /* Turn off the LiveJournal Friends Page and remove the tray icon */ void tray_turn_off (DrivelClient *dc) { if (checkid) { g_source_remove (checkid); checkid = 0; } tray_destroy (); return; } /* Display the tray icon */ void tray_display (gboolean visible) { if (!tray_icon) { g_warning ("You're calling tray_display() before tray_turn_on(). Bad!"); return; } gtk_status_icon_set_visible (tray_icon, visible); return; } drivel-3.0.5/src/blog_advogato.h0000644000175000017500000000257111552103110013466 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2005 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ #ifndef _BLOG_ADVOGATO_H_ #define _BLOG_ADVOGATO_H_ #include "drivel_request.h" #include "drivel.h" void blog_advogato_build_login_request (const gchar *username, const gchar *password, const gchar *uri); void blog_advogato_build_postevent_request (const gchar *cookie, const gchar *uri, gint index, const gchar *title, const gchar *content); void blog_advogato_build_getevents_request (const gchar *username, const gchar *uri); #endif /* _BLOG_ADVOGATO_H_ */ drivel-3.0.5/src/blog_lj.c0000644000175000017500000012461011552103110012261 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2004 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ #include #include #include #include #include #include "soup-xmlrpc-message.h" #include "drivel_request.h" #include "drivel.h" #include "journal.h" #include "dialogs.h" #include "login.h" #include "network.h" #include "tray.h" #include "utils.h" #include "xmlrpc.h" #include "blog_lj.h" extern DrivelClient *dc; extern gboolean verbose; static gchar* build_challenge_response (const gchar *challenge, const gchar *password) { gchar *response, *pwhash, *hash; pwhash = g_compute_checksum_for_string (G_CHECKSUM_MD5, password, -1); response = g_strdup_printf ("%s%s", challenge, pwhash); hash = g_compute_checksum_for_string (G_CHECKSUM_MD5, response, -1); g_free (response); g_free (pwhash); return (hash); } static void parse_getchallenge_request (SoupMessage *msg, SoupMessage *target_msg) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; GHashTable *table; gchar *challenge, *challenge_response; g_return_if_fail (msg); g_return_if_fail (target_msg); debug ("livejournal parse_getchallenge_request()"); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; if (verbose) print_response_xmlrpc (response); value = soup_xmlrpc_response_get_value (response); if (!value) { g_warning ("No value in reponse"); return; } soup_xmlrpc_value_get_struct (value, &table); value = g_hash_table_lookup (table, "challenge"); soup_xmlrpc_value_get_string (value, &challenge); challenge_response = build_challenge_response (challenge, dc->user->password); xmlrpc_add_string_member (SOUP_XMLRPC_MESSAGE (target_msg), "auth_method", "challenge"); xmlrpc_add_string_member (SOUP_XMLRPC_MESSAGE (target_msg), "auth_challenge", challenge); xmlrpc_add_string_member (SOUP_XMLRPC_MESSAGE (target_msg), "auth_response", challenge_response); xmlrpc_end_with_struct (SOUP_XMLRPC_MESSAGE (target_msg)); net_enqueue_msg (target_msg); g_free (challenge); g_free (challenge_response); g_hash_table_destroy (table); g_object_unref (response); return; } static void send_getchallenge_request (const gchar *uri, SoupXmlrpcMessage *target_msg) { SoupXmlrpcMessage *msg; msg = xmlrpc_start ("LJ.XMLRPC.getchallenge", uri); xmlrpc_end (msg); debug ("send_getchallenge_request"); if (verbose) print_msg_xmlrpc (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_getchallenge_request), target_msg); net_enqueue_msg (SOUP_MESSAGE (msg)); return; } static void parse_friendgroup_data (SoupXmlrpcValue *value, GtkListStore *store) { SoupXmlrpcValueArrayIterator *iter; /* fetch the user's security groups */ soup_xmlrpc_value_array_get_iterator (value, &iter); while (soup_xmlrpc_value_array_iterator_get_value (iter, &value) && value) { GHashTable *table; gchar *name; glong id, sortorder, public; soup_xmlrpc_value_get_struct (value, &table); value = g_hash_table_lookup (table, "name"); soup_xmlrpc_value_get_string (value, &name); value = g_hash_table_lookup (table, "id"); soup_xmlrpc_value_get_int (value, &id); value = g_hash_table_lookup (table, "sortorder"); soup_xmlrpc_value_get_int (value, &sortorder); value = g_hash_table_lookup (table, "public"); soup_xmlrpc_value_get_int (value, &public); store_security_append (store, "protected.png", name, id, sortorder, (gboolean) public); g_hash_table_destroy (table); iter = soup_xmlrpc_value_array_iterator_next (iter); } return; } static void parse_menus (SoupXmlrpcValue *value, gint level) { SoupXmlrpcValueArrayIterator *iter; gint j = 1; soup_xmlrpc_value_array_get_iterator (value, &iter); while (soup_xmlrpc_value_array_iterator_get_value (iter, &value) && value) { GHashTable *table; gchar *text, *url; LJMenuItem *menu_item; soup_xmlrpc_value_get_struct (value, &table); value = g_hash_table_lookup (table, "text"); soup_xmlrpc_value_get_string (value, &text); value = g_hash_table_lookup (table, "url"); soup_xmlrpc_value_get_string (value, &url); menu_item = g_new0 (LJMenuItem, 1); menu_item->label = text; menu_item->url = url; menu_item->menu_index = level; menu_item->item_index = j; /* if this is a submenu, recurse into it */ value = g_hash_table_lookup (table, "sub"); if (value) { menu_item->sub_menu = TRUE; parse_menus (value, level + 1); } else menu_item->sub_menu = FALSE; /* FIXME: the menu list isn't working */ /* dc->menu_list = g_slist_append (dc->menu_list, menu_item); */ g_hash_table_destroy (table); j++; iter = soup_xmlrpc_value_array_iterator_next (iter); } return; } static void parse_login_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; GHashTable *table; DrivelJournal *dj = NULL; g_return_if_fail (msg); debug ("livejournal parse_login_request()"); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; value = soup_xmlrpc_response_get_value (response); if (!value) { g_warning ("No value in reponse"); return; } add_account_to_list (dc); /* clear out the list of security groups and add the defaults */ fill_security_menu (dc, dc->security_store); soup_xmlrpc_value_get_struct (value, &table); /* if lj sent us a message, display it to the user */ value = g_hash_table_lookup (table, "message"); if (value) { GtkWidget *dialog; gchar *message; soup_xmlrpc_value_get_string (value, &message); dialog = gtk_message_dialog_new ( GTK_WINDOW (dc->current_window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s", message); gtk_dialog_run (GTK_DIALOG (dialog)); g_free (message); gtk_widget_destroy (dialog); } /* are we able to use the fast servers? */ dc->use_fast_servers = FALSE; value = g_hash_table_lookup (table, "fastserver"); if (value) { glong fastserver; soup_xmlrpc_value_get_int (value, &fastserver); if (fastserver) dc->use_fast_servers = TRUE; } /* clear or create the hash tables for picture filenames and keywords */ if (dc->picture_keywords != NULL) hash_table_clear (dc->picture_keywords); else dc->picture_keywords = g_hash_table_new_full (g_str_hash, g_str_equal, hash_table_item_free, hash_table_item_free); if (dc->picture_filenames != NULL) hash_table_clear (dc->picture_filenames); else dc->picture_filenames = g_hash_table_new_full (g_str_hash, g_str_equal, hash_table_item_free, hash_table_item_free); dc->default_picture_file = NULL; g_hash_table_insert (dc->picture_keywords, g_strdup ("pickw_0"), g_strdup_printf ("[%s]", _("default"))); /* fill the picture keywords hash table */ dc->pictures = 0; value = g_hash_table_lookup (table, "pickws"); if (value) { SoupXmlrpcValueArrayIterator *iter; gint i = 1; soup_xmlrpc_value_array_get_iterator (value, &iter); while (soup_xmlrpc_value_array_iterator_get_value (iter, &value) && value) { gchar *kw, *localkey; soup_xmlrpc_value_get_string (value, &kw); localkey = g_strdup_printf ("pickw_%d", i); g_hash_table_insert (dc->picture_keywords, localkey, kw); i++; iter = soup_xmlrpc_value_array_iterator_next (iter); } dc->pictures = i - 1; } /* fill the picture filenames hash table */ value = g_hash_table_lookup (table, "pickwurls"); if (value) { SoupXmlrpcValueArrayIterator *iter; gint i = 1; soup_xmlrpc_value_array_get_iterator (value, &iter); while (soup_xmlrpc_value_array_iterator_get_value (iter, &value) && value) { gchar *url, *localkey, *user_id, *no_user_id, *pic_id, *pic_file; soup_xmlrpc_value_get_string (value, &url); localkey = g_strdup_printf ("pickw_%d", i); user_id = g_path_get_basename (url); no_user_id = g_path_get_dirname (url); pic_id = g_path_get_basename (no_user_id); pic_file = g_strdup_printf ("%s_%s", user_id, pic_id); g_free (no_user_id); g_free (user_id); g_free (pic_id); g_hash_table_insert (dc->picture_filenames, localkey, pic_file); if (!picture_exists (dc->config_directory, pic_file)) blog_lj_build_getpicture_request (url, pic_file); i++; iter = soup_xmlrpc_value_array_iterator_next (iter); } } value = g_hash_table_lookup (table, "defaultpicurl"); if (value) { gchar *url, *user_id, *no_user_id, *pic_id, *pic_file; soup_xmlrpc_value_get_string (value, &url); user_id = g_path_get_basename (url); no_user_id = g_path_get_dirname (url); pic_id = g_path_get_basename (no_user_id); pic_file = g_strdup_printf ("%s_%s", user_id, pic_id); dc->default_picture_file = g_build_filename (dc->config_directory, "pictures", pic_file, NULL); if (!picture_exists (dc->config_directory, pic_file)) blog_lj_build_getpicture_request (url, pic_file); g_free (no_user_id); g_free (user_id); g_free (pic_id); } /* get any new moods */ value = g_hash_table_lookup (table, "moods"); if (value) { SoupXmlrpcValueArrayIterator *iter; soup_xmlrpc_value_array_get_iterator (value, &iter); while (soup_xmlrpc_value_array_iterator_get_value (iter, &value) && value) { GHashTable *table; gchar *label, *key; glong id; soup_xmlrpc_value_get_struct (value, &table); value = g_hash_table_lookup (table, "id"); soup_xmlrpc_value_get_int (value, &id); value = g_hash_table_lookup (table, "name"); soup_xmlrpc_value_get_string (value, &label); key = g_strdup_printf ("/apps/drivel/moods/mood_%ld", id); gconf_client_set_string (dc->client, key, label, NULL); g_hash_table_insert (dc->mood_icons, key, value); dc->mood_list = g_slist_append (dc->mood_list, label); dc->moods++; g_hash_table_destroy (table); iter = soup_xmlrpc_value_array_iterator_next (iter); } dc->mood_list = g_slist_sort (dc->mood_list, string_compare); gconf_client_set_int (dc->client, "/apps/drivel/moods/moods", dc->moods, NULL); gconf_client_set_list (dc->client, "/apps/drivel/moods/mood_list", GCONF_VALUE_STRING, dc->mood_list, NULL); } /* fetch the user's security groups */ value = g_hash_table_lookup (table, "friendgroups"); parse_friendgroup_data (value, dc->security_store); /* # of journals this user has access to */ dc->journals = 0; value = g_hash_table_lookup (table, "usejournals"); if (value) { SoupXmlrpcValueArrayIterator *iter; soup_xmlrpc_value_array_get_iterator (value, &iter); while (soup_xmlrpc_value_array_iterator_get_value (iter, &value) && value) { gchar *name; soup_xmlrpc_value_get_string (value, &name); if (strncmp (name, dc->user->username, strlen (name))) { dj = drivel_journal_new (); dj->name = g_strdup (name); dj->uri_view = g_strdup_printf ("%s/users/%s", dc->user->server, name); dj->type = JOURNAL_TYPE_COMMUNITY; dc->journal_list = g_slist_prepend (dc->journal_list, dj); dc->journals++; } g_free (name); iter = soup_xmlrpc_value_array_iterator_next (iter); } } /* get the user's journal name */ value = g_hash_table_lookup (table, "fullname"); if (value) { gchar *fullname; soup_xmlrpc_value_get_string (value, &fullname); dj = drivel_journal_new (); dj->description = fullname; dj->name = g_strdup (dc->user->username); dj->uri_view = g_strdup_printf ("%s/users/%s", dc->user->server, dc->user->username); dc->journal_list = g_slist_prepend (dc->journal_list, dj); dc->journals++; /* set the default active journal to this, as it's the primary account */ dc->active_journal = dj; } dc->journal_list = g_slist_sort (dc->journal_list, (GCompareFunc)sort_journals); /* fetch recent entries for our journal */ blog_lj_build_getevents_request (dc->user->username, dc->user->server, 0, FALSE, FALSE, "lastn", NULL, 0, 0, 0, DRIVEL_N_RECENT_POSTS, NULL, 0, NULL, dj); /* create the web links menu */ value = g_hash_table_lookup (table, "menus"); if (value) parse_menus (value, 0); gtk_widget_hide (dc->login_window); journal_window_build (dc); g_hash_table_destroy (table); g_object_unref (response); return; } void blog_lj_build_login_request (const gchar *username, const gchar *uri, const gchar *version, gint n_moods) { SoupXmlrpcMessage *msg; gchar * xmlrpc; debug ("livejournal build_login_request()"); xmlrpc = g_strdup (uri); update_status_msg (REQUEST_TYPE_LOGIN); if (!g_strcmp0 (uri, "http://www.livejournal.com/interface/flat")) { g_free (xmlrpc); xmlrpc = g_strdup ("http://www.livejournal.com/interface/xmlrpc"); } if (!g_str_has_suffix (uri, "interface/xmlrpc")) { g_free (xmlrpc); xmlrpc = g_strconcat (uri, "/interface/xmlrpc", NULL); } msg = xmlrpc_start_with_struct ("LJ.XMLRPC.login", xmlrpc); xmlrpc_add_string_member (msg, "username", username); xmlrpc_add_int_member (msg, "ver", 1); xmlrpc_add_string_member (msg, "clientversion", version); xmlrpc_add_int_member (msg, "getmoods", n_moods); xmlrpc_add_int_member (msg, "getmenus", 1); xmlrpc_add_int_member (msg, "getpickws", 1); xmlrpc_add_int_member (msg, "getpickwurls", 1); if (verbose) print_msg_xmlrpc (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_login_request), NULL); send_getchallenge_request (xmlrpc, msg); g_free (xmlrpc); } static void parse_getpicture_request (SoupMessage *msg, gpointer data) { gchar *path; GnomeVFSHandle *handle; GnomeVFSResult result; gchar *filename = data; g_return_if_fail (msg); debug ("livejournal parse_getpicture_request()"); if (!dc->config_directory) { g_warning ("You do not have a valid config directory."); return; } path = g_build_filename (dc->config_directory, "pictures", filename, NULL); result = gnome_vfs_create (&handle, path, GNOME_VFS_OPEN_WRITE, FALSE, GNOME_VFS_PERM_USER_READ | GNOME_VFS_PERM_USER_WRITE); g_free (path); g_free (filename); if (result != GNOME_VFS_OK) { g_warning ("%s", gnome_vfs_result_to_string (result)); return; } gnome_vfs_write (handle, msg->response_body->data, msg->response_body->length, NULL); gnome_vfs_close (handle); fill_picture_menu (dc, dc->picture_store); gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_picture), gconf_client_get_int (dc->client, dc->gconf->default_picture, NULL)); return; } void blog_lj_build_getpicture_request (const gchar *url, gchar *filename) { SoupMessage *msg; debug ("livejournal build_getpicture_request"); update_status_msg (REQUEST_TYPE_GETPICTURE); msg = soup_message_new (SOUP_METHOD_GET, url); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_getpicture_request), filename); net_enqueue_msg (msg); update_status_msg (REQUEST_TYPE_NONE); } /* seems to be the only place where libcurl is actually used * but it's only for an escape routine - GLib should be * able to do this without libcurl. */ void blog_lj_build_checkfriends_request (const gchar *username, const gchar *uri, const gchar* lastupdate) { debug ("livejournal build_checkfriends_request()"); /* DrivelRequest *dr; dr = drivel_request_new_with_items (REQUEST_TYPE_CHECKFRIENDS, REQUEST_PROTOCOL_POST, BLOG_API_LJ, uri, g_strdup ("mode"), g_strdup ("checkfriends"), g_strdup ("user"), curl_escape (username, 0), g_strdup ("ver"), g_strdup ("1"), g_strdup ("lastupdate"), curl_escape (lastupdate, 0), NULL); return dr; */ } void blog_lj_parse_checkfriends_request (DrivelClient *dc, DrivelRequest *dr) { const gchar *mesg; debug ("livejournal parse_checkfriends_request()"); dc->checking_friends = FALSE; mesg = drivel_request_value_lookup (dr, "success"); if (!mesg || !strcmp (mesg, "FAIL")) return; mesg = drivel_request_value_lookup (dr, "lastupdate"); if (mesg) { g_free (dc->lastupdate); dc->lastupdate = g_strdup (mesg); } mesg = drivel_request_value_lookup (dr, "new"); if (mesg) { if ((gint) g_strtod (mesg, NULL)) { dc->friends_update = TRUE; tray_display (TRUE); } else dc->friends_update = FALSE; } mesg = drivel_request_value_lookup (dr, "interval"); if (mesg) dc->time_since_checkfriends = (gint) g_strtod (mesg, NULL); return; } static void parse_postevent_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; g_return_if_fail (msg); debug ("livejournal parse_postevent_request()"); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; if (verbose) print_response_xmlrpc (response); /* FIXME: ping technorati */ journal_finished_post (dc); g_object_unref (response); return; } static G_GNUC_UNUSED void msg_sent (SoupSession *session, SoupMessage *msg, DrivelJournal * dj) { GValue value; debug ("msg_sent callback"); if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) { g_message ("bad status code %d", msg->status_code); return; } if (!soup_xmlrpc_parse_method_response (msg->response_body->data, msg->response_body->length, &value, NULL)) return; if (G_VALUE_HOLDS_STRING (&value)) g_message ("response=%s", g_value_dup_string (&value)); g_message ("appears ok"); } void blog_lj_build_postevent_request (const gchar *username, const gchar *uri, const gchar *event, const gchar *music, const gchar *mood, gint moodid, const gchar *subject, const gchar *security, gint mask, const gchar *picture, gint year, gint month, gint day, gint hour, gint minute, gint nocomments, gint preformatted, const DrivelJournal *dj, gint backdate, const gchar* tags) { SoupXmlrpcMessage G_GNUC_UNUSED *msg; SoupMessage G_GNUC_UNUSED * msg2; GHashTable G_GNUC_UNUSED *body; SoupSession G_GNUC_UNUSED *session; gchar G_GNUC_UNUSED * challenge_response, G_GNUC_UNUSED * challenge; GValueArray G_GNUC_UNUSED * ga; GHashTable G_GNUC_UNUSED * props; debug ("livejournal build_postevent_request()"); update_status_msg (REQUEST_TYPE_POSTEVENT); /* prototype libsoup2.4 code The first problem here is that the challenge_response has to be converted before LJ will accept the 2.4 msg so the code uses clear passwords. However, even with this, if props are added, it still does not post to LJ. The GValue code probably needs a similar workaround to the direct XMLRPC relating to the buggy LJ Spec. */ //#define USESOUP24 1 #ifdef USESOUP24 session = soup_session_async_new (); body = soup_value_hash_new (); props = soup_value_hash_new (); soup_value_hash_insert (body, "username", G_TYPE_STRING, username); soup_value_hash_insert (body, "auth_method", G_TYPE_STRING, "clear"); soup_value_hash_insert (body, "password", G_TYPE_STRING, dc->user->password); soup_value_hash_insert (body, "ver", G_TYPE_INT, 1); soup_value_hash_insert (body, "event", G_TYPE_STRING, event); soup_value_hash_insert (body, "linendings", G_TYPE_STRING, "unix"); soup_value_hash_insert (body, "subject", G_TYPE_STRING, subject); soup_value_hash_insert (body, "security", G_TYPE_STRING, security); soup_value_hash_insert (body, "allowmask", G_TYPE_INT, mask); soup_value_hash_insert (props, "current_music", G_TYPE_STRING, music); /* soup_value_hash_insert (props, "current_mood", G_TYPE_STRING, mood); soup_value_hash_insert (props, "current_mood", G_TYPE_INT, moodid); soup_value_hash_insert (props, "opt_preformatted", G_TYPE_BOOLEAN, (gboolean)preformatted); soup_value_hash_insert (props, "opt_nocomments", G_TYPE_BOOLEAN, (gboolean)nocomments); soup_value_hash_insert (props, "picture_keyword", G_TYPE_STRING, picture); soup_value_hash_insert (props, "opt_backdated", G_TYPE_BOOLEAN, (gboolean)backdate); */ ga = soup_value_array_new_with_vals (G_TYPE_HASH_TABLE, props, G_TYPE_INVALID, NULL); soup_value_hash_insert (body, "props", G_TYPE_VALUE_ARRAY, ga); soup_value_hash_insert (body, "year", G_TYPE_INT, year); soup_value_hash_insert (body, "mon", G_TYPE_INT, month); soup_value_hash_insert (body, "day", G_TYPE_INT, day); soup_value_hash_insert (body, "hour", G_TYPE_INT, hour); soup_value_hash_insert (body, "min", G_TYPE_INT, minute); if (dj && dj->type == JOURNAL_TYPE_COMMUNITY) soup_value_hash_insert (body, "usejournal", G_TYPE_STRING, dj->name); msg2 = soup_xmlrpc_request_new (uri, "LJ.XMLRPC.postevent", G_TYPE_HASH_TABLE, body, G_TYPE_INVALID); g_hash_table_destroy (body); if (msg2 == NULL) return; net_enqueue_msg (msg2); soup_session_queue_message (session, msg2, (SoupSessionCallback)msg_sent, (gpointer)dj); #else // old style XMLRPC code msg = xmlrpc_start_with_struct ("LJ.XMLRPC.postevent", uri); xmlrpc_add_string_member (msg, "username", username); xmlrpc_add_int_member (msg, "ver", 1); xmlrpc_add_string_member (msg, "event", event); xmlrpc_add_string_member (msg, "lineendings", "unix"); xmlrpc_add_string_member (msg, "subject", subject); xmlrpc_add_string_member (msg, "security", security); xmlrpc_add_int_member (msg, "allowmask", mask); /* The LJ XML-RPC Spec is BUGGY! http://community.livejournal.com/lj_dev/819036.html Using the "proper" xmlrpc calls for an array, with data and param nested fields, will fail to be parsed by the LJ code. (Bad index making an array into a hash.) This could be "fixed" at some update of LJ, in which case this workaround will likely fail. The original code is retained in a define for this reason. Use the verbose option to drivel to see the XML being posted. */ #define LJXMLSPEC_IS_BUGGY 1 #ifdef LJXMLSPEC_IS_BUGGY soup_xmlrpc_message_start_member (msg, "props"); soup_xmlrpc_message_start_struct (msg); #else xmlrpc_start_array_member (msg, "props"); xmlrpc_start_struct_param (msg); #endif xmlrpc_add_string_member (msg, "current_music", music); xmlrpc_add_string_member (msg, "current_mood", mood); xmlrpc_add_int_member (msg, "current_moodid", moodid); xmlrpc_add_bool_member (msg, "opt_preformatted", (gboolean)preformatted); xmlrpc_add_bool_member (msg, "opt_nocomments", (gboolean)nocomments); xmlrpc_add_string_member (msg, "picture_keyword", picture); xmlrpc_add_bool_member (msg, "opt_backdated", (gboolean)backdate); xmlrpc_add_string_member (msg, "taglist", tags); #ifdef LJXMLSPEC_IS_BUGGY soup_xmlrpc_message_end_struct (msg); soup_xmlrpc_message_end_member (msg); #else xmlrpc_end_struct_param (msg); xmlrpc_end_array_member (msg); #endif xmlrpc_add_int_member (msg, "year", year); xmlrpc_add_int_member (msg, "mon", month); xmlrpc_add_int_member (msg, "day", day); xmlrpc_add_int_member (msg, "hour", hour); xmlrpc_add_int_member (msg, "min", minute); if (dj && dj->type == JOURNAL_TYPE_COMMUNITY) xmlrpc_add_string_member (msg, "usejournal", dj->name); if (verbose) print_msg_xmlrpc (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_postevent_request), NULL); send_getchallenge_request (uri, msg); #endif } void blog_lj_build_editevent_request (const gchar *username, const gchar *uri, const gchar *itemid, const gchar *event, const gchar *music, const gchar *mood, gint moodid, const gchar *subject, const gchar *security, gint mask, const gchar *picture, gint year, gint month, gint day, gboolean newdate, gint nocomments, gint preformatted, const gchar * tags, const DrivelJournal *dj) { SoupXmlrpcMessage *msg; glong itemid_int; debug ("livejournal build_editevent_request()"); itemid_int = (glong) g_ascii_strtod (itemid, NULL); msg = xmlrpc_start_with_struct ("LJ.XMLRPC.editevent", uri); xmlrpc_add_string_member (msg, "username", username); /* hmm, think this should be password, not ver */ xmlrpc_add_int_member (msg, "ver", 1); xmlrpc_add_int_member (msg, "itemid", itemid_int); xmlrpc_add_string_member (msg, "event", event); xmlrpc_add_string_member (msg, "lineendings", "unix"); xmlrpc_add_string_member (msg, "subject", subject); xmlrpc_add_string_member (msg, "security", security); xmlrpc_add_int_member (msg, "allowmask", mask); xmlrpc_start_struct_member (msg, "props"); xmlrpc_add_string_member (msg, "current_music", music); xmlrpc_add_string_member (msg, "current_mood", mood); xmlrpc_add_int_member (msg, "current_moodid", moodid); xmlrpc_add_bool_member (msg, "opt_preformatted", (gboolean)preformatted); xmlrpc_add_bool_member (msg, "opt_nocomments", (gboolean)nocomments); xmlrpc_add_string_member (msg, "picture_keyword", picture); xmlrpc_add_string_member (msg, "taglist", tags); xmlrpc_end_struct_member (msg); if (newdate) { xmlrpc_add_int_member (msg, "year", year); xmlrpc_add_int_member (msg, "mon", month); xmlrpc_add_int_member (msg, "day", day); } if (dj && dj->type == JOURNAL_TYPE_COMMUNITY) xmlrpc_add_string_member (msg, "usejournal", dj->name); if (verbose) print_msg_xmlrpc (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_postevent_request), NULL); send_getchallenge_request (uri, msg); } static void parse_getevents_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; GHashTable *table; g_return_if_fail (msg); debug ("livejournal parse_getevents_request()"); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; value = soup_xmlrpc_response_get_value (response); soup_xmlrpc_value_get_struct (value, &table); value = g_hash_table_lookup (table, "events"); if (value) { SoupXmlrpcValueArrayIterator *iter; SoupXmlrpcValue *array_value; gint events_count, i; gchar **itemid; gchar **event, **security, **allowmask, **subject; gchar **eventtime, **comments = NULL, **autoformat = NULL; gchar **mood = NULL, **music = NULL, **picture = NULL; gchar **tags = NULL; /* Count the number of entries */ events_count = 0; soup_xmlrpc_value_array_get_iterator (value, &iter); while (soup_xmlrpc_value_array_iterator_get_value (iter, &array_value) && array_value) { events_count++; iter = soup_xmlrpc_value_array_iterator_next (iter); } itemid = g_new (gchar *, events_count + 1); event = g_new (gchar *, events_count + 1); security = g_new (gchar *, events_count + 1); allowmask = g_new (gchar *, events_count + 1); subject = g_new (gchar *, events_count + 1); eventtime = g_new (gchar *, events_count + 1); picture = g_new (gchar *, events_count + 1); mood = g_new (gchar *, events_count + 1); music = g_new (gchar *, events_count + 1); comments = g_new (gchar *, events_count + 1); autoformat = g_new (gchar *, events_count + 1); tags = g_new(gchar *, events_count + 1); for (i = events_count; i > -1; i--) { itemid [i] = NULL; event [i] = NULL; security [i] = NULL; allowmask [i] = NULL; subject [i] = NULL; eventtime [i] = NULL; picture [i] = NULL; mood [i] = NULL; music [i] = NULL; comments [i] = NULL; autoformat [i] = NULL; tags[i] = NULL; } i++; soup_xmlrpc_value_array_get_iterator (value, &iter); while (soup_xmlrpc_value_array_iterator_get_value (iter, &value) && value) { GHashTable *table; glong val; soup_xmlrpc_value_get_struct (value, &table); if ((value = g_hash_table_lookup (table, "itemid"))) { soup_xmlrpc_value_get_int (value, &val); itemid[i] = g_strdup_printf ("%ld", val); } if ((value = g_hash_table_lookup (table, "eventtime"))) soup_xmlrpc_value_get_string (value, &eventtime[i]); if ((value = g_hash_table_lookup (table, "security"))) soup_xmlrpc_value_get_string (value, &security[i]); if ((value = g_hash_table_lookup (table, "allowmask"))) { soup_xmlrpc_value_get_int (value, &val); allowmask[i] = g_strdup_printf ("%ld", val); } if ((value = g_hash_table_lookup (table, "subject"))) { soup_xmlrpc_value_get_string (value, &subject[i]); } if ((value = g_hash_table_lookup (table, "event"))) { soup_xmlrpc_value_get_string (value, &event[i]); } if ((value = g_hash_table_lookup (table, "props"))) { GHashTable *table; gboolean val; soup_xmlrpc_value_get_struct (value, &table); if ((value = g_hash_table_lookup (table, "picture_keyword"))) soup_xmlrpc_value_get_string (value, &picture[i]); if ((value = g_hash_table_lookup (table, "current_mood"))) soup_xmlrpc_value_get_string (value, &mood[i]); if ((value = g_hash_table_lookup (table, "current_music"))) soup_xmlrpc_value_get_string (value, &music[i]); if ((value = g_hash_table_lookup (table, "taglist"))) soup_xmlrpc_value_get_string (value, &tags[i]); if ((value = g_hash_table_lookup (table, "opt_nocomments"))) { soup_xmlrpc_value_get_boolean (value, &val); comments[i] = g_strdup_printf ("%d", (gint)val); } if ((value = g_hash_table_lookup (table, "opt_preformatted"))) { soup_xmlrpc_value_get_boolean (value, &val); autoformat[i] = g_strdup_printf ("%d", (gint)val); } g_hash_table_destroy (table); } g_hash_table_destroy (table); i++; iter = soup_xmlrpc_value_array_iterator_next (iter); } if (g_object_get_data (G_OBJECT (msg), "lastn")) { for (i = 0; i < events_count; i++) { DrivelJournalProp *prop ; DrivelJournalEntry *entry = journal_entry_new (); entry->content = g_strdup (event[i]); if (subject[i]) entry->subject = g_strdup (subject[i]); entry->userid = g_strdup (g_object_get_data (G_OBJECT (msg), "user")); entry->postid = g_strdup (itemid[i]); entry->security = g_strdup (security[i]); entry->security_mask = g_strdup (allowmask[i]); if (picture[i]) { prop = journal_prop_new (); prop->name = g_strdup ("picture"); prop->value = g_strdup (picture[i]); g_ptr_array_add (entry->properties, prop); } if (music[i]) { prop = journal_prop_new (); prop->name = g_strdup ("music"); prop->value = g_strdup (music[i]); g_ptr_array_add (entry->properties, prop); } if (mood[i]) { prop = journal_prop_new (); prop->name = g_strdup ("mood"); prop->value = g_strdup (mood[i]); g_ptr_array_add (entry->properties, prop); } if (comments[i]) { prop = journal_prop_new (); prop->name = g_strdup ("comments"); prop->value = g_strdup (comments[i]); g_ptr_array_add (entry->properties, prop); } if (autoformat[i]) { prop = journal_prop_new (); prop->name = g_strdup ("autoformat"); prop->value = g_strdup (autoformat[i]); g_ptr_array_add (entry->properties, prop); } if (tags[i]) { prop = journal_prop_new (); prop->name = g_strdup ("taglist"); prop->value = g_strdup (tags[i]); g_ptr_array_add (entry->properties, prop); } prop = journal_prop_new (); prop->name = g_strdup ("eventtime"); prop->value = g_strdup (eventtime[i]); g_ptr_array_add (entry->properties, prop); g_ptr_array_add (dc->recent_entries, entry); } journal_refresh_recent_entries (dc); } else if (dc->edit_entry) { journal_edit_entry (dc, itemid [0], event [0], security [0], allowmask [0], subject [0], mood [0], music [0], picture [0], eventtime [0], comments [0], autoformat [0], NULL, tags[0]); } else { update_history_list (dc, itemid, event, eventtime, events_count); } g_strfreev (itemid); g_strfreev (event); g_strfreev (security); g_strfreev (allowmask); g_strfreev (subject); g_strfreev (eventtime); g_strfreev (picture); g_strfreev (mood); g_strfreev (music); g_strfreev (comments); g_strfreev (autoformat); g_strfreev (tags); } g_hash_table_destroy (table); g_object_unref (response); return; } void blog_lj_build_getevents_request (const gchar *username, const gchar *uri, gint truncate, gboolean prefersubject, gboolean noprops, const gchar *selecttype, const gchar *lastsync, gint year, gint month, gint day, gint howmany, const gchar *beforedate, gint itemid, const gchar * tags, const DrivelJournal *dj) { SoupXmlrpcMessage *msg; debug ("livejournal build_getevents_request()"); msg = xmlrpc_start_with_struct ("LJ.XMLRPC.getevents", uri); xmlrpc_add_string_member (msg, "username", username); xmlrpc_add_int_member (msg, "ver", 1); xmlrpc_add_string_member (msg, "lineendings", "unix"); xmlrpc_add_int_member (msg, "truncate", truncate); xmlrpc_add_int_member (msg, "prefersubject", (gint)prefersubject); xmlrpc_add_int_member (msg, "noprops", (gint)noprops); xmlrpc_add_string_member (msg, "taglist", tags); xmlrpc_add_string_member (msg, "selecttype", selecttype); if (!strncmp (selecttype, "day", strlen ("day"))) { xmlrpc_add_int_member (msg, "year", year); xmlrpc_add_int_member (msg, "month", month); xmlrpc_add_int_member (msg, "day", day + 1); } else if (!strncmp (selecttype, "lastn", strlen ("lastn"))) { xmlrpc_add_int_member (msg, "howmany", howmany); if (beforedate) { xmlrpc_add_string_member (msg, "beforedate", beforedate); } g_object_set_data_full (G_OBJECT (msg), "lastn", g_strdup ("true"), g_free); } else if (!strncmp (selecttype, "one", strlen ("one"))) { xmlrpc_add_int_member (msg, "itemid", itemid); } else if (!strncmp (selecttype, "syncitems", strlen ("syncitems"))) { xmlrpc_add_string_member (msg, "lasysync", lastsync); } if (dj && dj->type == JOURNAL_TYPE_COMMUNITY) xmlrpc_add_string_member (msg, "usejournal", dj->name); if (verbose) print_msg_xmlrpc (msg); g_object_set_data_full (G_OBJECT (msg), "user", g_strdup (username), g_free); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_getevents_request), NULL); send_getchallenge_request (uri, msg); } static void parse_getdaycounts_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; GHashTable *table; g_return_if_fail (msg); debug ("livejournal parse_getdaycounts_request()"); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; value = soup_xmlrpc_response_get_value (response); soup_xmlrpc_value_get_struct (value, &table); value = g_hash_table_lookup (table, "daycounts"); if (value) { SoupXmlrpcValueArrayIterator *iter; guint year, month, day, i; gchar range[8]; gint8 days [31]; for (i = 0; i < 31; i++) days[i] = 0; gtk_calendar_get_date (GTK_CALENDAR (dc->history_calendar), &year, &month, &day); g_snprintf (range, 8, "%04d-%02d", year, month + 1); soup_xmlrpc_value_array_get_iterator (value, &iter); while (soup_xmlrpc_value_array_iterator_get_value (iter, &value) && value) { GHashTable *table; glong count; gchar *date = NULL; soup_xmlrpc_value_get_struct (value, &table); if ((value = g_hash_table_lookup (table, "date"))) soup_xmlrpc_value_get_string (value, &date); if ((value = g_hash_table_lookup (table, "count"))) soup_xmlrpc_value_get_int (value, &count); if (!strncmp (range, date, 7)) { sscanf (date, "%d-%d-%d", &year, &month, &day); days[day] = count; } g_free (date); g_hash_table_destroy (table); iter = soup_xmlrpc_value_array_iterator_next (iter); } update_history_marks (dc, days); } g_hash_table_destroy (table); g_object_unref (response); return; } void blog_lj_build_getdaycounts_request (const gchar *username, const gchar *uri, const DrivelJournal *dj) { SoupXmlrpcMessage *msg; debug ("livejournal build_getdaycounts_request()"); msg = xmlrpc_start_with_struct ("LJ.XMLRPC.getdaycounts", uri); xmlrpc_add_string_member (msg, "username", username); xmlrpc_add_int_member (msg, "ver", 1); if (dj && dj->type == JOURNAL_TYPE_COMMUNITY) xmlrpc_add_string_member (msg, "usejournal", dj->name); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_getdaycounts_request), NULL); send_getchallenge_request (uri, msg); } static void parse_editfriends_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; g_return_if_fail (msg); debug ("livejournal parse_editfriends_request()"); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; /* fetch recent entries for our journal */ blog_lj_build_getfriends_request (dc->user->username, dc->user->server, TRUE, FALSE); g_object_unref (response); return; } void blog_lj_build_editfriends_request (const gchar *username, const gchar *uri, const gchar *friend, gboolean delete, gboolean new, const gchar *fg, const gchar *bg) { SoupXmlrpcMessage *msg; debug ("livejournal build_editfriends_request()"); msg = xmlrpc_start_with_struct ("LJ.XMLRPC.editfriends", uri); xmlrpc_add_string_member (msg, "username", username); xmlrpc_add_int_member (msg, "ver", 1); if (delete || !new) { xmlrpc_start_array_member (msg, "delete"); soup_xmlrpc_message_write_string (msg, friend); xmlrpc_end_array_member (msg); } if (!delete) { xmlrpc_start_array_member (msg, "add"); soup_xmlrpc_message_start_struct (msg); xmlrpc_add_string_member (msg, "username", friend); if (fg) xmlrpc_add_string_member (msg, "fgcolor", fg); if (bg) xmlrpc_add_string_member (msg, "bgcolor", bg); soup_xmlrpc_message_end_struct (msg); xmlrpc_end_array_member (msg); } g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_editfriends_request), NULL); send_getchallenge_request (uri, msg); return; } static void parse_getfriends_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; GHashTable *table; g_return_if_fail (msg); debug ("livejournal parse_getfriends_request()"); if (dc->friends_list) { g_slist_foreach (dc->friends_list, friends_list_free_item, NULL); g_slist_free (dc->friends_list); dc->friends_list = NULL; } if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; value = soup_xmlrpc_response_get_value (response); soup_xmlrpc_value_get_struct (value, &table); value = g_hash_table_lookup (table, "friends"); if (value) { SoupXmlrpcValueArrayIterator *iter; soup_xmlrpc_value_array_get_iterator (value, &iter); while (soup_xmlrpc_value_array_iterator_get_value (iter, &value) && value) { LJFriend *friend; GHashTable *table; gchar *type; friend = g_new0 (LJFriend, 1); soup_xmlrpc_value_get_struct (value, &table); value = g_hash_table_lookup (table, "username"); soup_xmlrpc_value_get_string (value, &friend->username); value = g_hash_table_lookup (table, "fullname"); soup_xmlrpc_value_get_string (value, &friend->name); value = g_hash_table_lookup (table, "fgcolor"); soup_xmlrpc_value_get_string (value, &friend->fg); value = g_hash_table_lookup (table, "bgcolor"); soup_xmlrpc_value_get_string (value, &friend->bg); value = g_hash_table_lookup (table, "groupmask"); if (value) { glong mask; soup_xmlrpc_value_get_int (value, &mask); friend->groupmask = mask; } else friend->groupmask = 0; value = g_hash_table_lookup (table, "type"); friend->type = FRIEND_TYPE_USER; if (value) { soup_xmlrpc_value_get_string (value, &type); if (!strcmp (type, "community")) friend->type = FRIEND_TYPE_COMMUNITY; else if (!strcmp (type, "syndicated")) friend->type = FRIEND_TYPE_FEED; } friend->friend = TRUE; friend->friend_of = FALSE; g_hash_table_destroy (table); dc->friends_list = g_slist_prepend (dc->friends_list, friend); iter = soup_xmlrpc_value_array_iterator_next (iter); } } value = g_hash_table_lookup (table, "friendofs"); if (value) { SoupXmlrpcValueArrayIterator *iter; soup_xmlrpc_value_array_get_iterator (value, &iter); while (soup_xmlrpc_value_array_iterator_get_value (iter, &value) && value) { LJFriend *friend; GHashTable *table; GSList *list_item; gchar *type, *username; soup_xmlrpc_value_get_struct (value, &table); value = g_hash_table_lookup (table, "username"); soup_xmlrpc_value_get_string (value, &username); list_item = g_slist_find_custom (dc->friends_list, username, compare_usernames); if (list_item) { friend = list_item->data; friend->friend_of = TRUE; g_free (username); } else { friend = g_new0 (LJFriend, 1); friend->username = username; value = g_hash_table_lookup (table, "fullname"); soup_xmlrpc_value_get_string (value, &friend->name); value = g_hash_table_lookup (table, "fgcolor"); soup_xmlrpc_value_get_string (value, &friend->fg); value = g_hash_table_lookup (table, "bgcolor"); soup_xmlrpc_value_get_string (value, &friend->bg); value = g_hash_table_lookup (table, "groupmask"); if (value) { glong mask; soup_xmlrpc_value_get_int (value, &mask); friend->groupmask = mask; } else friend->groupmask = 0; value = g_hash_table_lookup (table, "type"); friend->type = FRIEND_TYPE_USER; if (value) { soup_xmlrpc_value_get_string (value, &type); if (!strcmp (type, "community")) friend->type = FRIEND_TYPE_COMMUNITY; else if (!strcmp (type, "syndicated")) friend->type = FRIEND_TYPE_FEED; } friend->friend = FALSE; friend->friend_of = TRUE; dc->friends_list = g_slist_prepend (dc->friends_list, friend); } g_hash_table_destroy (table); iter = soup_xmlrpc_value_array_iterator_next (iter); } } g_hash_table_destroy (table); g_object_unref (response); /* FIXME: what's up with the security dialog? */ if (FALSE) { /* /\* fetch the user's security groups *\/ */ /* gtk_list_store_clear (dc->security_store_filtered); */ /* /\* parse_friendgroup_data (dr, dc->security_store_filtered);*\/ */ /* display_security_dialog (dc); */ } else display_edit_friends_dialog (dc); return; } void blog_lj_build_getfriends_request (const gchar *username, const gchar *uri, gboolean friendof, gboolean groups) { SoupXmlrpcMessage *msg; debug ("livejournal build_getfriends_request()"); update_status_msg (REQUEST_TYPE_GETFRIENDS); msg = xmlrpc_start_with_struct ("LJ.XMLRPC.getfriends", uri); xmlrpc_add_string_member (msg, "username", username); xmlrpc_add_int_member (msg, "ver", 1); xmlrpc_add_int_member (msg, "includefriendof", (gint)friendof); xmlrpc_add_int_member (msg, "includegroups", (gint)groups); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_getfriends_request), NULL); send_getchallenge_request (uri, msg); update_status_msg (REQUEST_TYPE_NONE); } drivel-3.0.5/src/insert_poll_dialog.h0000644000175000017500000000176511552103110014534 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002-2004 Todd Kulesza, Davyd Madeley * * Authors: * Davyd Madeley */ #ifndef _INSERT_POLL_DIALOG_H_ #define _INSERT_POLL_DIALOG_H_ #include #include "drivel.h" void display_insert_poll_dialog (DrivelClient *dc); #endif drivel-3.0.5/src/blog_blogger.c0000644000175000017500000002220411552103110013271 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2004-2005 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ #define _XOPEN_SOURCE /* glibc2 needs this */ #include #include #include #include #include #include "drivel.h" #include "drivel_request.h" #include "journal.h" #include "network.h" #include "xmlrpc.h" #include "blog_blogger.h" extern DrivelClient *dc; extern gboolean verbose; /* Parse the server's response to our getUsersBlogs request */ static void parse_login_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; SoupXmlrpcValueArrayIterator *iter; g_return_if_fail (msg); debug ("blog_blogger_parse_login_request()"); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; value = soup_xmlrpc_response_get_value (response); if (!value) { g_warning ("No value in reponse"); return; } add_account_to_list (dc); dc->journals = 0; soup_xmlrpc_value_array_get_iterator (value, &iter); while (soup_xmlrpc_value_array_iterator_get_value (iter, &value) && value) { GHashTable *table; gchar *url, *id, *name; DrivelJournal *dj; soup_xmlrpc_value_get_struct (value, &table); value = g_hash_table_lookup (table, "url"); soup_xmlrpc_value_get_string (value, &url); value = g_hash_table_lookup (table, "blogid"); soup_xmlrpc_value_get_string (value, &id); value = g_hash_table_lookup (table, "blogName"); soup_xmlrpc_value_get_string (value, &name); dj = drivel_journal_new (); dj->name = name; dj->uri_view = g_strdup(""); dj->id = id; dj->type = JOURNAL_TYPE_USER; dc->journal_list = g_slist_prepend (dc->journal_list, dj); g_hash_table_destroy (table); dc->journals++; iter = soup_xmlrpc_value_array_iterator_next (iter); blog_blogger_build_getevents_request (dc->user->username, dc->user->password, dc->user->server, dj->id, DRIVEL_N_RECENT_POSTS); } dc->journal_list = g_slist_sort (dc->journal_list, (GCompareFunc)sort_journals); gtk_widget_hide (dc->login_window); journal_window_build (dc); g_object_unref (response); return; } /* To 'login' to Blogger, we send the username and password and get the user's * blogid */ void blog_blogger_build_login_request (const gchar *username, const gchar *password, const gchar *uri) { SoupXmlrpcMessage *msg; msg = xmlrpc_start ("blogger.getUsersBlogs", uri); xmlrpc_add_string_param (msg, DRIVEL_APPKEY); xmlrpc_add_string_param (msg, username); xmlrpc_add_string_param (msg, password); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_login_request), NULL); net_enqueue_msg (SOUP_MESSAGE (msg)); } /* Parse the server's response to our post request */ static void parse_postevent_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; g_return_if_fail (msg); debug ("blog_blogger_parse_postevent_request()"); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; value = soup_xmlrpc_response_get_value (response); if (!value) { g_warning ("No value in reponse"); return; } /* FIXME: ping technorati */ journal_finished_post (dc); g_object_unref (response); return; } /* Build an XML-RPC packet with the journal entry content */ void blog_blogger_build_postevent_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *blogid, gboolean publish, const gchar *content, const gchar * subject) { SoupXmlrpcMessage *msg; debug ("blog_blogger_build_postevent_request()"); update_status_msg (REQUEST_TYPE_POSTEVENT); msg = xmlrpc_start ("blogger.newPost", uri); xmlrpc_add_string_param (msg, DRIVEL_APPKEY); xmlrpc_add_string_param (msg, blogid); xmlrpc_add_string_param (msg, username); xmlrpc_add_string_param (msg, password); xmlrpc_add_string_param (msg, content); xmlrpc_add_string_param (msg, subject); xmlrpc_add_bool_param (msg, publish); xmlrpc_end (msg); if (verbose) print_msg_xmlrpc (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_postevent_request), NULL); net_enqueue_msg (SOUP_MESSAGE (msg)); } void blog_blogger_build_editevent_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *postid, gboolean publish, const gchar *content, const gchar * subject) { SoupXmlrpcMessage *msg; update_status_msg (REQUEST_TYPE_EDITEVENT); msg = xmlrpc_start ("blogger.editPost", uri); xmlrpc_add_string_param (msg, DRIVEL_APPKEY); xmlrpc_add_string_param (msg, postid); xmlrpc_add_string_param (msg, username); xmlrpc_add_string_param (msg, password); xmlrpc_add_string_param (msg, content); xmlrpc_add_bool_param (msg, publish); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_postevent_request), NULL); net_enqueue_msg (SOUP_MESSAGE (msg)); } void blog_blogger_build_deleteevent_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *postid) { SoupXmlrpcMessage *msg; update_status_msg (REQUEST_TYPE_DELETEEVENT); msg = xmlrpc_start ("blogger.deletePost", uri); xmlrpc_add_string_param (msg, DRIVEL_APPKEY); xmlrpc_add_string_param (msg, postid); xmlrpc_add_string_param (msg, username); xmlrpc_add_string_param (msg, password); xmlrpc_add_bool_param (msg, TRUE); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_postevent_request), NULL); net_enqueue_msg (SOUP_MESSAGE (msg)); } static void parse_getevents_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; SoupXmlrpcValueArrayIterator *iter; const gchar *blogid; gint counter = 0; gboolean last_entry = FALSE; g_return_if_fail (msg); debug ("blog_blogger_parse_getevents_request()"); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; value = soup_xmlrpc_response_get_value (response); if (!value) { g_warning ("No value in reponse"); return; } blogid = g_object_get_data (G_OBJECT (msg), "blogid"); if (g_object_get_data (G_OBJECT (msg), "last_entry")) last_entry = TRUE; soup_xmlrpc_value_array_get_iterator (value, &iter); while (soup_xmlrpc_value_array_iterator_get_value (iter, &value) && value && counter < DRIVEL_N_RECENT_POSTS) { GHashTable *table; gchar *postid, *content; time_t time; soup_xmlrpc_value_get_struct (value, &table); value = g_hash_table_lookup (table, "postId"); soup_xmlrpc_value_get_string (value, &postid); value = g_hash_table_lookup (table, "content"); soup_xmlrpc_value_get_string (value, &content); value = g_hash_table_lookup (table, "dateCreated"); soup_xmlrpc_value_get_datetime (value, &time); if (last_entry) { journal_edit_entry (dc, postid, content, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); counter = DRIVEL_N_RECENT_POSTS; } else if (postid && content) { DrivelJournalEntry *entry = journal_entry_new (); entry->postid = postid; entry->content = content; entry->userid = g_strdup (blogid); entry->date_posted = time; g_ptr_array_add (dc->recent_entries, entry); } g_hash_table_destroy (table); counter++; iter = soup_xmlrpc_value_array_iterator_next (iter); } if (!last_entry) journal_refresh_recent_entries (dc); g_object_unref (response); return; } /* Use blogger.getRecentPosts to revtrieve a history of recent entries */ void blog_blogger_build_getevents_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *blogid, gint n_posts) { SoupXmlrpcMessage *msg; debug ("blog_blogger_build_getevents_request"); update_status_msg (REQUEST_TYPE_GETEVENTS); msg = xmlrpc_start ("blogger.getRecentPosts", uri); xmlrpc_add_string_param (msg, DRIVEL_APPKEY); xmlrpc_add_string_param (msg, blogid); xmlrpc_add_string_param (msg, username); xmlrpc_add_string_param (msg, password); xmlrpc_add_int_param (msg, n_posts); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_getevents_request), NULL); g_object_set_data_full (G_OBJECT (msg), "blogid", g_strdup (blogid), g_free); if (n_posts == 1) g_object_set_data_full (G_OBJECT (msg), "last_entry", g_strdup ("true"), g_free); net_enqueue_msg (SOUP_MESSAGE (msg)); } drivel-3.0.5/src/main.c0000644000175000017500000005142612144256532011620 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002-2005 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ #include #include #include #include #include #include #include #include #include #include #include #include "drivel.h" #include "login.h" #include "network.h" #include "journal.h" /* size for picture icons */ #define ICON_SIZE 20 GMutex *net_mutex; gboolean verbose; DrivelClient *dc; void display_error_dialog (DrivelClient *dc, const gchar *header, const gchar *mesg) { GtkWidget *dialog; gchar *error_header, *error_mesg, *error_string; if (header) error_header = g_strdup (header); else error_header = g_strdup (_("Error")); if (mesg) error_mesg = g_strdup (mesg); else error_mesg = g_strdup ( _("Oh bother, there's a server error. Please try again later.")); error_string = g_strdup_printf ("" "%s\n\n%s", error_header, error_mesg); if (dc->current_window) { dialog = gtk_message_dialog_new_with_markup ( GTK_WINDOW (dc->current_window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", error_string); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); } else g_warning ("%s:\n%s", error_header, error_mesg); g_free (error_header); g_free (error_mesg); g_free (error_string); return; } /* If the user request verbose output, display a debugging message */ void debug (const gchar *msg) { if (verbose) g_print ("debug: %s\n", msg); return; } /* Add the current username (from the Login window) to the list of user accounts */ void add_account_to_list (DrivelClient *dc) { DrivelUser *du; GSList *du_existing, *item; debug ("add_account_to_list()"); /* copy the current user into du */ du = drivel_user_new (); du->username = g_strdup (dc->user->username); du->password = g_strdup (dc->user->password); du->api = dc->user->api; du->server = g_strdup (dc->user->server); du->save_password = dc->user->save_password; du->autologin = dc->user->autologin; du->lastuser = TRUE; /* update the user list with the most recent login information */ du_existing = find_in_user_list (dc->user_list, du); if (du_existing) { drivel_user_free (du_existing->data); dc->user_list = g_slist_delete_link (dc->user_list, du_existing); } /* if the user doesn't want to save her password, remove it before saving the list to disk */ if (!du->save_password) { g_free (du->password); du->password = g_strdup (""); } /* logging in as one user turns off autologin on any other users */ for (item = dc->user_list; item; item = item->next) { DrivelUser *du; du = item->data; du->autologin = FALSE; du->lastuser = FALSE; } dc->user_list = g_slist_prepend (dc->user_list, du); save_user_list (dc->user_list, dc->config_directory); user_list_changed (dc); drivel_gconf_data_fill (dc->gconf, du->username, du->api, dc->client, &dc->id, dc); return; } /* Sort the journal list alphabetically with single-user journals listed first */ gint sort_journals (DrivelJournal *a, DrivelJournal *b) { gint retval; retval = a->type - b->type; if (!retval) retval = strcmp (a->name, b->name); return retval; } /* Clear any elements in the recent_entries array */ void clear_recent_entries (GPtrArray *recent) { while (recent->len) { DrivelJournalEntry *entry; entry = g_ptr_array_remove_index (recent, 0); journal_entry_free (entry); } return; } void fill_time (DrivelClient *dc) { time_t exact_time; struct tm *local_time; /* we need the year, month, day, hour, and minute in order to post */ exact_time = time (NULL); local_time = localtime (&exact_time); dc->time.year = (local_time->tm_year + 1900); dc->time.month = (local_time->tm_mon + 1); dc->time.day = local_time->tm_mday; dc->time.hour = local_time->tm_hour; dc->time.minute = local_time->tm_min; return; } void drivel_push_current_window (DrivelClient *dc, GtkWidget *window) { dc->window_list = g_slist_prepend (dc->window_list, window); dc->current_window = window; return; } GtkWidget * drivel_pop_current_window (DrivelClient *dc) { GtkWidget *window; window = dc->window_list->data; dc->window_list = g_slist_remove (dc->window_list, window); dc->current_window = dc->window_list->data; return window; } GtkWidget * drivel_get_current_window (GSList *list) { GtkWidget *window; window = list->data; return window; } /** * validate_username: * bug 525093 * */ gboolean validate_username (const gchar *username) { gchar *temp, *p; gunichar c; gboolean retval = TRUE; debug ("validate_username ()"); if (!g_utf8_validate (username, -1, NULL)) return FALSE; temp = g_strdup (username); p = temp; while (*p) { c = g_utf8_get_char_validated (p, -1); if (!g_unichar_isalnum (c) && c != '_' && c!= '-' && c!='@' && c!='.') { retval = FALSE; break; } p = g_utf8_next_char (p); } g_free (temp); return retval; } void drivel_button_list_clear (DrivelButtonVAList *bval) { GSList *item, *entries; gulong signal; GtkWidget *entry; if (!bval) return; entries = bval->entries; for (item = bval->signals; item; item = item->next) { signal = GPOINTER_TO_INT (item->data); entry = entries->data; g_signal_handler_disconnect (entry, signal); entries = entries->next; } g_free (bval); bval = NULL; return; } gchar * get_default_text (GConfClient *client, const gchar *key, const gchar *standard_text) { gchar *string; string = gconf_client_get_string (client, key, NULL); if (!string) string = g_strdup (standard_text); return string; } void menu_list_free_item (gpointer data, gpointer user_data) { LJMenuItem *menu_item = (LJMenuItem *) data; g_free (menu_item->label); g_free (menu_item->url); return; } void friends_list_free_item (gpointer data, gpointer user_data) { LJFriend *friend = (LJFriend *) data; g_free (friend->username); g_free (friend->name); g_free (friend->bg); g_free (friend->fg); return; } gint compare_usernames (gconstpointer a, gconstpointer b) { const LJFriend *friend = a; const gchar *username = b; g_return_val_if_fail (a, -1); g_return_val_if_fail (b, 1); return (strncmp (friend->username, username, strlen (friend->username))); } /* 'security_store' must already be a valid GtkListStore */ void fill_security_menu (DrivelClient *dc, GtkListStore *security_store) { gtk_list_store_clear (security_store); store_security_append (security_store, "public.png", _("Public"), -10, -10, TRUE); store_security_append (security_store, "protected.png", _("Friends Only"), 0, -5, TRUE); store_security_append (security_store, "private.png", _("Private"), -5, 256, TRUE); return; } /* 'picture_store' must already be a valid GtkListStore */ void fill_picture_menu (DrivelClient *dc, GtkListStore *picture_store) { gint i; gchar *pickw; const gchar *text; GdkPixbuf *pixbuf, *pixbuf_small; GtkTreeIter iter; debug ("fill_picture_menu()"); gtk_list_store_clear (picture_store); if (!dc->picture_keywords || !dc->picture_filenames) return; for (i = 0; i < dc->pictures + 1; i++) { gchar *pickf; pickw = g_strdup_printf ("pickw_%d", i); text = g_hash_table_lookup (dc->picture_keywords, pickw); if (i > 0) { const gchar *file; file = g_hash_table_lookup (dc->picture_filenames, pickw); pickf = g_build_filename (dc->config_directory, "pictures", file, NULL); } else { pickf = dc->default_picture_file; } if (pickf) { GError *error = NULL; pixbuf = gdk_pixbuf_new_from_file (pickf, &error); if (error) g_warning ("Couldn't load %s: %s\n", pickf, error->message); if (pixbuf && !error) { gdouble ratio; gint width, height; /* scale the icon while preserving it's dimension ratio */ width = gdk_pixbuf_get_width (pixbuf); height = gdk_pixbuf_get_height (pixbuf); if (width > ICON_SIZE || height > ICON_SIZE) { if (width < height) { ratio = (gdouble)width / height; width = (gint)ceil (ratio * ICON_SIZE); height = ICON_SIZE; } else { ratio = (gdouble)height / width; width = ICON_SIZE; height = (gint)ceil (ratio * ICON_SIZE); } } pixbuf_small = gdk_pixbuf_scale_simple (pixbuf, width, height, GDK_INTERP_BILINEAR); g_object_unref (G_OBJECT (pixbuf)); } else pixbuf_small = NULL; if (error) g_error_free (error); } else pixbuf_small = NULL; gtk_list_store_append (picture_store, &iter); gtk_list_store_set (picture_store, &iter, 1, pixbuf_small, 0, text, -1); g_free (pickw); } return; } static void load_stored_moods (GHashTable *mood_icons, gint moods, GConfClient *client) { gchar *gconf_key, *key, *value; gint i, offset; offset = 0; for (i = 1; i < moods + 1; i++) { gconf_key = g_strdup_printf ("/apps/drivel/moods/mood_%d", i + offset); value = g_strdup_printf ("%d", i + offset); key = gconf_client_get_string (client, gconf_key, NULL); /* skip non-existant moods */ if (!key) { offset++; g_free (gconf_key); g_free (value); continue; } g_hash_table_insert (mood_icons, key, value); g_free (gconf_key); } return; } static void gconf_data_free (DrivelGConfData *data, GConfClient *client, DrivelIDs *id) { if (id) remove_gconf_notifies (client, id); g_free (data->user); g_free (data->default_mood); g_free (data->default_music); g_free (data->default_picture); g_free (data->default_security); g_free (data->default_security_mask); g_free (data->default_comment); g_free (data->default_autoformat); g_free (data->tray); g_free (data->entry_x); g_free (data->entry_y); g_free (data->entry_width); g_free (data->entry_height); g_free (data->entry_max); g_free (data->min_start); g_free (data->min_post); g_free (data->highlight_syntax); g_free (data->spellcheck); g_free (data->expander_open); g_free (data->spell_language); g_free (data->last_journal); g_free (data->technorati); return; } void drivel_gconf_data_fill (DrivelGConfData *data, const gchar *username, DrivelBlogAPI api, GConfClient *client, DrivelIDs *id, DrivelClient *dc) { gchar *base; gchar *uid; g_return_if_fail (username); if (data->user) gconf_data_free (data, client, id); /* the uid is the username and api concated together */ uid = g_strdup_printf ("%s_%d", username, api); base = g_strdup_printf ("/apps/drivel/users/%s", uid); data->user = base; data->default_mood = g_strdup_printf ("%s/default_mood", base); data->default_music = g_strdup_printf ("%s/default_music", base); data->default_picture = g_strdup_printf ("%s/default_picture", base); data->default_security = g_strdup_printf ("%s/default_security_name", base); data->default_security_mask = g_strdup_printf ("%s/default_security_mask", base); data->default_comment = g_strdup_printf ("%s/default_comment", base); data->default_autoformat = g_strdup_printf ("%s/default_autoformat", base); data->tray = g_strdup_printf ("%s/tray", base); data->entry_x = g_strdup_printf ("%s/entry_x", base); data->entry_y = g_strdup_printf ("%s/entry_y", base); data->entry_height = g_strdup_printf ("%s/entry_height", base); data->entry_width = g_strdup_printf ("%s/entry_width", base); data->entry_max = g_strdup_printf ("%s/entry_max", base); data->min_start = g_strdup_printf ("%s/min_start", base); data->min_post = g_strdup_printf ("%s/min_post", base); data->highlight_syntax = g_strdup_printf ("%s/highlight_syntax", base); data->spellcheck = g_strdup_printf ("%s/spellcheck", base); data->spell_language = g_strdup_printf ("%s/spell_language", base); data->last_journal = g_strdup_printf ("%s/last_journal", base); data->technorati = g_strdup_printf ("%s/technorati", base); data->expander_open = g_strdup_printf ("%s/expander_open", base); data->use_default_font = g_strdup_printf("%s/use_default_font", base); data->editor_font = g_strdup_printf("%s/editor_font", base); gconf_client_add_dir (client, base, GCONF_CLIENT_PRELOAD_NONE, NULL); add_gconf_notifies (dc); g_free (uid); return; } void drivel_fill_journal_null (DrivelClient *dc) { dc->journal_mood = NULL; dc->journal_music = NULL; dc->journal_picture = NULL; dc->journal_security = NULL; dc->journal_comment = NULL; dc->journal_autoformat = NULL; } static gchar * init_config_directory (void) { const gchar *home; gchar *directory, *pictures; GnomeVFSFileInfo info; home = g_get_home_dir (); if (!home) return NULL; /* try and create the directory, if necessary. */ directory = g_build_filename (home, ".gnome2", "drivel.d", NULL); if (gnome_vfs_get_file_info (directory, &info, GNOME_VFS_FILE_INFO_FORCE_FAST_MIME_TYPE) != GNOME_VFS_OK) { if (gnome_vfs_make_directory (directory, 0700) != GNOME_VFS_OK) { g_free(directory); return NULL; } } pictures = g_build_filename (directory, "pictures", NULL); if (gnome_vfs_get_file_info (pictures, &info, GNOME_VFS_FILE_INFO_FORCE_FAST_MIME_TYPE) != GNOME_VFS_OK) { if (gnome_vfs_make_directory (pictures, 0700) != GNOME_VFS_OK) { g_free(directory); g_free(pictures); return NULL; } } g_free(pictures); return directory; } static gint security_cmp (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer data) { gint group1, group2; gtk_tree_model_get (model, a, STORE_SECURITY_ORDER, &group1, -1); gtk_tree_model_get (model, b, STORE_SECURITY_ORDER, &group2, -1); return group1 - group2; } static gint category_cmp (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer data) { gchar *cat1, *cat2; gint retval; gtk_tree_model_get (model, a, STORE_CATEGORY_NAME, &cat1, -1); gtk_tree_model_get (model, b, STORE_CATEGORY_NAME, &cat2, -1); if (!strcmp (_("None"), cat1)) retval = -1; else if (!strcmp (_("None"), cat2)) retval = 1; else retval = strcmp (cat1, cat2); return retval; } static gboolean is_category_visible (GtkTreeModel *model, GtkTreeIter *iter, gpointer data) { DrivelClient *dc = (DrivelClient *)data; gchar *category_name = NULL, *journal_name = NULL; gboolean retval = FALSE; if (dc->active_journal) journal_name = dc->active_journal->name; gtk_tree_model_get (model, iter, STORE_CATEGORY_BLOG, &category_name, -1); if (category_name && journal_name && (!strcmp (category_name, journal_name) || !strcmp (category_name, ""))) retval = TRUE; return retval; } static void drivel_init (void) { dc->client = gconf_client_get_default (); dc->gconf = g_new0 (DrivelGConfData, 1); dc->mood_icons = g_hash_table_new_full (g_str_hash, g_str_equal, hash_table_item_free, hash_table_item_free); dc->mood_list = gconf_client_get_list (dc->client, "/apps/drivel/moods/mood_list", GCONF_VALUE_STRING, NULL); dc->moods = gconf_client_get_int (dc->client, "/apps/drivel/moods/moods", NULL); dc->net = g_new0 (DrivelNet, 1); /* FIXME: this needs to be done a per-account basis */ dc->net->api = BLOG_API_LJ; dc->net->fast_servers = 0; dc->net->cancel = gnome_vfs_cancellation_new (); dc->gconf->user = NULL; dc->user = drivel_user_new (); dc->picture_keywords = NULL; dc->picture_filenames = NULL; dc->use_fast_servers = TRUE; dc->proxy = gconf_client_get_bool (dc->client, "/system/http_proxy/use_http_proxy", NULL); dc->proxy_auth = gconf_client_get_bool (dc->client, "/system/http_proxy/use_authentication", NULL); dc->proxy_url = gconf_client_get_string (dc->client, "/system/http_proxy/host", NULL); dc->proxy_port = gconf_client_get_int (dc->client, "/system/http_proxy/port", NULL); dc->proxy_user = gconf_client_get_string (dc->client, "/system/http_proxy/authentication_user", NULL); dc->proxy_pass = gconf_client_get_string (dc->client, "/system/http_proxy/authentication_password", NULL); dc->journal_entry = NULL; dc->journals = 0; dc->journal_list = NULL; dc->active_journal = NULL; dc->menu_list = NULL; dc->friends_list = NULL; dc->edit_entry = FALSE; dc->window_list = NULL; dc->time_since_checkfriends = 0; dc->checking_friends = FALSE; dc->friends_update = FALSE; dc->lastupdate = g_strdup (""); dc->picture_store = NULL; /* FIXME: allocate this here */ dc->security_store = gtk_list_store_new (STORE_SECURITY_N, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT, G_TYPE_BOOLEAN); gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE (dc->security_store), STORE_SECURITY_ORDER, security_cmp, NULL, NULL); gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (dc->security_store), STORE_SECURITY_ORDER, GTK_SORT_ASCENDING); dc->security_store_filtered = gtk_list_store_new (STORE_SECURITY_N, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT, G_TYPE_BOOLEAN); gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE (dc->security_store), STORE_SECURITY_ORDER, security_cmp, NULL, NULL); gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (dc->security_store), STORE_SECURITY_ORDER, GTK_SORT_ASCENDING); dc->category_store = gtk_list_store_new (STORE_CATEGORY_N, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_sortable_set_sort_func ( GTK_TREE_SORTABLE (dc->category_store), STORE_CATEGORY_NAME, category_cmp, NULL, NULL); gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (dc->category_store), STORE_CATEGORY_NAME, GTK_SORT_ASCENDING); dc->category_store_filtered = gtk_tree_model_filter_new ( GTK_TREE_MODEL (dc->category_store), NULL); gtk_tree_model_filter_set_visible_func ( GTK_TREE_MODEL_FILTER (dc->category_store_filtered), is_category_visible, dc, NULL); dc->draft_filename = NULL; dc->recent_entries = g_ptr_array_new (); drivel_fill_journal_null (dc); if (!dc->moods) dc->mood_list = g_slist_prepend (dc->mood_list, ""); load_stored_moods (dc->mood_icons, dc->moods, dc->client); gconf_client_add_dir (dc->client, "/apps/drivel/global_settings", GCONF_CLIENT_PRELOAD_NONE, NULL); dc->config_directory = init_config_directory(); dc->edit_history_window = NULL; refresh_recent_chooser (dc); return; } gint main (gint argc, gchar **argv) { GVfs * cmdline; GFile * draft; gint num_args; GError *error; /* GOptionContext instead of popt */ GOptionContext *option_context; gchar **remaining_args; GOptionEntry option_entries[] = { { "verbose", 'v', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE, &verbose, _("Display debugging output"), "" }, /* option that collects filenames */ {G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &remaining_args, NULL, _("file")}, {NULL, 0, 0, G_OPTION_ARG_NONE, NULL, NULL, NULL} }; #ifdef ENABLE_NLS bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); #endif /* ENABLE_NLS */ xmlInitParser (); error = NULL; remaining_args = NULL; num_args = 0; if (gconf_init (argc, argv, &error) == FALSE) { g_assert (error != NULL); g_message (_("GConf init failed: %s"), error->message); g_error_free (error); exit (EXIT_FAILURE); } /* someday, convert the remaining VFS calls to GIO */ if (gnome_vfs_init () == FALSE) g_error (_("Could not initialize GnomeVFS!\n")); option_context = g_option_context_new (""); g_option_context_add_main_entries (option_context, option_entries, GETTEXT_PACKAGE); g_option_context_parse (option_context, &argc, &argv, NULL); gtk_init (&argc, &argv); net_mutex = g_mutex_new (); /* Build and initialize the DrivelClient */ dc = g_new0 (DrivelClient, 1); drivel_init (); /* Check if the user passed a filename as an argument * convert to a full path and check it exists. */ if (remaining_args != NULL) { cmdline = g_vfs_get_default (); num_args = g_strv_length (remaining_args); } if (num_args >= 1) { dc->draft_filename = g_strdup (remaining_args[num_args - 1]); draft = (g_vfs_is_active(cmdline)) ? g_vfs_get_file_for_path (cmdline, dc->draft_filename) : g_file_new_for_commandline_arg (dc->draft_filename); if (!g_file_query_exists (draft, NULL)) { g_free (dc->draft_filename); dc->draft_filename = NULL; } else { g_free (dc->draft_filename); dc->draft_filename = g_file_get_path (draft); } } net_start_session (); login_window_build (dc); gtk_main (); return 0; } drivel-3.0.5/src/journal.h0000644000175000017500000000445711552103110012336 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002 Todd Kulesza * * Authors: * Todd Kulesza */ #ifndef _JOURNAL_H_ #define _JOURNAL_H_ #include "drivel.h" void journal_window_build (DrivelClient *dc); void jounal_edit_preferences (DrivelClient *dc); void journal_edit_entry (DrivelClient *dc, const gchar *itemid, const gchar *event, const gchar *security, const gchar *allowmask, const gchar *subject, const gchar *mood, const gchar *music, const gchar *picture, const gchar *eventtime, const gchar *comments, const gchar *autoformat, const gchar *link, const gchar *tags); void journal_edit_entry_finished (DrivelClient *dc); void journal_edit_friends (DrivelClient *dc); gboolean save_draft_cb (GtkWidget *widget, gpointer data); void edit_preferences_cb (GtkWidget *widget, gpointer data); void add_gconf_notifies (DrivelClient *dc); void remove_gconf_notifies (GConfClient *client, DrivelIDs *id); gboolean delete_event_cb (GtkWidget *widget, GdkEventAny *event, gpointer data); void exit_cb (GtkWidget *widget, gpointer data); void remove_autosave (DrivelClient *dc); void journal_window_state_save (DrivelClient *dc); void journal_window_state_restore (DrivelClient *dc); /* Clears up the entry window following a successful post */ void journal_finished_post (DrivelClient *dc); DrivelJournalProp* journal_prop_new (void); void journal_prop_free (DrivelJournalProp *prop); DrivelJournalEntry* journal_entry_new (void); void journal_entry_free (DrivelJournalEntry *entry); /* Refresh the Recent Entries menu */ void journal_refresh_recent_entries (DrivelClient *dc); #endif drivel-3.0.5/src/utils.h0000644000175000017500000000666311552103110012025 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002-2004 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ #ifndef _UTILS_H_ #define _UTILS_H_ #include #include #include "xmlrpc.h" #include "drivel_request.h" typedef struct _DrivelUser DrivelUser; typedef struct _DrivelJournal DrivelJournal; struct _DrivelUser { gchar *username; gchar *password; DrivelBlogAPI api; gchar *server; gchar *rsd; gchar *cookie; gboolean save_password; gboolean autologin; /* automatically login this account when Drivel starts */ gboolean lastuser; /* this was the last account to log in */ }; struct _DrivelJournal { gchar *name; gchar *description; gchar *uri_view; gchar *uri_post; gchar *uri_feed; gchar *id; guint type; }; enum { JOURNAL_TYPE_USER, JOURNAL_TYPE_COMMUNITY }; enum { STORE_SECURITY_ICON, STORE_SECURITY_NAME, STORE_SECURITY_NUM, STORE_SECURITY_ORDER, STORE_SECURITY_PUBLIC, STORE_SECURITY_N }; enum { STORE_CATEGORY_NAME, STORE_CATEGORY_ID, STORE_CATEGORY_BLOG, STORE_CATEGORY_N }; /* debug handlers, used to convert the Soup strings into * debug output - use libsoup2.2 code. FIXME. */ typedef struct { xmlDocPtr doc; xmlNodePtr last_node; } SoupXmlrpcMessagePrivate; #define SOUP_XMLRPC_MESSAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_XMLRPC_MESSAGE, SoupXmlrpcMessagePrivate)) typedef struct { xmlDocPtr doc; gboolean fault; xmlNodePtr value; } SoupXmlrpcResponsePrivate; #define SOUP_XMLRPC_RESPONSE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_XMLRPC_RESPONSE, SoupXmlrpcResponsePrivate)) void print_msg_xmlrpc (SoupXmlrpcMessage *msg); void print_response_xmlrpc (SoupXmlrpcResponse *msg); void hash_table_item_free (gpointer data); void hash_table_clear (GHashTable *table); gint string_compare (gconstpointer a, gconstpointer b); GtkBuilder* load_builder_xml (const gchar *root); gboolean picture_exists (const gchar *config_dir, const gchar *pic_file); GSList* load_user_list (const gchar *config_dir); void save_user_list (GSList *list, const gchar *config_dir); GSList* find_in_user_list (GSList *list, DrivelUser *du); DrivelUser* drivel_user_new (void); void drivel_user_free (DrivelUser *du); DrivelJournal* drivel_journal_new (void); void drivel_journal_free (DrivelJournal *dj); gchar* build_nonce (void); gchar* get_w3dtf_timestamp (void); void store_security_append (GtkListStore *store, const gchar *icon, const gchar *name, gint num, gint order, gboolean public); void select_security_group (GtkTreeModel *model, GtkComboBox *combo, const gchar *name, gint mask); gchar* title_from_content (const gchar *content); #endif /* _UTILS_H_ */ drivel-3.0.5/src/dialogs.h0000644000175000017500000000407611552103110012303 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002-2003 Todd Kulesza * * Authors: * Todd Kulesza */ #ifndef _DIALOGS_H_ #define _DIALOGS_H_ #include #include #include #include "drivel.h" enum { TYPE_COL, LINK_COL, USERNAME_COL, NAME_COL, FRIEND_COL, FRIENDOF_COL, FG_COL, BG_COL, TYPE_INT_COL, N_COLUMNS }; enum { SORT_TYPE, SORT_LINK, SORT_USERNAME, SORT_REALNAME }; enum { HISTORY_TIME_COL, HISTORY_SUBJECT_COL, HISTORY_ITEMID_COL, HISTORY_N_COLUMNS }; void update_friends_list (DrivelClient *dc); void update_history_list (DrivelClient *dc, gchar **itemid, gchar **event, gchar **eventtime, gint count); void update_history_marks (DrivelClient *dc, gint8 days []); void display_gnomevfs_error_dialog (DrivelClient *dc, GnomeVFSResult result); void display_open_error_dialog (DrivelClient *dc, const char *filename); gboolean display_save_dialog_proceed (DrivelClient *dc); gboolean display_save_dialog_close (DrivelClient *dc); void display_edit_history_dialog (DrivelClient *dc); void display_edit_friends_dialog (DrivelClient *dc); void display_insert_link_dialog (DrivelClient *dc); void display_insert_image_dialog (DrivelClient *dc); void display_insert_poll_dialog (DrivelClient *dc); void display_security_dialog (DrivelClient *dc); void display_edit_preferences_dialog (DrivelClient *dc); #endif drivel-3.0.5/src/drivel-gtk.glade0000644000175000017500000065130211561256766013610 00000000000000 1 100 1 10 20 100 1 10 1 100 1 10 100 1 10 100 1 10 50 255 1 10 Drivel 100 50 normal vertical True vertical False False 1 True True Open an unfinished journal entry True gtk-open False True True Switch usernames True gtk-go-back False True True Clear Entry True gtk-clear False True True Preferences True gtk-preferences False True True Highlight Spelling Errors True gtk-spell-check False True True Bold True gtk-bold False True True Italic True gtk-italic False True True Underline True gtk-underline False True True Strike through True gtk-strikethrough False True True Help True gtk-help False True True About True gtk-about False True False 2 True 12 vertical 6 True 18 True 12 True _Subject: True subject False False 0 True True True 1 0 True 12 True Securit_y: True security False False 0 True 1 False False 1 False 1 True True automatic automatic in 2 True True True 6 True vertical 6 True 18 True vertical 6 True 12 True 6 True 0 _Mood: True mood False False 0 False False 0 True journal_mood_store 1 False False 0 True 12 True 6 True 0 M_usic: True music False False 0 False False 0 True GDK_ENTER_NOTIFY_MASK True journal_music_store 1 False False 1 True 12 True 6 True 0 Ta_gs: True mood False False 0 False False 0 True True True 1 False False 2 0 True vertical 6 Tur_n off comments True True False True Do not allow users to comment on this entry Do not allow users to comment on this entry True True 0 Don't auto-format _text True True False True Do not automatically parse line-breaks or website links into HTML tags Do not automatically parse line-breaks or website links into HTML tags True True 1 False False 1 True vertical 6 True 12 Past d_ate: True True False True Mark entry as having been posted on the selected date Mark entry as having been posted on the selected date True True False False 0 False False 0 True 12 True 0 Pictu_re: True picture False False 0 True 1 False False 1 2 0 True vertical 18 True 12 True 0 Ca_tegory: True False False 0 True False 1 0 True 12 True 6 True Ta_gs: True False False 0 False False 0 True True True 1 False False 1 1 True False 2 True Show more _options True False 3 True 12 end gtk-help True True True True True False False 0 gtk-delete True True True True Delete the selected entry from your journal. True False False 1 gtk-cancel True True True True True False False 2 Save Dra_ft True True True True Save the current entry without adding it to your journal image4 True False False 3 Upd_ate True True True True Update the selected entry in your journal image5 True False False 4 _Post True True True True Post the current entry to your journal image6 True False False 5 False False 4 4 True True 2 0 True False False 1 True vertical False 5 2 False False end 3 False end 0 Insert Poll dialog True vertical True 12 vertical 12 True 12 True Poll _name (optional): True poll_name False False 0 True True 1 False 0 True 18 True 12 True Voter_s: True poll_votors False False 0 True 1 0 True 12 True _Results visible to: True poll_results False False 0 True 1 1 False 1 True 6 True 0 Questions: False False 0 True 12 True True automatic automatic in True True False 0 True 12 start Add _Question True True True False image1 True False False 0 Add _Answer True True True False image2 True False False 1 gtk-delete True True True False True False False 2 gtk-go-up True True False True Up False False 3 True True False True 0 0 True 2 True D_own True False False 1 False False 4 False 1 1 2 True 12 True 2 2 12 12 True 0 _Type: True poll_question_options_type GTK_FILL True 1 2 GTK_FILL True 0 Qu_estion: True poll_question_options_question 1 2 GTK_FILL True True 1 2 1 2 False 0 True 2 2 12 12 True 0 Text _field size (optional): True True poll_questions_options_textfieldsize GTK_FILL True 0 Maximum text _length (optional): True True poll_questions_options_maxtextlength 1 2 GTK_FILL True True 1 2 1 2 True True 1 2 False 1 True 18 True 12 True 0 _From: True poll_questions_options_scale_from False False 0 True True adjustment1 1 1 0 True 12 True 0 To: poll_questions_options_scale_to False False 0 True True adjustment2 1 1 1 True 12 True 0 _By: True poll_questions_options_scale_by False False 0 True True adjustment3 1 1 2 False 2 True 2 12 12 True 0 Ans_wer: True poll_question_options_answer GTK_FILL True True 1 2 False 3 False 3 2 True end gtk-help True True True False True False False 0 gtk-cancel True True True False True False False 1 _Insert True True True False image3 True False False 2 False end 0 poll_help_button poll_cancel_button poll_insert_button Drivel Preferences center-on-parent True dialog True vertical True True 6 True 12 18 True vertical 6 True 0 Entry Behavior False False 0 True 12 True vertical 6 Minimize after _logging in True True False Automatically minimize the journal window after logging in True True False False 0 Minimize after _posting True True False Automatically minimize the journal window after posting an entry True True False False 1 _Highlight HTML in journal entry True True False Display HTML keywords in different colors than normal text True True True False False 2 Highlight misspelled _words True True False Highlight words not found in your computer's dictionary True True True False False 3 True 18 True 12 True _Dictionary: True False False 0 True 1 False 4 1 0 True vertical 18 True vertical 6 True 0 Notification Area False False 0 True 12 Notify when _friends update True True False Display an alert when your Friends Page is updated (Paid LiveJournal users only) True True 1 False 0 True vertical 6 True 0 Publication False False 0 True 12 Notify _Technorati on updates True True False Alert the popular journal search engine Technorati of new entries True True False 1 1 True vertical True Font Property 0 True vertical Use default _theme font True True False True True True False False 0 True True Editor font: False False 0 True True True False False end 1 1 1 2 1 True General False True 12 vertical 18 True vertical 6 True 0 Default Post Options False False 0 True 12 True 4 2 12 6 True 0 Pictu_re: True pref_defaults_picture GTK_FILL True 0 Securit_y: True pref_defaults_security 1 2 GTK_FILL True 1 2 GTK_FILL GTK_FILL True 1 2 1 2 GTK_FILL GTK_FILL Don't auto-format _text True True False Do not automatically parse line-breaks into HTML tags True True 2 3 4 GTK_FILL Tur_n off comments True True False Do not allow users to comment on this entry True True 2 2 3 GTK_FILL 1 False False 0 1 True Entry Defaults 1 False 1 True end gtk-apply True True True False True False False 0 False end 0 pref_close_button Journal Login False center normal vertical True 12 vertical 12 True 0.5 True 0 True 6 2 12 6 True True 128 False True 1 2 1 2 True 0 _Username: True login_window_username GTK_FILL True 0 _Password: True login_window_password 1 2 GTK_FILL True login_username_store 1 2 _Automatically login True True False True True 2 5 6 GTK_FILL _Remember password True True False True True 2 4 5 GTK_FILL True 0 Journal _type: True 2 3 GTK_FILL True 0 _Server address: True login_window_server 3 4 GTK_FILL True login_type_store 1 2 2 3 GTK_FILL GTK_FILL True True 128 True 1 2 3 4 False 1 True 12 edge Work _Offline True True True True image9 True False False 0 _Log In True True True True True image8 True False False 1 False 2 end 4 False end 3 True True False 0 True vertical False 5 1 True 2 2 end 0 400 Edit History dialog True vertical True 12 vertical 12 True True False 0 True True automatic etched-in True True True 1 1 True end gtk-help True True False True False False 0 gtk-close True True True False True False False 1 _Edit True True True False image7 True False False 2 False end 0 history_help_button history_close_button history_edit_button 550 350 Edit Friends dialog True vertical True 12 vertical 18 True 12 True True automatic etched-in True True 0 True vertical 12 start gtk-add True True True False True True False False 0 gtk-remove True True True False True False False 1 True True True False True 0 0 True 2 True gtk-jump-to False False 0 True _View journal True False False 1 False False 2 False False 1 0 True 18 True vertical 6 True 0 Details False False 0 True 12 True 12 True 18 True 2 2 12 6 True 0 Username: GTK_FILL True True False 15 15 1 2 True 6 True gtk-missing-image False 0 True False False 1 1 2 1 2 GTK_FILL True 0 Journal Type: 1 2 GTK_FILL 0 True 2 2 12 6 True 0 Text color: GTK_FILL True 0 Background color: 1 2 GTK_FILL True False True False Choose a text color 1 2 GTK_FILL True False True False Choose a background color 1 2 1 2 GTK_FILL 1 False False 0 1 False False 0 False False 1 2 True end gtk-help True True True False True False False 0 gtk-close True True True False True False False 1 False end 0 friends_help_button friends_close_button Insert Link dialog True vertical 12 vertical 18 True vertical 6 True 0 Link True False False 0 True 12 True 12 True _Text: True insert_link_text False False 0 True True True 1 1 0 True vertical 6 True 0 Create a link to... False False 0 True 12 True vertical 6 a _site on the Internet True True False True True False False 0 True True 2 2 12 6 True True True 1 2 True _Location: True insert_url GTK_FILL True 0 1 2 GTK_FILL True True Example: 0 True http://www.gnome.org 1 1 2 1 2 False False 1 another Live_Journal user True True False True True insert_radio False False 2 True True 12 True _Username: True insert_username False False 0 True True True 1 False 3 the _rest of this entry True True False True True insert_radio False False 4 1 1 False False 2 True end gtk-cancel True True True False True False False 0 _Insert Link... True True True False image10 True False False 1 False False end 0 insert_cancel_button insert_insert_button Insert Image dialog True vertical True 12 vertical 18 True vertical 6 True 0 Image False False 0 True 12 True 2 2 12 6 True True True 1 2 True 0 _Location: True insert_image_loc GTK_FILL True 0 1 2 GTK_FILL True True Example: 0 True http://gnome.org/pic.png 1 1 2 1 2 False False 1 False False 0 True vertical 6 True 0 Attributes (Optional) False False 0 True 12 True 3 2 12 6 True 0 _Height: True insert_image_attr_height GTK_FILL True 6 True True adjustment4 1 False False 0 True px False False 1 1 2 GTK_FILL True 0 _Width: True insert_image_attr_width 1 2 GTK_FILL True 0 _Description: True insert_image_attr_desc 2 3 GTK_FILL True 6 True True adjustment5 1 False False 0 True px False False 1 1 2 1 2 GTK_FILL GTK_FILL True True True 1 2 2 3 1 False False 1 False False 2 True end gtk-cancel True True True False True False False 0 _Insert Image... True True True False image11 True False False 1 False end 0 insert_image_cancel_button insert_image_button False True center-on-parent dialog True True True vertical True 12 vertical 18 True 12 True True 0 True True True 1 0 True 0.10000000149011612 False False 1 False False 1 True end gtk-cancel True True True False True False False 0 False end 0 button1 Security Groups dialog True vertical True 12 vertical 18 True 6 True 0 Groups False False 0 True 12 True 12 True True automatic etched-in True True False 0 True 12 start gtk-add True True True False True False False 0 gtk-remove True True True False True False False 1 False False 1 1 False 0 True 6 True 0 Group Details False False 0 True 12 True vertical 6 True 18 True 12 True _Name: True security_details_name False False 0 True True 1 0 True 12 True _Order True security_details_order False False 0 True True adjustment6 1 True True 1 1 _Public True True False True True False False 2 False False 0 True 12 True True automatic etched-in True True 0 True spread gtk-add True True True False True False False 0 gtk-remove True True True False True False False 1 False False 1 True True automatic etched-in True True 2 1 1 1 2 True vertical end gtk-close True True True False True False False 0 False end 0 closebutton1 True gtk-add True gtk-add True gtk-go-forward True gtk-save True gtk-save True drivel-24.png True gtk-properties True gtk-go-forward True gtk-disconnect True insert_image.png True insert_image.png drivel-3.0.5/src/about.c0000644000175000017500000001146211552103110011763 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002-2003 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ #include #include #include #include #include "about.h" void about_show (DrivelClient *dc) { GdkPixbuf *logo; static GtkWidget *dialog = NULL; static const gchar *main_authors[] = { "Todd Kulesza ", "Davyd Madeley ", "Neil Williams ", "", NULL }; static const gchar *help_authors[] = { "Grahame Bowland ", "Geoff King <0glk@qlink.queensu.ca>", "Jess Little ", "Evan Martin ", "Margot Pearce ", "Ari Pollak ", "Isak Savo ", "Maxime DOYEN ", "", NULL }; static const gchar *documentors[] = { "Todd Kulesza ", NULL }; /* * Translators should localize the following string * which will give them credit in the About box. * E.g. "Fulano de Tal " */ gchar *path, *translators = g_strdup (_("translator-credits")); gchar **authors; GString *s; gint i; if (dialog) { gtk_window_present (GTK_WINDOW (dialog)); return; } /* This is necessary, since the N_(string)-macro doesn't actually do anything, it's only used as an indicator for xgettext */ s = g_string_new (""); for (i = 0; main_authors[i] != NULL; i++){ s = g_string_append (s, main_authors[i]); s = g_string_append_c (s, '\n'); } g_string_append_printf (s, "%s\n", _("With help from:")); for (i = 0; help_authors[i] != NULL; i++) { s = g_string_append (s, help_authors[i]); s = g_string_append_c (s, '\n'); }; g_string_append (s, _("And many others--thank you, all!")); authors = g_strsplit (s->str, "\n", -1); path = g_build_filename (DATADIR, "pixmaps", "drivel-48.png", NULL); logo = gdk_pixbuf_new_from_file (path, NULL); g_free (path); dialog = gtk_about_dialog_new (); gtk_about_dialog_set_version (GTK_ABOUT_DIALOG (dialog), VERSION); gtk_about_dialog_set_program_name (GTK_ABOUT_DIALOG (dialog), _("Drivel Journal Editor")); gtk_about_dialog_set_copyright (GTK_ABOUT_DIALOG (dialog), "Copyright 2002-2005 Todd Kulesza,\n Copyright 2009 Neil Williams"); gtk_about_dialog_set_comments (GTK_ABOUT_DIALOG (dialog), _("A journal client for the GNOME desktop.")); gtk_about_dialog_set_authors (GTK_ABOUT_DIALOG (dialog), (const gchar **) authors); gtk_about_dialog_set_documenters (GTK_ABOUT_DIALOG (dialog), documentors); gtk_about_dialog_set_translator_credits (GTK_ABOUT_DIALOG (dialog), translators); gtk_about_dialog_set_logo (GTK_ABOUT_DIALOG (dialog), logo); gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (dialog), "http://drivel.sourceforge.net/"); gtk_about_dialog_set_website_label (GTK_ABOUT_DIALOG (dialog), _("Homepage:")); gtk_about_dialog_set_license (GTK_ABOUT_DIALOG (dialog), " This package is free software; you can redistribute it and/or modify\n" " it under the terms of the GNU General Public License as published by\n" " the Free Software Foundation; either version 2 of the License, or\n" " (at your option) any later version.\n" "\n" " This program is distributed in the hope that it will be useful,\n" " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" " GNU General Public License for more details.\n" "\n" " You should have received a copy of the GNU General Public License\n" " along with this program; if not, write to the Free Software\n" " Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n" " MA 02110-1301, USA.\n"); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (dc->current_window)); g_object_add_weak_pointer (G_OBJECT (dialog), (void **)&dialog); gtk_dialog_run (GTK_DIALOG(dialog)); gtk_widget_destroy (dialog); g_free (translators); g_string_free (s, TRUE); g_strfreev (authors); return; } drivel-3.0.5/src/dialogs.c0000644000175000017500000016401411552103110012275 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002-2004 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ #include #include /* variable-length functions */ #include #include #include #include #include #include #include #include "drivel_request.h" #include "blog_lj.h" #include "drivel.h" #include "journal.h" #include "network.h" #include "dialogs.h" typedef struct _DrivelSpellLanguage DrivelSpellLanguage; /* realname, the name that aspell understands, i.e. en_US, en_GB etc. label, the name displayed to the user, fallbacks to realname */ struct _DrivelSpellLanguage { gchar *realname; gchar *label; }; void history_list_edit_cb (GtkWidget *button, gpointer data); static void grey_button_cb (GtkWidget *entry, gpointer data) { GtkWidget *w; gchar *text; GSList *current; gboolean state = TRUE; DrivelButtonVAList *bval = (DrivelButtonVAList *) data; for (current = bval->entries; current; current = current->next) { w = GTK_WIDGET (current->data); if (!gtk_widget_is_sensitive (w)) continue; text = gtk_editable_get_chars (GTK_EDITABLE (w), 0, -1); if (!text || !strncmp (text, "", strlen (text))) state = FALSE; g_free (text); } gtk_widget_set_sensitive (bval->button, state); return; } static DrivelButtonVAList * dialog_grey_button_on_invalid (GtkWidget *button, GtkWidget *entry, ...) { va_list args; gint signal; GtkWidget *w; DrivelButtonVAList *bval; va_start (args, entry); bval = g_new0 (DrivelButtonVAList, 1); bval->button = button; bval->entries = NULL; bval->signals = NULL; for (w = entry; w; w = va_arg (args, GtkWidget *)) { bval->entries = g_slist_prepend (bval->entries, w); signal = g_signal_connect (G_OBJECT (w), "changed", G_CALLBACK (grey_button_cb), bval); bval->signals = g_slist_prepend (bval->signals, GINT_TO_POINTER (signal)); } va_end (args); return bval; } void update_history_marks (DrivelClient *dc, gint8 days []) { gint i; gtk_calendar_clear_marks (GTK_CALENDAR (dc->history_calendar)); for (i = 0; i < 31; i++) if (days [i]) gtk_calendar_mark_day (GTK_CALENDAR (dc->history_calendar), i + 1); return; } static void mark_history_list (DrivelClient *dc) { blog_lj_build_getdaycounts_request (dc->user->username, dc->user->server, dc->active_journal); return; } static void mark_history_list_cb (GtkWidget *calendar, gpointer data) { DrivelClient *dc = (DrivelClient *) data; mark_history_list (dc); return; } static void dialog_close_cb (GtkWidget *widget, gint arg, gpointer data) { DrivelClient *dc = (DrivelClient *) data; if (arg == GTK_RESPONSE_CLOSE || arg == GTK_RESPONSE_DELETE_EVENT) { drivel_pop_current_window (dc); gtk_widget_destroy (widget); } return; } static void history_response_cb (GtkWidget *widget, gint arg, gpointer data) { DrivelClient *dc = (DrivelClient *) data; if (arg == GTK_RESPONSE_OK) { history_list_edit_cb (NULL, data); gtk_window_present (GTK_WINDOW (dc->journal_window)); } else { drivel_pop_current_window (dc); gtk_widget_destroy (widget); dc->edit_history_window = NULL; } return; } static void preferences_close_cb (GtkWidget *widget, gint arg, gpointer data) { DrivelClient *dc = (DrivelClient *) data; if (arg == GTK_RESPONSE_CLOSE || arg == GTK_RESPONSE_DELETE_EVENT) { gtk_widget_destroy (widget); drivel_pop_current_window (dc); } return; } void update_friends_list (DrivelClient *dc) { GSList *list_item; LJFriend *friend; GdkPixbuf *user, *community, *feed, *link, *type; GdkPixbuf *leftarrow, *rightarrow, *doublearrow; GtkTreeIter iter; gtk_list_store_clear (dc->list_store); user = gdk_pixbuf_new_from_file (DATADIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S GLADE G_DIR_SEPARATOR_S "user.png", NULL); community = gdk_pixbuf_new_from_file (DATADIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S GLADE G_DIR_SEPARATOR_S "community.png", NULL); feed = gdk_pixbuf_new_from_file (DATADIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S GLADE G_DIR_SEPARATOR_S "feed.png", NULL); leftarrow = gdk_pixbuf_new_from_file (DATADIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S GLADE G_DIR_SEPARATOR_S "leftarrow.png", NULL); rightarrow = gdk_pixbuf_new_from_file (DATADIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S GLADE G_DIR_SEPARATOR_S "rightarrow.png", NULL); doublearrow = gdk_pixbuf_new_from_file (DATADIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S GLADE G_DIR_SEPARATOR_S "doublearrow.png", NULL); for (list_item = dc->friends_list; list_item; list_item = list_item->next) { friend = list_item->data; if (friend->type == FRIEND_TYPE_COMMUNITY) type = community; else if (friend->type == FRIEND_TYPE_FEED) type = feed; else type = user; if (friend->friend && !friend->friend_of) link = rightarrow; else if (!friend->friend && friend->friend_of) link = leftarrow; else link = doublearrow; gtk_list_store_append (dc->list_store, &iter); gtk_list_store_set (dc->list_store, &iter, TYPE_COL, type, LINK_COL, link, USERNAME_COL, friend->username, NAME_COL, friend->name, FRIEND_COL, friend->friend, FRIENDOF_COL, friend->friend_of, FG_COL, friend->fg, BG_COL, friend->bg, TYPE_INT_COL, friend->type, -1); } gtk_widget_set_sensitive (dc->friend_remove, FALSE); return; } static void update_history_list_cb (GtkWidget *widget, gpointer data) { guint day, month, year; DrivelClient *dc = (DrivelClient *) data; dc->edit_entry = FALSE; /* setting the calendar false will stop it's urge to drag */ gtk_widget_set_sensitive (dc->history_calendar, FALSE); gtk_calendar_get_date (GTK_CALENDAR (dc->history_calendar), &year, &month, &day); month++; /* the months are numbered starting with 0 */ blog_lj_build_getevents_request (dc->user->username, dc->user->server, 50, TRUE, TRUE, "day", NULL, year, month, day, 0, NULL, 0, NULL, dc->active_journal); return; } void update_history_list (DrivelClient *dc, gchar **itemid, gchar **event, gchar **eventtime, gint count) { GtkTreeIter iter; GtkTreeSelection *selection; gint i, len; gchar *time; gtk_list_store_clear (dc->history_store); for (i = 0; i < count; i++) { len = strlen (eventtime [i]); time = g_new0 (gchar, len + 1); memcpy (time, eventtime [i] + 10, len - 13); gtk_list_store_append (dc->history_store, &iter); gtk_list_store_set (dc->history_store, &iter, HISTORY_TIME_COL, time, HISTORY_SUBJECT_COL, event [i], HISTORY_ITEMID_COL, itemid [i], -1); g_free (time); } if (i == 0) { selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dc->history_list)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_NONE); gtk_list_store_append (dc->history_store, &iter); gtk_list_store_set (dc->history_store, &iter, HISTORY_TIME_COL, "", HISTORY_SUBJECT_COL, _("[No journal entries]"), -1); } else { selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dc->history_list)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); } gtk_widget_set_sensitive (dc->history_calendar, TRUE); return; } #ifdef HAVE_GTKSPELL static gint du_str_cmp (gconstpointer a, gconstpointer b) { gchar * aa, * bb; aa = g_utf8_casefold (a, strlen ((gchar*) a)); bb = g_utf8_casefold (b, strlen ((gchar*) b)); return g_strcmp0 (aa, bb); } static GSList * get_available_spell_languages (void) { GSList *rv = NULL; gchar *prgm, *cmd; gchar *prgm_err, *prgm_out; gint exit_status, i; GError *err = NULL; DrivelSpellLanguage *lang; gchar **lang_arr; if ((prgm = g_find_program_in_path ("aspell")) == NULL) return NULL; cmd = g_strdup_printf ("%s dump dicts", prgm); g_spawn_command_line_sync (cmd, &prgm_out, &prgm_err, &exit_status, &err); g_free (cmd); g_free (prgm); if (err) { g_warning ("Failed to get language list: %s", err->message); g_error_free (err); return NULL; } if (exit_status != 0) { g_warning ("Failed to get language list, program output was: %s", prgm_err); g_free (prgm_out); g_free (prgm_err); return NULL; } lang_arr = g_strsplit (prgm_out, "\n", -1); i = 0; while (lang_arr[i]) { g_strstrip (lang_arr[i]); if (*(lang_arr[i]) != '\0') { lang = g_new0 (DrivelSpellLanguage, 1); /* For now, set realname == label */ lang->realname = g_strdup (lang_arr[i]); lang->label = g_strdup (lang_arr[i]); rv = g_slist_insert_sorted (rv, lang, (GCompareFunc) du_str_cmp); } i++; } g_strfreev (lang_arr); lang = g_new0 (DrivelSpellLanguage, 1); /* Context: Spell check dictionary */ lang->label = g_strdup (_("System default")); lang->realname = g_strdup (""); rv = g_slist_prepend (rv, lang); return rv; } #endif /* HAVE_GTKSPELL */ static void add_friend_dialog_cb (GtkWidget *widget, gint arg, gpointer data) { gchar *friend, *fg, *bg; GdkColor color; DrivelClient *dc = (DrivelClient *) data; if (arg == GTK_RESPONSE_CANCEL) gtk_widget_destroy (widget); else if (arg == GTK_RESPONSE_OK) { friend = gtk_editable_get_chars (GTK_EDITABLE (dc->dialog_add_friend), 0, -1); gtk_color_button_get_color (GTK_COLOR_BUTTON (dc->dialog_add_fg), &color); fg = g_strdup_printf ("#%02X%02X%02X", color.red / 256, color.green / 256, color.blue / 256); gtk_color_button_get_color (GTK_COLOR_BUTTON (dc->dialog_add_bg), &color); bg = g_strdup_printf ("#%02X%02X%02X", color.red / 256, color.green / 256, color.blue / 256); if (!friend || !strcmp (friend, "")) { display_error_dialog (dc, _("Missing username"), _("Please enter a username to add.")); return; } blog_lj_build_editfriends_request (dc->user->username, dc->user->server, friend, FALSE, TRUE, fg, bg); g_free (friend); g_free (fg); g_free (bg); gtk_widget_destroy (widget); } return; } static void edit_friend_colour_cb (GtkWidget *widget, gpointer data) { GdkColor color; gchar *friend, *fg, *bg; DrivelClient *dc = (DrivelClient *) data; friend = gtk_editable_get_chars (GTK_EDITABLE (dc->friends_username), 0, -1); gtk_color_button_get_color (GTK_COLOR_BUTTON (dc->friends_fg_colour), &color); fg = g_strdup_printf ("#%02X%02X%02X", color.red / 256, color.green / 256, color.blue / 256); gtk_color_button_get_color (GTK_COLOR_BUTTON (dc->friends_bg_colour), &color); bg = g_strdup_printf ("#%02X%02X%02X", color.red / 256, color.green / 256, color.blue / 256); blog_lj_build_editfriends_request (dc->user->username, dc->user->server, friend, FALSE, FALSE, fg, bg); g_free (friend); g_free (fg); g_free (bg); return; } /* FIXME: figure out how this function is supposed to work */ static gint sort_type_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer data) { gboolean a_type, b_type; gint retval; gtk_tree_model_get (model, a, TYPE_INT_COL, &a_type, -1); gtk_tree_model_get (model, b, TYPE_INT_COL, &b_type, -1); if (a_type < b_type) retval = 1; else retval = 0; return retval; } static void tray_cb (GtkWidget *button, gpointer data) { gboolean state; DrivelClient *dc = (DrivelClient *) data; state = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)); gconf_client_set_bool (dc->client, dc->gconf->tray, state, NULL); return; } static void technorati_cb (GtkWidget *button, gpointer data) { gboolean state; DrivelClient *dc = (DrivelClient *) data; state = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)); gconf_client_set_bool (dc->client, dc->gconf->technorati, state, NULL); return; } static void min_start_cb (GtkWidget *button, gpointer data) { gboolean state; DrivelClient *dc = (DrivelClient *) data; state = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)); gconf_client_set_bool (dc->client, dc->gconf->min_start, state, NULL); return; } static void min_post_cb (GtkWidget *button, gpointer data) { gboolean state; DrivelClient *dc = (DrivelClient *) data; state = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)); gconf_client_set_bool (dc->client, dc->gconf->min_post, state, NULL); return; } static void highlight_syntax_cb (GtkWidget *button, gpointer user_data) { gboolean state; DrivelClient *dc = (DrivelClient *) user_data; state = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)); gconf_client_set_bool (dc->client, dc->gconf->highlight_syntax, state, NULL); return; } #ifdef HAVE_GTKSPELL static void spellcheck_cb (GtkWidget *button, gpointer user_data) { gboolean state; DrivelClient *dc = (DrivelClient *) user_data; state = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)); gconf_client_set_bool (dc->client, dc->gconf->spellcheck, state, NULL); return; } static void spellcheck_language_cb (GtkComboBox *combobox, gpointer user_data) { gchar *language; DrivelClient *dc = (DrivelClient *) user_data; GtkTreeModel *model; GtkTreeIter iter; gint sel; model = gtk_combo_box_get_model (combobox); sel = gtk_combo_box_get_active (combobox); if (gtk_tree_model_iter_nth_child (model, &iter, NULL, sel)) { gtk_tree_model_get (model, &iter, 0, &language, -1); gconf_client_set_string (dc->client, dc->gconf->spell_language, language, NULL); g_free (language); } return; } #endif /* HAVE_GTKSPELL */ static void use_default_font_cb (GtkWidget *button, gpointer data) { gboolean state; DrivelClient *dc = (DrivelClient *) data; state = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)); gconf_client_set_bool(dc->client, dc->gconf->use_default_font, state, NULL); return; } static void editor_font_cb(GtkWidget *button, gpointer data) { const gchar *font_name; DrivelClient *dc = (DrivelClient *) data; font_name = gtk_font_button_get_font_name (GTK_FONT_BUTTON (button)); if (!font_name) { g_warning ("Could not get font name"); return; } gconf_client_set_string(dc->client, dc->gconf->editor_font, font_name, NULL); return; } static void picture_cb (GtkWidget *menu, gpointer data) { gint number; DrivelClient *dc = (DrivelClient *) data; number = gtk_combo_box_get_active (GTK_COMBO_BOX (menu)); gconf_client_set_int (dc->client, dc->gconf->default_picture, number, NULL); return; } static void security_cb (GtkWidget *menu, gpointer data) { gint num; gchar *name, *group; GtkTreeIter iter; DrivelClient *dc = (DrivelClient *) data; gtk_combo_box_get_active_iter (GTK_COMBO_BOX (menu), &iter); gtk_tree_model_get (gtk_combo_box_get_model (GTK_COMBO_BOX (menu)), &iter, STORE_SECURITY_NAME, &name, STORE_SECURITY_NUM, &num, -1); if (name && !strcmp (name, _("Public"))) { group = g_strdup ("public"); num = 0; } else if (name && !strcmp (name, _("Private"))) { group = g_strdup ("private"); num = 0; } else { group = g_strdup ("usemask"); num = 1 << num; } gconf_client_set_string (dc->client, dc->gconf->default_security, group, NULL); gconf_client_set_int (dc->client, dc->gconf->default_security_mask, num, NULL); g_free (name); g_free (group); return; } static void comments_cb (GtkWidget *button, gpointer data) { gboolean state; DrivelClient *dc = (DrivelClient *) data; state = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)); gconf_client_set_bool (dc->client, dc->gconf->default_comment, state, NULL); return; } static void autoformat_cb (GtkWidget *button, gpointer data) { gboolean state; DrivelClient *dc = (DrivelClient *) data; state = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)); gconf_client_set_bool (dc->client, dc->gconf->default_autoformat, state, NULL); return; } static void history_list_changed (GtkTreeSelection *selection, gpointer data) { GtkTreeModel *model; GtkTreeIter iter; gchar *subject; gboolean state = FALSE; DrivelClient *dc = (DrivelClient *) data; if (gtk_tree_selection_get_selected (selection, &model, &iter)) { gtk_tree_model_get (model, &iter, HISTORY_SUBJECT_COL, &subject, -1); if (strcmp (subject, _("[No journal entries]"))) state = TRUE; } gtk_widget_set_sensitive (dc->history_edit, state); return; } void history_list_edit_cb (GtkWidget *button, gpointer data) { GtkTreeModel *model; GtkTreeIter iter; GtkTreeSelection *selection; gchar *itemid_string; gint itemid; DrivelClient *dc = (DrivelClient *) data; dc->edit_entry = TRUE; gtk_source_buffer_begin_not_undoable_action (GTK_SOURCE_BUFFER (dc->buffer)); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dc->history_list)); if (gtk_tree_selection_get_selected (selection, &model, &iter)) { gtk_tree_model_get (model, &iter, HISTORY_ITEMID_COL, &itemid_string, -1); itemid = g_strtod (itemid_string, NULL); blog_lj_build_getevents_request (dc->user->username, dc->user->server, 0, FALSE, FALSE, "one", NULL, 0, 0, 0, 0, NULL, itemid, NULL, dc->active_journal); } return; } static void history_list_row_activated_cb (GtkTreeView *view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer data) { GtkTreeSelection *selection; DrivelClient *dc = (DrivelClient *) data; selection = gtk_tree_view_get_selection (view); if (gtk_tree_selection_get_mode (selection) != GTK_SELECTION_NONE) history_response_cb (dc->edit_history_window, GTK_RESPONSE_OK, dc); return; } static void friends_list_changed (GtkTreeSelection *selection, gpointer data) { GtkTreeModel *model; GtkTreeIter iter; gboolean friend; DrivelClient *dc = (DrivelClient *) data; if (gtk_tree_selection_get_selected (selection, &model, &iter)) { gchar *friend_text, *fg, *bg, *type; GdkPixbuf *type_icon; gint type_int; GdkColor gdk_colour; gchar hex[5]; friend_text = NULL; hex[0] = '0'; hex[1] = 'X'; hex[4] = '\0'; gtk_tree_model_get (model, &iter, FRIEND_COL, &friend, -1); /* These should only be available if we have this user listed as a friend. */ gtk_widget_set_sensitive (dc->friend_remove, friend); gtk_widget_set_sensitive (dc->friends_fg_colour, friend); gtk_widget_set_sensitive (dc->friends_bg_colour, friend); gtk_tree_model_get (model, &iter, USERNAME_COL, &friend_text, FG_COL, &fg, BG_COL, &bg, TYPE_COL, &type_icon, TYPE_INT_COL, &type_int, -1); /* This should be sensitive if a username is available */ if (friend_text) gtk_widget_set_sensitive (dc->friend_view_journal, TRUE); else gtk_widget_set_sensitive (dc->friend_view_journal, FALSE); if (type_int == FRIEND_TYPE_COMMUNITY) type = g_strdup (_("Community")); else if (type_int == FRIEND_TYPE_FEED) type = g_strdup (_("Syndicated Feed")); else type = g_strdup (_("User")); gtk_entry_set_text (GTK_ENTRY (dc->friends_username), friend_text); gtk_image_set_from_pixbuf (GTK_IMAGE (dc->friends_type_icon), type_icon); gtk_label_set_text (GTK_LABEL (dc->friends_type_name), type); g_free (type); gdk_colour.pixel = 0; g_snprintf( hex + 2, 3, "%s", fg + 1); gdk_colour.red = 256 * (guint) g_ascii_strtod (hex, NULL); g_snprintf (hex + 2, 3, "%s", fg + 3); gdk_colour.green = 256 * (guint) g_ascii_strtod (hex, NULL); g_snprintf (hex + 2, 3, "%s", fg + 5); gdk_colour.blue = 256 * (guint) g_ascii_strtod (hex, NULL); gtk_color_button_set_color (GTK_COLOR_BUTTON (dc->friends_fg_colour), &gdk_colour); gdk_colour.pixel = 0; g_snprintf( hex + 2, 3, "%s", bg + 1); gdk_colour.red = 256 * (guint) g_ascii_strtod (hex, NULL); g_snprintf (hex + 2, 3, "%s", bg + 3); gdk_colour.green = 256 * (guint) g_ascii_strtod (hex, NULL); g_snprintf (hex + 2, 3, "%s", bg + 5); gdk_colour.blue = 256 * (guint) g_ascii_strtod (hex, NULL); gtk_color_button_set_color (GTK_COLOR_BUTTON (dc->friends_bg_colour), &gdk_colour); } return; } static void friends_list_add_cb (GtkWidget *button, gpointer data) { GtkWidget *label; GtkWidget *entry; GtkWidget *color; GtkWidget *hbox, *hbox2, *vbox; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; GdkColor gdk_color; gboolean friend; gchar *friend_name; static GtkWidget *dialog = NULL; DrivelClient *dc = (DrivelClient *) data; if (dialog) { gtk_window_present (GTK_WINDOW (dialog)); return; } dialog = gtk_dialog_new_with_buttons ( _("Add Friend"), GTK_WINDOW (dc->friends_list_window), GTK_DIALOG_DESTROY_WITH_PARENT, NULL); gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); dc->dialog_add_ok = gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_ADD, GTK_RESPONSE_OK); gtk_widget_set_sensitive (dc->dialog_add_ok, FALSE); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dc->friend_list)); if (gtk_tree_selection_get_selected (selection, &model, &iter)) { gtk_tree_model_get (model, &iter, FRIEND_COL, &friend, USERNAME_COL, &friend_name, -1); } else friend_name = g_strdup (""); vbox = gtk_vbox_new (FALSE, 12); gtk_container_set_border_width (GTK_CONTAINER (vbox), 12); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), vbox, TRUE, TRUE, 0); hbox = gtk_hbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); label = gtk_label_new_with_mnemonic (_("_Friend's username:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); entry = gtk_entry_new (); gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE); gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry); dc->dialog_add_friend = entry; dc->link_bval = dialog_grey_button_on_invalid (dc->dialog_add_ok, entry, NULL); gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0); if (!friend) gtk_entry_set_text (GTK_ENTRY (entry), friend_name); hbox = gtk_hbox_new (FALSE, 12); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); hbox2 = gtk_hbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (hbox), hbox2, TRUE, FALSE, 0); label = gtk_label_new_with_mnemonic (_("_Text color:")); gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, FALSE, 0); gdk_color.pixel = 0; gdk_color.red = 0; gdk_color.green = 0; gdk_color.blue = 0; color = gtk_color_button_new_with_color (&gdk_color); gtk_label_set_mnemonic_widget (GTK_LABEL (label), color); dc->dialog_add_fg = color; gtk_box_pack_start (GTK_BOX (hbox2), color, FALSE, FALSE, 0); hbox2 = gtk_hbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (hbox), hbox2, TRUE, FALSE, 0); label = gtk_label_new_with_mnemonic (_("_Background color:")); gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, FALSE, 0); gdk_color.pixel = 0; gdk_color.red = 65535; gdk_color.green = 65535; gdk_color.blue = 65535; color = gtk_color_button_new_with_color (&gdk_color); gtk_label_set_mnemonic_widget (GTK_LABEL (label), color); dc->dialog_add_bg = color; gtk_box_pack_start (GTK_BOX (hbox2), color, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (dialog), "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (add_friend_dialog_cb), dc); gtk_widget_show_all (dialog); GTK_WIDGET_SET_FLAGS (dialog, GTK_CAN_FOCUS); gtk_widget_grab_focus (dialog); GTK_WIDGET_SET_FLAGS (entry, GTK_CAN_FOCUS); gtk_widget_grab_focus (entry); g_free (friend_name); return; } static void friends_list_row_activated_cb (GtkTreeView *view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer data) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; gboolean friend; selection = gtk_tree_view_get_selection (view); gtk_tree_selection_get_selected (selection, &model, &iter); gtk_tree_model_get (model, &iter, FRIEND_COL, &friend, -1); if (!friend) friends_list_add_cb (NULL, data); return; } static void friends_list_remove_cb (GtkWidget *widget, gpointer data) { gchar *friend; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; DrivelClient *dc = (DrivelClient *) data; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dc->friend_list)); gtk_tree_selection_get_selected (selection, &model, &iter); gtk_tree_model_get (model, &iter, USERNAME_COL, &friend, -1); blog_lj_build_editfriends_request (dc->user->username, dc->user->server, friend, TRUE, FALSE, NULL, NULL); g_free (friend); return; } static void friends_list_view_journal_cb (GtkWidget *widget, gpointer data) { gchar *friend; gchar url[255]; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; DrivelClient *dc = (DrivelClient *) data; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dc->friend_list)); gtk_tree_selection_get_selected (selection, &model, &iter); gtk_tree_model_get (model, &iter, USERNAME_COL, &friend, -1); /* XXX */ g_snprintf (url, 255, "%s/users/%s", dc->user->server, friend); /* gnome_url_show (url, NULL);*/ g_free (friend); return; } static void set_link_text_cb (GtkWidget *entry, gpointer data) { gchar *text; DrivelClient *dc = (DrivelClient *) data; text = gtk_editable_get_chars (GTK_EDITABLE (entry), 0, -1); gtk_entry_set_text (GTK_ENTRY (dc->link_text), text); g_free (text); return; } static void link_response_cb (GtkWidget *widget, gint arg, gpointer data) { gchar *text, *link, *insert; GtkTextIter start, end; GtkTextMark *mark1, *mark2; DrivelClient *dc = (DrivelClient *) data; if (arg == GTK_RESPONSE_CANCEL) gtk_widget_destroy (widget); if (arg == GTK_RESPONSE_OK) { text = gtk_editable_get_chars (GTK_EDITABLE (dc->link_text), 0, -1); if (gtk_widget_is_sensitive (dc->link_url)) { link = gtk_editable_get_chars (GTK_EDITABLE (dc->link_url), 0, -1); /* Check for a protocol in there somewhere... */ if (strstr(link,"://")) insert = g_strdup_printf ( "%s", link, text); else insert = g_strdup_printf ( "%s", link, text); } else if (gtk_widget_is_sensitive (dc->link_user)) { link = gtk_editable_get_chars (GTK_EDITABLE (dc->link_user), 0, -1); insert = g_strdup_printf ( "", link); } else { link = NULL; if (text [0] == '\0') /* text is empty */ insert = g_strdup (""); else insert = g_strdup_printf ("", text); } gtk_widget_destroy (widget); mark1 = gtk_text_buffer_get_mark (dc->buffer, "link_start"); mark2 = gtk_text_buffer_get_mark (dc->buffer, "link_end"); if (mark1 && mark2) { gtk_text_buffer_get_iter_at_mark (dc->buffer, &start, mark1); gtk_text_buffer_get_iter_at_mark (dc->buffer, &end, mark2); gtk_text_buffer_delete (dc->buffer, &start, &end); gtk_text_buffer_delete_mark (dc->buffer, mark1); gtk_text_buffer_delete_mark (dc->buffer, mark2); } gtk_text_buffer_insert_at_cursor (dc->buffer, insert, -1); g_free (text); g_free (link); g_free (insert); } return; } static void image_response_cb (GtkWidget *widget, gint arg, gpointer data) { gchar *url, *alt, *height_text, *width_text, *image_text; gint height, width; DrivelClient *dc = (DrivelClient *) data; if (arg == GTK_RESPONSE_CANCEL) gtk_widget_destroy (widget); if (arg == GTK_RESPONSE_OK) { gchar *protocol, *prefix; url = gtk_editable_get_chars (GTK_EDITABLE (dc->image_url), 0, -1); alt = gtk_editable_get_chars (GTK_EDITABLE (dc->image_alt), 0, -1); protocol = strstr (url, "://"); if (protocol) { gchar *tmp; prefix = g_strdup (url); prefix[strlen (url) - strlen (protocol)] = '\0'; tmp = g_strdup (protocol + 3); g_free (url); url = tmp; } else prefix = g_strdup ("http"); height = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (dc->image_height)); width = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (dc->image_width)); if (height) height_text = g_strdup_printf ("height=%d ", height); else height_text = g_strdup (""); if (width) width_text = g_strdup_printf ("width=%d ", width); else width_text = g_strdup (""); image_text = g_strdup_printf ( "", prefix, url, height_text, width_text, alt); gtk_text_buffer_insert_at_cursor (dc->buffer, image_text, -1); g_free (image_text); g_free (url); g_free (alt); g_free (height_text); g_free (width_text); g_free (prefix); gtk_widget_destroy (widget); } return; } static void link_url_cb (GtkWidget *button, gpointer data) { DrivelClient *dc = (DrivelClient *) data; gtk_widget_set_sensitive (dc->link_text, TRUE); gtk_widget_set_sensitive (dc->link_url, TRUE); gtk_widget_set_sensitive (dc->link_url_label, TRUE); gtk_widget_set_sensitive (dc->link_url_example, TRUE); gtk_widget_set_sensitive (dc->link_user, FALSE); gtk_widget_set_sensitive (dc->link_user_label, FALSE); drivel_button_list_clear (dc->link_bval); dc->link_bval = dialog_grey_button_on_invalid ( dc->link_ok, dc->link_text, dc->link_url, NULL); g_signal_emit_by_name (dc->link_text, "changed"); gtk_widget_grab_focus (dc->link_url); return; } static void link_user_cb (GtkWidget *button, gpointer data) { gchar *text; DrivelClient *dc = (DrivelClient *) data; gtk_widget_set_sensitive (dc->link_text, FALSE); gtk_widget_set_sensitive (dc->link_url, FALSE); gtk_widget_set_sensitive (dc->link_url_label, FALSE); gtk_widget_set_sensitive (dc->link_url_example, FALSE); gtk_widget_set_sensitive (dc->link_user, TRUE); gtk_widget_set_sensitive (dc->link_user_label, TRUE); drivel_button_list_clear (dc->link_bval); dc->link_bval = dialog_grey_button_on_invalid ( dc->link_ok, dc->link_user, NULL); text = gtk_editable_get_chars (GTK_EDITABLE (dc->link_user), 0, -1); gtk_entry_set_text (GTK_ENTRY (dc->link_text), text); g_free (text); g_signal_emit_by_name (dc->link_user, "changed"); gtk_widget_grab_focus (dc->link_user); return; } static void link_cut_cb (GtkWidget *button, gpointer data) { DrivelClient *dc = (DrivelClient *) data; gtk_widget_set_sensitive (dc->link_text, TRUE); gtk_widget_set_sensitive (dc->link_url, FALSE); gtk_widget_set_sensitive (dc->link_url_label, FALSE); gtk_widget_set_sensitive (dc->link_url_example, FALSE); gtk_widget_set_sensitive (dc->link_user, FALSE); gtk_widget_set_sensitive (dc->link_user_label, FALSE); gtk_widget_set_sensitive (dc->link_ok, TRUE); drivel_button_list_clear (dc->link_bval); dc->link_bval = NULL; g_signal_emit_by_name (dc->link_text, "changed"); gtk_widget_grab_focus (dc->link_text); return; } static gchar* get_selected_text (GtkTextBuffer *buffer) { gchar *selection; GtkTextIter start, end; if (gtk_text_buffer_get_selection_bounds (buffer, &start, &end)) { selection = gtk_text_buffer_get_text (buffer, &start, &end, FALSE); gtk_text_buffer_create_mark (buffer, "link_start", &start, FALSE); gtk_text_buffer_create_mark (buffer, "link_end", &end, TRUE); } else selection = NULL; return selection; } /****************************/ /* GLOBAL FUNCTIONS */ /****************************/ void display_gnomevfs_error_dialog (DrivelClient *dc, GnomeVFSResult result) { display_error_dialog (dc, _("Could not perform the file operation"), gnome_vfs_result_to_string (result)); return; } void display_open_error_dialog (DrivelClient *dc, const char *filename) { gchar *msg; msg = g_strdup_printf ( "The file \"%s\" does not appear to be a valid draft.", filename); display_error_dialog (dc, _("Could not open the selected file"), msg); g_free (msg); return; } static gboolean parse_save_response (DrivelClient *dc, gint response) { gboolean cancel = TRUE; switch (response) { case GTK_RESPONSE_ACCEPT: { if (save_draft_cb (NULL, dc)) cancel = FALSE; break; } case GTK_RESPONSE_REJECT: { cancel = FALSE; break; } default: break; } if (!cancel) { remove_autosave (dc); dc->modified = FALSE; } return cancel; } gboolean display_save_dialog_proceed (DrivelClient *dc) { GtkWidget *dialog; gint response; gchar *msg; gboolean cancel; if (!dc || !dc->journal_window || !dc->modified) return TRUE; msg = g_strdup_printf ("%s\n\n%s", _("Save the content of this journal entry instead of clearing?"), _("If you don't save, content of this entry will be discarded.")); dialog = gtk_message_dialog_new_with_markup ( GTK_WINDOW (dc->current_window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, "%s", msg); gtk_dialog_add_buttons (GTK_DIALOG (dialog), GTK_STOCK_NO, GTK_RESPONSE_REJECT, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT); g_free (msg); response = gtk_dialog_run (GTK_DIALOG (dialog)); cancel = parse_save_response (dc, response); gtk_widget_destroy (dialog); return (!cancel); } gboolean display_save_dialog_close (DrivelClient *dc) { GtkWidget *dialog; gint response; gchar *msg; gboolean cancel; if (!dc || !dc->journal_window || !dc->modified) return TRUE; msg = g_strdup_printf ("%s\n\n%s", _("Save changes to this journal entry before closing?"), _("If you don't save, changes to this entry will be discarded.")); dialog = gtk_message_dialog_new_with_markup ( GTK_WINDOW (dc->current_window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, "%s", msg); gtk_dialog_add_buttons (GTK_DIALOG (dialog), GTK_STOCK_NO, GTK_RESPONSE_REJECT, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT); g_free (msg); response = gtk_dialog_run (GTK_DIALOG (dialog)); cancel = parse_save_response (dc, response); gtk_widget_destroy (dialog); return (!cancel); } void display_edit_history_dialog (DrivelClient *dc) { GtkBuilder* builder; GtkTreeSelection *selection; GtkCellRenderer *renderer; GtkTreeViewColumn *column; static GtkWidget *dialog = NULL; if (dialog) { gtk_window_present (GTK_WINDOW (dialog)); return; } if (dc->edit_history_window) { gtk_window_present(GTK_WINDOW (dc->edit_history_window)); return; } builder = load_builder_xml (NULL); if (!builder) return; dialog = GTK_WIDGET (gtk_builder_get_object (builder, "history_dialog")); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (dc->current_window)); dc->history_edit = GTK_WIDGET(gtk_builder_get_object (builder, "history_edit_button")); gtk_button_set_use_stock (GTK_BUTTON (dc->history_edit), TRUE); dc->edit_history_window = dialog; drivel_push_current_window (dc, dialog); dc->history_calendar = GTK_WIDGET(gtk_builder_get_object (builder, "history_calendar")); g_signal_connect (G_OBJECT (dc->history_calendar), "day-selected", G_CALLBACK (update_history_list_cb), dc); g_signal_connect (G_OBJECT (dc->history_calendar), "month-changed", G_CALLBACK (mark_history_list_cb), dc); dc->history_store = gtk_list_store_new ( HISTORY_N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); dc->history_list = GTK_WIDGET(gtk_builder_get_object (builder, "history_list")); gtk_tree_view_set_model (GTK_TREE_VIEW (dc->history_list), GTK_TREE_MODEL (dc->history_store)); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dc->history_list)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (history_list_changed), dc); g_signal_connect (G_OBJECT (dc->history_list), "row_activated", G_CALLBACK (history_list_row_activated_cb), dc); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes ( _("Time"), renderer, "text", HISTORY_TIME_COL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (dc->history_list), column); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes ( _("Journal Entry"), renderer, "text", HISTORY_SUBJECT_COL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (dc->history_list), column); g_signal_connect (G_OBJECT (dialog), "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (history_response_cb), dc); gtk_widget_set_sensitive (dc->history_edit, FALSE); gtk_widget_show_all (dialog); /* FIXME: do some help */ gtk_widget_hide (GTK_WIDGET(gtk_builder_get_object (builder, "history_help_button"))); mark_history_list (dc); update_history_list_cb (NULL, dc); gtk_widget_grab_focus (dc->history_calendar); return; } void display_edit_friends_dialog (DrivelClient *dc) { GtkBuilder *builder; GtkCellRenderer *renderer; GtkTreeViewColumn *column, *default_col; GtkTreeSelection *selection; GtkWidget *button; static GtkWidget *dialog = NULL; if (dialog) { gtk_window_present (GTK_WINDOW (dialog)); update_friends_list (dc); return; } builder = load_builder_xml (NULL); if (!builder) return; dialog = GTK_WIDGET(gtk_builder_get_object (builder, "friends_dialog")); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (dc->current_window)); dc->friends_list_window = dialog; drivel_push_current_window (dc, dialog); dc->list_store = gtk_list_store_new (N_COLUMNS, GDK_TYPE_PIXBUF, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT); dc->friend_list = GTK_WIDGET(gtk_builder_get_object (builder, "friends_list")); gtk_tree_view_set_model (GTK_TREE_VIEW (dc->friend_list), GTK_TREE_MODEL (dc->list_store)); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dc->friend_list)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (friends_list_changed), dc); g_signal_connect (G_OBJECT (dc->friend_list), "row_activated", G_CALLBACK (friends_list_row_activated_cb), dc); renderer = gtk_cell_renderer_pixbuf_new (); column = gtk_tree_view_column_new_with_attributes ( _("Type"), renderer, "pixbuf", TYPE_COL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (dc->friend_list), column); renderer = gtk_cell_renderer_pixbuf_new (); column = gtk_tree_view_column_new_with_attributes ( _("Link"), renderer, "pixbuf", LINK_COL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (dc->friend_list), column); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes ( _("Username"), renderer, "text", USERNAME_COL, NULL); gtk_tree_view_column_set_sort_column_id (column, SORT_USERNAME); default_col = column; gtk_tree_view_append_column (GTK_TREE_VIEW (dc->friend_list), column); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes ( _("Name"), renderer, "text", NAME_COL, NULL); gtk_tree_view_column_set_sort_column_id (column, SORT_REALNAME); gtk_tree_view_append_column (GTK_TREE_VIEW (dc->friend_list), column); gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (dc->list_store), SORT_TYPE, sort_type_func, NULL, NULL); button = GTK_WIDGET(gtk_builder_get_object (builder, "friends_add_button")); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (friends_list_add_cb), dc); gtk_button_set_use_stock (GTK_BUTTON (button), TRUE); button = GTK_WIDGET(gtk_builder_get_object (builder, "friends_remove_button")); gtk_widget_set_sensitive (button, FALSE); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (friends_list_remove_cb), dc); dc->friend_remove = button; button = GTK_WIDGET(gtk_builder_get_object (builder, "friends_view_journal_button")); gtk_widget_set_sensitive (button, FALSE); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (friends_list_view_journal_cb), dc); dc->friend_view_journal = button; g_signal_connect (G_OBJECT (dialog), "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (dialog_close_cb), dc); dc->friends_username = GTK_WIDGET(gtk_builder_get_object (builder, "friends_username")); dc->friends_fg_colour = GTK_WIDGET(gtk_builder_get_object (builder, "friends_fg_colour")); dc->friends_bg_colour = GTK_WIDGET(gtk_builder_get_object (builder, "friends_bg_colour")); dc->friends_type_icon = GTK_WIDGET(gtk_builder_get_object (builder, "friends_type_icon")); dc->friends_type_name = GTK_WIDGET(gtk_builder_get_object (builder, "friends_type_name")); g_signal_connect (G_OBJECT (dc->friends_fg_colour), "color-set", G_CALLBACK (edit_friend_colour_cb), dc); g_signal_connect (G_OBJECT (dc->friends_bg_colour), "color-set", G_CALLBACK (edit_friend_colour_cb), dc); update_friends_list (dc); gtk_widget_show_all (dialog); /* FIXME: we don't have help - [codehelp] umm, yes we do. */ gtk_widget_hide (GTK_WIDGET(gtk_builder_get_object (builder, "friends_help_button"))); gtk_tree_view_column_clicked (default_col); return; } void display_insert_link_dialog (DrivelClient *dc) { GtkBuilder *builder; GtkWidget *label; GtkWidget *entry; GtkWidget *radio_button; GtkSizeGroup *sizegroup; gchar *link_text; static GtkWidget *dialog = NULL; if (dialog) { gtk_window_present (GTK_WINDOW (dialog)); return; } builder = load_builder_xml (NULL); if (!builder) return; sizegroup = gtk_size_group_new (GTK_SIZE_GROUP_BOTH); dialog = GTK_WIDGET(gtk_builder_get_object (builder, "insert_link_dialog")); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (dc->current_window)); dc->link_ok = GTK_WIDGET(gtk_builder_get_object (builder, "insert_insert_button")); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); gtk_widget_set_sensitive (dc->link_ok, FALSE); label = GTK_WIDGET(gtk_builder_get_object (builder, "insert_link_text_label")); dc->link_text_label = label; /* if there is selected text in the journal entry, use it as the link text. */ link_text = get_selected_text (dc->buffer); entry = GTK_WIDGET(gtk_builder_get_object (builder, "insert_link_text")); if (link_text) gtk_entry_set_text (GTK_ENTRY (entry), link_text); dc->link_text = entry; g_free (link_text); radio_button = GTK_WIDGET(gtk_builder_get_object (builder, "insert_radio")); g_signal_connect (G_OBJECT (radio_button), "clicked", G_CALLBACK (link_url_cb), dc); label = GTK_WIDGET(gtk_builder_get_object (builder, "insert_url_label")); gtk_size_group_add_widget (sizegroup, label); dc->link_url_label = label; label = GTK_WIDGET(gtk_builder_get_object (builder, "insert_url_example")); dc->link_url_example = label; entry = GTK_WIDGET(gtk_builder_get_object (builder, "insert_url")); dc->link_url = entry; dc->link_bval = dialog_grey_button_on_invalid (dc->link_ok, entry, dc->link_text, NULL); radio_button = GTK_WIDGET(gtk_builder_get_object (builder, "insert_radio_2")); g_signal_connect (G_OBJECT (radio_button), "clicked", G_CALLBACK (link_user_cb), dc); label = GTK_WIDGET(gtk_builder_get_object (builder, "insert_username_label")); gtk_size_group_add_widget (sizegroup, label); gtk_widget_set_sensitive (label, FALSE); dc->link_user_label = label; entry = GTK_WIDGET(gtk_builder_get_object (builder, "insert_username")); dc->link_user = entry; gtk_widget_set_sensitive (entry, FALSE); g_signal_connect (G_OBJECT (entry), "changed", G_CALLBACK (set_link_text_cb), dc); radio_button = GTK_WIDGET(gtk_builder_get_object (builder, "insert_radio_3")); g_signal_connect (G_OBJECT (radio_button), "clicked", G_CALLBACK (link_cut_cb), dc); g_signal_connect (G_OBJECT (dialog), "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (link_response_cb), dc); gtk_widget_show_all (dialog); GTK_WIDGET_SET_FLAGS (dc->link_text, GTK_CAN_FOCUS); gtk_widget_grab_focus (dc->link_text); return; } void display_insert_image_dialog (DrivelClient *dc) { GtkWidget *label; GtkSizeGroup *sizegroup; GtkBuilder *builder; static GtkWidget *dialog = NULL; if (dialog) { gtk_window_present (GTK_WINDOW (dialog)); return; } builder = load_builder_xml (NULL); if (!builder) return; sizegroup = gtk_size_group_new (GTK_SIZE_GROUP_BOTH); dialog = GTK_WIDGET(gtk_builder_get_object (builder, "insert_image_dialog")); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (dc->current_window)); dc->image_ok = GTK_WIDGET(gtk_builder_get_object (builder, "insert_image_button")); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); gtk_widget_set_sensitive (dc->image_ok, FALSE); label = GTK_WIDGET(gtk_builder_get_object (builder, "insert_image_loc_label")); gtk_size_group_add_widget (sizegroup, label); dc->image_url = GTK_WIDGET(gtk_builder_get_object (builder, "insert_image_loc")); dc->image_bval = dialog_grey_button_on_invalid (dc->image_ok, dc->image_url, NULL); label = GTK_WIDGET(gtk_builder_get_object (builder, "insert_image_attr_height_label")); gtk_size_group_add_widget (sizegroup, label); dc->image_height = GTK_WIDGET(gtk_builder_get_object (builder, "insert_image_attr_height")); label = GTK_WIDGET(gtk_builder_get_object (builder, "insert_image_attr_width_label")); gtk_size_group_add_widget (sizegroup, label); dc->image_width = GTK_WIDGET(gtk_builder_get_object (builder, "insert_image_attr_width")); label = GTK_WIDGET(gtk_builder_get_object (builder, "insert_image_attr_desc_label")); gtk_size_group_add_widget (sizegroup, label); dc->image_alt = GTK_WIDGET(gtk_builder_get_object (builder, "insert_image_attr_desc")); g_signal_connect (G_OBJECT (dialog), "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (image_response_cb), dc); gtk_widget_show_all (dialog); return; } static void security_group_selection_changed_cb (GtkTreeSelection *selection, gpointer data) { return; } void display_security_dialog (DrivelClient *dc) { GtkCellRenderer *renderer; GtkTreeViewColumn *column; GtkTreeSelection *selection; GtkWidget *widget; GtkBuilder *builder; static GtkWidget *dialog = NULL; if (dialog) { gtk_window_present (GTK_WINDOW (dialog)); return; } builder = load_builder_xml (NULL); if (!builder) return; dialog = GTK_WIDGET(gtk_builder_get_object (builder, "security_dialog")); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (dc->current_window)); /* Friends Groups list*/ widget = GTK_WIDGET(gtk_builder_get_object (builder, "security_list")); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)); g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (security_group_selection_changed_cb), dc); gtk_tree_view_set_model (GTK_TREE_VIEW (widget), GTK_TREE_MODEL (dc->security_store_filtered)); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (_("Available"), renderer, "text", STORE_SECURITY_NAME, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (widget), column); /* Available users list */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "security_details_friends_available")); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (_("Available"), renderer, "text", STORE_SECURITY_NAME, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (widget), column); /* In-Group users list */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "security_details_friends_in_group")); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (_("In Group"), renderer, "text", STORE_SECURITY_NAME, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (widget), column); g_signal_connect (G_OBJECT (dialog), "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (gtk_widget_destroy), dialog); gtk_widget_show_all (dialog); return; } static void free_store (GtkWidget *widget, GObject *store) { g_object_unref (store); return; } static void nullify_pointer (GtkWidget *widget, gpointer *user_data) { *user_data = NULL; return; } void display_edit_preferences_dialog (DrivelClient *dc) { GtkBuilder *builder; static GtkWidget *dialog = NULL; GtkWidget *widget, *spellcheck; GtkListStore *picture_store; GtkCellRenderer *renderer; gboolean state; gchar *string; gint num; #ifdef HAVE_GTKSPELL gint sel = -1; GtkTreeIter iter; GtkListStore *language_store; GSList *list; #endif /* HAVE_GTKSPELL */ GConfValue *value; if (dialog) { gtk_window_present (GTK_WINDOW (dialog)); return; } builder = load_builder_xml (NULL); if (!builder) return; /* dialog box */ dialog = GTK_WIDGET(gtk_builder_get_object (builder, "preferences_dialog")); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (dc->current_window)); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CLOSE); drivel_push_current_window (dc, dialog); /* tray icon */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "pref_general_notification")); value = gconf_client_get (dc->client, dc->gconf->tray, NULL); if (value) state = gconf_value_get_bool (value); else state = TRUE; gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), state); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (tray_cb), dc); /* technorati */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "pref_general_technorati")); value = gconf_client_get (dc->client, dc->gconf->technorati, NULL); if (value) state = gconf_value_get_bool (value); else state = FALSE; gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), state); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (technorati_cb), dc); /* minimise after logging in */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "pref_general_entry_minimizelogin")); state = gconf_client_get_bool (dc->client, dc->gconf->min_start, NULL); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), state); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (min_start_cb), dc); /* minimise after posting */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "pref_general_entry_minimizepost")); state = gconf_client_get_bool (dc->client, dc->gconf->min_post, NULL); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), state); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (min_post_cb), dc); /* syntax highlighting */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "pref_general_entry_highlightsyntax")); value = gconf_client_get (dc->client, dc->gconf->highlight_syntax, NULL); if (value) state = gconf_value_get_bool (value); else state = TRUE; gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), state); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (highlight_syntax_cb), dc); /* generic spellcheck widgets */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "pref_general_entry_spellcheck")); spellcheck = widget; /* the hbox with the dictionary combobox */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "prefs_general_entry_dictionary_box")); dc->pref_dictionary_box = widget; /* the combobox itself */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "prefs_general_entry_dictionary")); dc->pref_dictionary = widget; /* the GtkLabel of the dictionary */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "prefs_general_entry_dictionary_label")); gtk_label_set_mnemonic_widget(GTK_LABEL(widget),dc->pref_dictionary); #ifdef HAVE_GTKSPELL /* spellcheck */ value = gconf_client_get (dc->client, dc->gconf->spellcheck, NULL); if (value) state = gconf_value_get_bool (value); else state = FALSE; gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (spellcheck), state); gtk_widget_set_sensitive (dc->pref_dictionary_box, state); g_signal_connect (G_OBJECT (spellcheck), "toggled", G_CALLBACK (spellcheck_cb), dc); /* spellcheck dictionaries */ string = get_default_text (dc->client, dc->gconf->spell_language, ""); language_store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING); list = get_available_spell_languages (); if (list) { DrivelSpellLanguage *lang_struct; gint i; GSList *head = list; for (i = 0, list = head; list != NULL; list = g_slist_next (list), i++) { lang_struct = list->data; gtk_list_store_append (language_store, &iter); gtk_list_store_set (language_store, &iter, 0, lang_struct->realname, 1, lang_struct->label, -1); if (g_str_equal (lang_struct->realname, string)) sel = i; g_free (lang_struct->realname); g_free (lang_struct->label); } g_slist_free (head); } gtk_combo_box_set_model (GTK_COMBO_BOX (dc->pref_dictionary), GTK_TREE_MODEL (language_store)); gtk_cell_layout_clear (GTK_CELL_LAYOUT (dc->pref_dictionary)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (dc->pref_dictionary), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (dc->pref_dictionary), renderer, "text", 1, NULL); if (sel < 0) { if (strcmp (string, "")) g_warning ("Language \"%s\" from GConf isn't in the list of available languages\n", string); sel = 0; } gtk_combo_box_set_active (GTK_COMBO_BOX (dc->pref_dictionary), sel); g_signal_connect (G_OBJECT (dc->pref_dictionary), "changed", G_CALLBACK (spellcheck_language_cb), dc); g_signal_connect (G_OBJECT (dialog), "destroy", G_CALLBACK (free_store), G_OBJECT (language_store)); #endif /* HAVE_GTKSPELL */ g_signal_connect (G_OBJECT (dialog), "destroy", G_CALLBACK (nullify_pointer), &(dc->pref_dictionary)); /* use system font */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "pref_general_use_default_font")); value = gconf_client_get (dc->client, dc->gconf->use_default_font, NULL); if (value) state = gconf_value_get_bool (value); else state = TRUE; gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), state); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (use_default_font_cb), dc); /* editor font */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "pref_general_editor_font")); dc->pref_font_hbox = GTK_WIDGET(gtk_builder_get_object (builder, "pref_general_font_hbox")); value = gconf_client_get (dc->client, dc->gconf->editor_font, NULL); if (state) gtk_widget_set_sensitive(dc->pref_font_hbox, FALSE); if (value) gtk_font_button_set_font_name(GTK_FONT_BUTTON(widget), gconf_value_get_string(value)); g_signal_connect (G_OBJECT (widget), "font-set", G_CALLBACK (editor_font_cb), dc); g_signal_connect (G_OBJECT (dialog), "destroy", G_CALLBACK (nullify_pointer), &(dc->pref_font_hbox)); /* picture */ picture_store = gtk_list_store_new (2, G_TYPE_STRING, GDK_TYPE_PIXBUF); fill_picture_menu (dc, picture_store); widget = GTK_WIDGET(gtk_builder_get_object (builder, "pref_defaults_picture")); gtk_combo_box_set_model (GTK_COMBO_BOX (widget), GTK_TREE_MODEL (picture_store)); gtk_cell_layout_clear (GTK_CELL_LAYOUT (widget)); if (!dc->picture_keywords) gtk_widget_set_sensitive (widget, FALSE); gtk_combo_box_set_active (GTK_COMBO_BOX (widget), gconf_client_get_int (dc->client, dc->gconf->default_picture, NULL)); renderer = gtk_cell_renderer_pixbuf_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (widget), renderer, FALSE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (widget), renderer, "pixbuf", 0, NULL); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (widget), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (widget), renderer, "text", 1, NULL); g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (picture_cb), dc); g_signal_connect (G_OBJECT (dialog), "destroy", G_CALLBACK (free_store), G_OBJECT (picture_store)); /* security */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "pref_defaults_security")); gtk_combo_box_set_model (GTK_COMBO_BOX (widget), GTK_TREE_MODEL (dc->security_store)); gtk_cell_layout_clear (GTK_CELL_LAYOUT (widget)); renderer = gtk_cell_renderer_pixbuf_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (widget), renderer, FALSE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (widget), renderer, "pixbuf", STORE_SECURITY_ICON, NULL); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (widget), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (widget), renderer, "text", STORE_SECURITY_NAME, NULL); if (dc->journal_security) { string = gconf_client_get_string (dc->client, dc->gconf->default_security, NULL); num = gconf_client_get_int (dc->client, dc->gconf->default_security_mask, NULL); select_security_group (GTK_TREE_MODEL (dc->security_store), GTK_COMBO_BOX (widget), string, num); g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (security_cb), dc); g_free (string); } else gtk_widget_set_sensitive (widget, FALSE); /* comments */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "pref_defaults_nocomments")); state = gconf_client_get_bool (dc->client, dc->gconf->default_comment, NULL); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), state); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (comments_cb), dc); /* autoformat */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "pref_defaults_noautoformat")); state = gconf_client_get_bool (dc->client, dc->gconf->default_autoformat, NULL); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), state); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (autoformat_cb), dc); g_signal_connect (G_OBJECT (dialog), "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (preferences_close_cb), dc); /* The Entry Defaults tab (index of 1) only applies to LiveJournal */ if (dc->user->api != BLOG_API_LJ) { widget = GTK_WIDGET(gtk_builder_get_object (builder, "pref_notebook")); gtk_notebook_remove_page (GTK_NOTEBOOK (widget), 1); } gtk_widget_show_all (dialog); #ifndef HAVE_GTKSPELL gtk_widget_hide (spellcheck); gtk_widget_hide (dc->pref_dictionary_box); #endif return; } drivel-3.0.5/src/blog_blogger.h0000644000175000017500000000360511552103110013302 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2004 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ #ifndef _BLOG_BLOGGER_H_ #define _BLOG_BLOGGER_H_ #include "drivel_request.h" #include "drivel.h" void blog_blogger_build_login_request (const gchar *username, const gchar *password, const gchar *uri); void blog_blogger_build_postevent_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *blogid, gboolean publish, const gchar *content, const gchar * subject); void blog_blogger_build_editevent_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *postid, gboolean publish, const gchar *content, const gchar * subject); void blog_blogger_build_deleteevent_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *postid); void blog_blogger_build_getevents_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *blogid, gint n_posts); #endif /* _BLOG_BLOGGER_H_ */ drivel-3.0.5/src/drivel.h0000644000175000017500000002223711552103110012145 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002-2005 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ #ifndef _DRIVEL_H_ #define _DRIVEL_H_ #include "drivel_request.h" #include "utils.h" #define _XOPEN_SOURCE /* glibc2 needs this */ #include #include #include #include #include "gtkdateentry.h" /* blogger and movabletype use this key. */ #define DRIVEL_APPKEY "EB85AE01035D2303C7D70415B673CE9937BE4056DE691BF2" #define DRIVEL_N_RECENT_POSTS 15 #define GLADE "glade" typedef struct _DrivelClient DrivelClient; typedef struct _DrivelNet DrivelNet; typedef struct _DrivelGConfData DrivelGConfData; typedef struct _DrivelIDs DrivelIDs; typedef struct _DrivelTime DrivelTime; typedef struct _LJMenuItem LJMenuItem; typedef struct _LJFriend LJFriend; typedef struct _DrivelButtonVAList DrivelButtonVAList; typedef struct _DrivelJournalEntry DrivelJournalEntry; typedef struct _DrivelJournalProp DrivelJournalProp; struct _LJFriend { gchar *name; gchar *username; gchar *bg; gchar *fg; gint type; guint groupmask; gboolean friend; gboolean friend_of; }; enum { FRIEND_TYPE_USER, FRIEND_TYPE_COMMUNITY, FRIEND_TYPE_FEED }; struct _LJMenuItem { gchar *label; gchar *url; gushort menu_index; gushort item_index; gushort sub_menu; }; struct _DrivelTime { gint year; gint month; gint day; gint hour; gint minute; }; struct _DrivelButtonVAList { GtkWidget *button; GSList *entries; GSList *signals; }; struct _DrivelIDs { /* gconf ids */ guint mood_id; guint music_id; guint picture_id; guint security_id; guint security_mask_id; guint comment_id; guint autoformat_id; guint proxy_id; guint proxy_url_id; guint proxy_port_id; guint proxy_user_id; guint proxy_pass_id; guint tray_id; guint expander_open_id; guint highlight_syntax_id; guint spellcheck_id; guint spell_language_id; guint last_journal_id; guint technorati_id; guint editor_font_id; guint use_default_font_id; /* loop ids */ guint loop_checkfriends_id; }; struct _DrivelGConfData { /* login window preferences */ gchar *user; /* journal entry preferences */ gchar *default_mood; gchar *default_music; gchar *default_picture; gchar *default_security; gchar *default_security_mask; gchar *default_comment; gchar *default_autoformat; gchar *expander_open; gchar *highlight_syntax; gchar *spellcheck; gchar *spell_language; gchar *last_journal; gchar *technorati; /* notification area preferences */ gchar *tray; /* entry window position and size */ gchar *entry_x; gchar *entry_y; gchar *entry_height; gchar *entry_width; gchar *entry_max; gchar *min_start; gchar *min_post; /* font preferences */ gchar *editor_font; gchar *use_default_font; }; struct _DrivelJournalEntry { gchar *subject; gchar *content; time_t date_posted; gchar *security; /* lj security type */ gchar *security_mask; /* lj security mask */ gchar *postid; /* post_uri for atom, postid for others */ gchar *userid; /* feed_uri for atom, userid for others */ gchar *issued; gchar *link; GPtrArray *properties; /* lj meta data */ gchar *tags; }; struct _DrivelJournalProp { gchar *id; gchar *name; gchar *value; }; struct _DrivelNet { DrivelBlogAPI api; gint fast_servers; GnomeVFSCancellation *cancel; }; struct _DrivelClient { /* windows */ GtkWidget *login_window; GtkWidget *journal_window; GtkWidget *current_window; GtkWidget *friends_list_window; GtkWidget *edit_history_window; /* location of the configuration directory */ gchar *config_directory; /* login window widgets */ GtkWidget *login_name; GtkWidget *login_password; GtkWidget *save_password; GtkWidget *autologin; GtkWidget *login_button; GtkWidget *login_menu; GtkWidget *login_type; GtkWidget *login_server; GtkWidget *login_remove; GtkWidget *progressbar; GtkStatusbar *statusbar; GtkListStore *login_type_store; /* journal window widgets */ GtkWidget *journal_subject; GtkWidget *journal_mood; GtkWidget *journal_music; GtkWidget *journal_text; GtkWidget *journal_security; GtkWidget *journal_expander; GtkWidget *journal_picture; GtkWidget *journal_comment; GtkWidget *journal_autoformat; GtkWidget *journal_backdate; GtkDateEntry *journal_date; GtkWidget *journal_category; GtkWidget *journal_tags; GtkTextBuffer *buffer; GtkWidget *journal_post; GtkWidget *edit_delete; GtkWidget *edit_save; GtkWidget *edit_cancel; GtkUIManager *menus; GtkWidget *menu_post; GtkWidget *menu_update; GtkWidget *menu_delete; GtkWidget *menu_undo; GtkWidget *menu_redo; GtkWidget *menu_cut; GtkWidget *menu_copy; GtkWidget *menu_paste; GtkWidget *menu_last; GtkWidget *menu_friends; GtkWidget *menu_history; GtkWidget *menu_security; GtkWidget *menu_active; GtkAction *menu_view_options; GtkAction *menu_view_misspelled_words; GtkToggleToolButton * tool_view_misspelled_words; GtkAction *menu_view_html_keywords; GtkRecentData *recent_data; GtkRecentManager *recent_manager; GtkRecentChooser * recent_chooser; DrivelJournalEntry *journal_entry; /* friends dialog */ GtkListStore *list_store; GtkWidget *friend_list; GtkWidget *friend_remove; GtkWidget *friend_view_journal; GtkWidget *friends_username; GtkWidget *friends_fg_colour; GtkWidget *friends_bg_colour; GtkWidget *friends_type_icon; GtkWidget *friends_type_name; GtkWidget *dialog_add_friend; GtkWidget *dialog_add_fg; GtkWidget *dialog_add_bg; GtkWidget *dialog_add_ok; /* history dialog */ GtkListStore *history_store; GtkWidget *history_list; GtkWidget *history_calendar; GtkWidget *history_edit; /* insert link dialog */ GtkWidget *link_text; GtkWidget *link_text_label; GtkWidget *link_url; GtkWidget *link_url_label; GtkWidget *link_url_example; GtkWidget *link_user; GtkWidget *link_user_label; GtkWidget *link_ok; DrivelButtonVAList *link_bval; /* insert image dialog */ GtkWidget *image_url; GtkWidget *image_height; GtkWidget *image_width; GtkWidget *image_alt; GtkWidget *image_ok; DrivelButtonVAList *image_bval; /* network data */ DrivelNet *net; guint tag_autosave; gint time_since_checkfriends; gchar *lastupdate; gboolean checking_friends; gboolean friends_update; /* preferences widgets */ GtkWidget *pref_dictionary; GtkWidget *pref_dictionary_box; GtkWidget *pref_font_hbox; GConfClient *client; DrivelGConfData *gconf; /* user-specific settings */ DrivelUser *user; GSList *user_list; gboolean use_fast_servers; GHashTable *picture_keywords; GHashTable *picture_filenames; gchar *default_picture_file; GHashTable *mood_icons; GSList *mood_list; gint pictures; gint moods; gint journals; GSList *journal_list; DrivelJournal *active_journal; gboolean modified; gboolean modified_autosave; gboolean proxy; gboolean proxy_auth; gchar *proxy_user; gchar *proxy_pass; gchar *proxy_url; gint proxy_port; GSList *menu_list; GSList *friends_list; gboolean edit_entry; GSList *window_list; GtkListStore *picture_store; GtkListStore *category_store; GtkTreeModel *category_store_filtered; GtkListStore *security_store; GtkListStore *security_store_filtered; gchar *draft_filename; DrivelTime time; DrivelIDs id; GPtrArray *recent_entries; }; void display_error_dialog (DrivelClient *dc, const gchar *header, const gchar *mesg); void debug (const gchar *msg); void fill_time (DrivelClient *dc); void drivel_button_list_clear (DrivelButtonVAList *bval); void drivel_push_current_window (DrivelClient *dc, GtkWidget *window); GtkWidget * drivel_pop_current_window (DrivelClient *dc); GtkWidget * drivel_get_current_window (GSList *list); void drivel_gconf_data_fill (DrivelGConfData *data, const gchar *username, DrivelBlogAPI api, GConfClient *client, DrivelIDs *id, DrivelClient *dc); void drivel_fill_journal_null (DrivelClient *dc); gboolean validate_username (const gchar *username); gchar * get_default_text (GConfClient *client, const gchar *key, const gchar *standard_text); void list_free_item (gpointer data, gpointer user_data); void menu_list_free_item (gpointer data, gpointer user_data); void friends_list_free_item (gpointer data, gpointer user_data); gint compare_usernames (gconstpointer a, gconstpointer b); void fill_security_menu (DrivelClient *dc, GtkListStore *security_store); void fill_picture_menu (DrivelClient *dc, GtkListStore *picture_store); void add_account_to_list (DrivelClient *dc); gint sort_journals (DrivelJournal *a, DrivelJournal *b); void clear_recent_entries (GPtrArray *recent); #endif drivel-3.0.5/src/blog_atom.h0000644000175000017500000000322511552103110012617 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2005 Todd Kulesza * * Authors: * Todd Kulesza */ #ifndef _BLOG_ATOM_H_ #define _BLOG_ATOM_H_ #include "drivel_request.h" #include "drivel.h" void blog_atom_build_login_request (const gchar *username, const gchar *password, const gchar *uri); void blog_atom_parse_login_request (DrivelClient *dc, DrivelRequest *dr); void blog_atom_build_post_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *subject, const gchar *content, const gchar *itemid); void blog_atom_parse_post_request (DrivelClient *dc, DrivelRequest *dr); void blog_atom_build_delete_request (const gchar *username, const gchar *password, const gchar *uri); void blog_atom_build_getevents_request (const gchar *username, const gchar *password, const gchar *uri, gboolean last_entry); void blog_atom_parse_getevents_request (DrivelClient *dc, DrivelRequest *dr); #endif /* _BLOG_ATOM_H_ */ drivel-3.0.5/src/tray.h0000644000175000017500000000220611552103110011631 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2003 Todd Kulesza * * Authors: * Todd Kulesza */ #ifndef _TRAY_H_ #define _TRAY_H_ #include "drivel.h" /* Turn on the LiveJournal Friends Page check */ void tray_turn_on (DrivelClient *dc); /* Turn off the LiveJournal Friends Page and remove the tray icon */ void tray_turn_off (DrivelClient *dc); /* Display the tray icon */ void tray_display (gboolean visible); #endif drivel-3.0.5/src/Makefile.in0000644000175000017500000006353612161412430012570 00000000000000# Makefile.in generated by automake 1.13.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = drivel$(EXEEXT) subdir = src DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \ $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(gladedir)" PROGRAMS = $(bin_PROGRAMS) am_drivel_OBJECTS = about.$(OBJEXT) atom.$(OBJEXT) \ blog_advogato.$(OBJEXT) blog_atom.$(OBJEXT) \ blog_blogger.$(OBJEXT) blog_lj.$(OBJEXT) blog_mt.$(OBJEXT) \ blog_offline.$(OBJEXT) dialogs.$(OBJEXT) \ drivel_request.$(OBJEXT) gtkdateentry.$(OBJEXT) \ insert_poll_dialog.$(OBJEXT) query_music_players.$(OBJEXT) \ journal.$(OBJEXT) login.$(OBJEXT) main.$(OBJEXT) \ msg_queue.$(OBJEXT) network.$(OBJEXT) tray.$(OBJEXT) \ utils.$(OBJEXT) xmlrpc.$(OBJEXT) soup-xmlrpc-message.$(OBJEXT) \ soup-xmlrpc-response.$(OBJEXT) drivel_OBJECTS = $(am_drivel_OBJECTS) am__DEPENDENCIES_1 = drivel_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(drivel_SOURCES) DIST_SOURCES = $(drivel_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } DATA = $(glade_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@ DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@ DLLTOOL = @DLLTOOL@ DOC_USER_FORMATS = @DOC_USER_FORMATS@ DRIVEL_CFLAGS = @DRIVEL_CFLAGS@ DRIVEL_LIBS = @DRIVEL_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCONFTOOL = @GCONFTOOL@ GCONF_REQUIRED = @GCONF_REQUIRED@ GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@ GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_VFS_REQUIRED = @GNOME_VFS_REQUIRED@ GREP = @GREP@ GTKSOURCEVIEW_REQUIRED = @GTKSOURCEVIEW_REQUIRED@ GTK_REQUIRED = @GTK_REQUIRED@ HELP_DIR = @HELP_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_REQUIRED = @LIBSOUP_REQUIRED@ LIBTOOL = @LIBTOOL@ LIBXML_REQUIRED = @LIBXML_REQUIRED@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OMF_DIR = @OMF_DIR@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CFLAGS = \ $(DISABLE_DEPRECATED_CFLAGS) \ -DDRIVEL_GLADE_FILE=\"$(gladedir)/drivel-gtk.glade\" \ -DDATADIR=\""$(datadir)"\" \ -DPREFIX=\""$(prefix)"\" \ -DG_LOG_DOMAIN=\"Drivel\" \ -I$(top_srcdir) \ $(WARN_CFLAGS) \ $(DRIVEL_CFLAGS) drivel_SOURCES = \ about.h \ atom.h \ blog_advogato.h \ blog_atom.h \ blog_blogger.h \ blog_lj.h \ blog_mt.h \ blog_offline.h \ dialogs.h \ drivel.h \ drivel_request.h \ insert_poll_dialog.h \ query_music_players.h \ journal.h \ login.h \ msg_queue.h \ network.h \ tray.h \ utils.h \ xmlrpc.h \ about.c \ atom.c \ blog_advogato.c \ blog_atom.c \ blog_blogger.c \ blog_lj.c \ blog_mt.c \ blog_offline.c \ dialogs.c \ drivel_request.c \ gtkdateentry.c \ gtkdateentry.h \ insert_poll_dialog.c \ query_music_players.c \ journal.c \ login.c \ main.c \ msg_queue.c \ network.c \ tray.c \ utils.c \ xmlrpc.c \ soup-xmlrpc-message.h \ soup-xmlrpc-message.c \ soup-xmlrpc-response.h \ soup-xmlrpc-response.c drivel_LDADD = \ $(DRIVEL_LIBS) \ $(INTLLIBS) \ -ldl -lm gladedir = $(pkgdatadir)/glade glade_DATA = drivel-gtk.glade EXTRA_DIST = \ $(glade_DATA) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ || test -f $$p1 \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list drivel$(EXEEXT): $(drivel_OBJECTS) $(drivel_DEPENDENCIES) $(EXTRA_drivel_DEPENDENCIES) @rm -f drivel$(EXEEXT) $(AM_V_CCLD)$(LINK) $(drivel_OBJECTS) $(drivel_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/about.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blog_advogato.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blog_atom.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blog_blogger.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blog_lj.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blog_mt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blog_offline.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dialogs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/drivel_request.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtkdateentry.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/insert_poll_dialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/journal.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msg_queue.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/network.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/query_music_players.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soup-xmlrpc-message.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soup-xmlrpc-response.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tray.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlrpc.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-gladeDATA: $(glade_DATA) @$(NORMAL_INSTALL) @list='$(glade_DATA)'; test -n "$(gladedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(gladedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(gladedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(gladedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(gladedir)" || exit $$?; \ done uninstall-gladeDATA: @$(NORMAL_UNINSTALL) @list='$(glade_DATA)'; test -n "$(gladedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(gladedir)'; $(am__uninstall_files_from_dir) ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(DATA) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(gladedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-gladeDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-gladeDATA .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \ ctags ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-gladeDATA install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ uninstall-binPROGRAMS uninstall-gladeDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: drivel-3.0.5/src/drivel_request.h0000644000175000017500000001263011552103110013711 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2004 Todd Kulesza * * Authors: * Todd Kulesza * Davyd Madeley */ #ifndef _DRIVEL_REQUEST_H_ #define _DRIVEL_REQUEST_H_ #include #include #include typedef enum { REQUEST_TYPE_NONE, REQUEST_TYPE_LOGIN, REQUEST_TYPE_GETPICTURE, REQUEST_TYPE_CHECKFRIENDS, REQUEST_TYPE_POSTEVENT, REQUEST_TYPE_EDITEVENT, REQUEST_TYPE_GETEVENTS, REQUEST_TYPE_GETDAYCOUNTS, REQUEST_TYPE_EDITFRIENDS, REQUEST_TYPE_GETFRIENDS, REQUEST_TYPE_GETCATEGORIES, REQUEST_TYPE_PUBLISH, REQUEST_TYPE_DELETEEVENT, REQUEST_TYPE_GETPOSTCATEGORIES, REQUEST_TYPE_SETPOSTCATEGORIES, REQUEST_TYPE_PING, REQUEST_TYPE_GETFRIENDGROUPS, REQUEST_TYPE_SETFRIENDGROUPS } DrivelRequestType; typedef enum { REQUEST_PROTOCOL_NONE, REQUEST_PROTOCOL_POST, REQUEST_PROTOCOL_GET, REQUEST_PROTOCOL_PUT, REQUEST_PROTOCOL_DELETE, } DrivelRequestProtocol; typedef enum { BLOG_API_UNKNOWN, BLOG_API_LJ, BLOG_API_MT, BLOG_API_BLOGGER, BLOG_API_ADVOGATO, BLOG_API_ATOM, BLOG_API_OFFLINE, BLOG_API_GENERIC } DrivelBlogAPI; typedef struct _DrivelRequestData DrivelRequestData; typedef struct _DrivelRequestItem DrivelRequestItem; typedef struct _DrivelRequest DrivelRequest; struct _DrivelRequestData { gchar *data; guint len; }; struct _DrivelRequestItem { gchar *key; gchar *value; }; struct _DrivelRequest { DrivelRequestType type; DrivelRequestProtocol protocol; DrivelBlogAPI api; DrivelRequestData *data; GSList *items; GSList *current; GHashTable *request_values; gchar *uri; SoupMessage *msg; }; /* Create an empty DrivelRequest */ DrivelRequest* drivel_request_new (void); /* Create a DrivelRequest with a type and multiple items, terminated by NULL */ DrivelRequest* drivel_request_new_with_items (DrivelRequestType type, DrivelRequestProtocol protocol, DrivelBlogAPI api, const gchar *uri, ...); /* Create a DrivelRequest with a type and SoupMessage */ DrivelRequest* drivel_request_new_with_msg (DrivelRequestType type, DrivelRequestProtocol protocol, DrivelBlogAPI api, const gchar *uri, SoupMessage *msg); /* Add multiple items to a DrivelRequest. Terminate the list with NULL. */ void drivel_request_add_items (DrivelRequest *dr, ...); /* Remove multiple items by their key names. Terminate the list with NULL. */ void drivel_request_remove_items (DrivelRequest *dr, ...); void drivel_request_set_msg (DrivelRequest *dr, SoupMessage *msg); SoupMessage* drivel_request_get_msg (DrivelRequest *dr); /* Set the DrivelRequestType */ void drivel_request_set_type (DrivelRequest *dr, DrivelRequestType type); /* Get the DrivelRequestType */ DrivelRequestType drivel_request_get_type (DrivelRequest *dr); /* Set the DrivelRequestProtocol */ void drivel_request_set_protocol (DrivelRequest *dr, DrivelRequestProtocol protocol); /* Get the DrivelRequestProtocol */ DrivelRequestProtocol drivel_request_get_protocol (DrivelRequest *dr); /* Set the journal API */ void drivel_request_set_api (DrivelRequest *dr, DrivelBlogAPI api); /* Get the journal API */ DrivelBlogAPI drivel_request_get_api (DrivelRequest *dr); /* Set the returned network data */ void drivel_request_set_data (DrivelRequest *dr, DrivelRequestData *data); /* Get a pointer to the returned network data */ DrivelRequestData* drivel_request_get_data (DrivelRequest *dr); /* Insert a key/value pair into the request_values hash table */ void drivel_request_value_insert (DrivelRequest *dr, const gchar *key, const gchar *value); /* Lookup a value given a key in the request_values hash table */ const gchar* drivel_request_value_lookup (DrivelRequest *dr, const gchar *key); /* Clear the request_values hash table */ void drivel_request_clear_values (DrivelRequest *dr); /* Replace the existing hash table with a user-supplied table */ void drivel_request_set_values (DrivelRequest *dr, GHashTable *table); /* Set the DrivelRequest to the first item, returns FALSE if no items are available. */ gboolean drivel_request_start (DrivelRequest *dr); /* Iterate to the next item in the list, returns FALSE if no items are available. */ gboolean drivel_request_next (DrivelRequest *dr); /* Returns the current item in the list, or NULL if no items are available. */ DrivelRequestItem* drivel_request_get_current_item (DrivelRequest *dr); /* Looks for 'key' in 'items', returns 'value' if found */ const gchar* drivel_request_item_lookup (DrivelRequest *dr, const gchar *key); /* Set the URI to connect to */ void drivel_request_set_uri (DrivelRequest *dr, const gchar *uri); /* Get the URI of the server */ const gchar* drivel_request_get_uri (DrivelRequest *dr); /* Frees the memory used by the object and the list. */ void drivel_request_free (DrivelRequest *dr); #endif /* _DRIVEL_REQUEST_H_ */ drivel-3.0.5/src/blog_lj.h0000644000175000017500000000572111552103110012267 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2004 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ #ifndef _BLOG_LJ_H_ #define _BLOG_LJ_H_ #include "drivel_request.h" #include "drivel.h" void blog_lj_build_login_request (const gchar *username, const gchar *uri, const gchar *version, gint n_moods); void blog_lj_build_getpicture_request (const gchar *url, gchar *filename); void blog_lj_build_checkfriends_request (const gchar *username, const gchar *uri, const gchar* lastupdate); void blog_lj_parse_checkfriends_request (DrivelClient *dc, DrivelRequest *dr); void blog_lj_build_postevent_request (const gchar *username, const gchar *uri, const gchar *event, const gchar *music, const gchar *mood, gint moodid, const gchar *subject, const gchar *security, gint mask, const gchar *picture, gint year, gint month, gint day, gint hour, gint minute, gint nocomments, gint preformatted, const DrivelJournal *dj, gint backdate, const gchar* tags); void blog_lj_build_editevent_request (const gchar *username, const gchar *uri, const gchar *itemid, const gchar *event, const gchar *music, const gchar *mood, gint moodid, const gchar *subject, const gchar *security, gint mask, const gchar *picture, gint year, gint month, gint day, gboolean newdate, gint nocomments, gint preformatted, const gchar* tags, const DrivelJournal *dj); void blog_lj_build_getevents_request (const gchar *username, const gchar *uri, gint truncate, gboolean prefersubject, gboolean noprops, const gchar *selecttype, const gchar *lastsync, gint year, gint month, gint day, gint howmany, const gchar *beforedate, gint itemid, const gchar* tags, const DrivelJournal *dj); void blog_lj_build_getdaycounts_request (const gchar *username, const gchar *uri, const DrivelJournal *dj); void blog_lj_build_editfriends_request (const gchar *username, const gchar *uri, const gchar *friend, gboolean delete, gboolean add, const gchar *fg, const gchar *bg); void blog_lj_build_getfriends_request (const gchar *username, const gchar *uri, gboolean friendsof, gboolean groups); #endif /* _BLOG_LJ_H_ */ drivel-3.0.5/src/msg_queue.c0000644000175000017500000001425511552103110012646 00000000000000/* * Copyright 2004 Todd Kulesza * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. */ #include /*#include "ephy-spinner.h"*/ #include "blog_advogato.h" #include "blog_atom.h" #include "blog_blogger.h" #include "blog_lj.h" #include "blog_mt.h" #include "drivel.h" #include "msg_queue.h" #include #include /* Cancel the transaction if the user clicks "Cancel" or closes the progress dialog. */ static void progress_response (GtkWidget *w, gint response, GnomeVFSCancellation *cancel) { gnome_vfs_cancellation_cancel (cancel); return; } /* Stop the delete_event from closing the window--we'll do it ourselves after cancelling the network operation. */ static gboolean stop_delete_event_cb (GtkWidget *w, GdkEvent *e, gpointer data) { return TRUE; } /* Build a progress dialog that can be used for any network transactions */ static GtkWidget* build_progress_dialog (GtkWidget *parent, const gchar *msg, GnomeVFSCancellation *cancel) { GtkWidget *dialog; GtkWidget /**spinner,*/ *label, *progress; GtkBuilder *builder; builder = load_builder_xml (NULL); if (!builder) return NULL; dialog = GTK_WIDGET(gtk_builder_get_object (builder, "progress_dialog")); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent)); /* spinner = GTK_WIDGET(gtk_builder_get_object (builder, "progress_spinner")); ephy_spinner_start (EPHY_SPINNER (spinner));*/ label = GTK_WIDGET(gtk_builder_get_object (builder, "progress_label")); gtk_label_set_markup (GTK_LABEL (label), msg); progress = GTK_WIDGET(gtk_builder_get_object (builder, "progress_bar")); /* add 'label' and 'progress' data types to 'dialog' for use by msg-queue.c */ g_object_set_data (G_OBJECT (dialog), "label", label); g_object_set_data (G_OBJECT (dialog), "progress", progress); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (progress_response), cancel); g_signal_connect (G_OBJECT (dialog), "delete_event", G_CALLBACK (stop_delete_event_cb), NULL); gtk_widget_show_all (dialog); return dialog; } static void update_progress_bar (GtkWidget *dialog, gdouble percent) { GtkWidget *progress; progress = g_object_get_data (G_OBJECT (dialog), "progress"); gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress), percent); return; } static void update_progress_label (GtkWidget *dialog, const gchar *msg) { GtkWidget *label; label = g_object_get_data (G_OBJECT (dialog), "label"); gtk_label_set_markup (GTK_LABEL (label), msg); return; } /* This function is called via a timeout loop and processes any events waiting * in 'queue'. */ static gboolean queue_loop (GAsyncQueue *queue) { MsgInfo *info; static gpointer active_widget = NULL; static gint dialog_count = 0, dialogs_processed = 0; do { info = g_async_queue_try_pop (queue); if (info) { switch (info->type) { case MSG_TYPE_SET_WIDGET: { g_assert (info->widget); g_assert (GTK_IS_WIDGET (info->widget)); active_widget = info->widget; break; } case MSG_TYPE_ERROR: { g_assert (info->dc); display_error_dialog ((DrivelClient *)info->dc, info->header, info->msg); break; } case MSG_TYPE_UPDATE_PROGRESS_PERCENT: { if (active_widget && GTK_IS_WIDGET (active_widget)) { gdouble progress; progress = (info->progress + (gdouble)dialogs_processed) / (gdouble)(dialog_count + dialogs_processed); update_progress_bar (GTK_WIDGET (active_widget), progress); } break; } case MSG_TYPE_UPDATE_PROGRESS_LABEL: { if (!active_widget || !GTK_IS_WIDGET (active_widget)) break; update_progress_label (GTK_WIDGET (active_widget), info->msg); break; } case MSG_TYPE_BUILD_PROGRESS: { if (!dialog_count) { DrivelClient *dc; g_assert (info->dc); dc = (DrivelClient *)info->dc; active_widget = build_progress_dialog (dc->current_window, info->msg, dc->net->cancel); } dialog_count++; break; } case MSG_TYPE_REPARENT_DIALOG: { DrivelClient *dc; g_assert (info->dc); dc = (DrivelClient *)info->dc; if (dc->current_window) { gtk_window_set_transient_for ( GTK_WINDOW (active_widget), GTK_WINDOW (dc->current_window)); } break; } case MSG_TYPE_DONE: { if (!active_widget || !GTK_IS_WIDGET (active_widget)) break; dialog_count--; if (!dialog_count) { gtk_widget_destroy (GTK_WIDGET (active_widget)); active_widget = NULL; dialogs_processed = 0; } else dialogs_processed++; break; } default: break; } msg_info_free (info); } } while (info); return TRUE; } /* Create a new GAsyncQueue and setup a timeout function to check the * queue for new events. */ GAsyncQueue* msg_queue_setup (void) { GAsyncQueue *queue; queue = g_async_queue_new (); g_timeout_add (333, (GSourceFunc) queue_loop, queue); return queue; } /* Allocate memory for a new MsgInfo structure. */ MsgInfo* msg_info_new (void) { MsgInfo *info; info = g_new0 (MsgInfo, 1); info->widget = NULL; info->msg = NULL; info->header = NULL; info->progress = 0.0; info->dr = NULL; info->dc = NULL; return info; } /* Free the memory used by a MsgInfo structure. */ void msg_info_free (MsgInfo *info) { if (info->dr) drivel_request_free ((DrivelRequest *)info->dr); g_free (info->msg); g_free (info->header); g_free (info); return; } drivel-3.0.5/src/login.c0000644000175000017500000007543611561233107012006 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002-2004 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ #include #include #include #include #include #include "drivel_request.h" #include "blog_advogato.h" #include "blog_atom.h" #include "blog_blogger.h" #include "blog_lj.h" #include "blog_mt.h" #include "blog_offline.h" #include "network.h" #include "about.h" #include "journal.h" #include "login.h" extern GMutex *net_mutex; enum { TYPE_ICON, TYPE_NAME, TYPE_SERVER, TYPE_API, TYPE_COLS }; enum { LOGIN_NAME, LOGIN_PASSWORD, LOGIN_SERVER, LOGIN_API, LOGIN_SAVE_PASSWORD, LOGIN_AUTOLOGIN, LOGIN_ICON, LOGIN_COLS }; /* if the user works offline, we need to remember the previous api */ DrivelBlogAPI last_api = BLOG_API_UNKNOWN; void about_cb(GtkWidget *widget, gpointer data) { about_show (data); return; } static gboolean get_sensitivity (GtkWidget *entry) { gchar *text; gint len; gboolean retval; text = gtk_editable_get_chars (GTK_EDITABLE (entry), 0, -1); len = strlen (text); if (len > 0) retval = TRUE; else retval = FALSE; g_free (text); return retval; } static gint user_sort (gconstpointer a, gconstpointer b) { gint retval; DrivelUser *dua, *dub; dua = (DrivelUser*)a; dub = (DrivelUser*)b; retval = strcmp (dua->username, dub->username); if (!retval) retval = dua->api - dub->api; return retval; } static void set_active_journal_type (GtkWidget *combo, DrivelBlogAPI api) { GtkTreeModel *model; GtkTreeIter iter; gboolean valid; guint type_api; model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo)); valid = gtk_tree_model_get_iter_first (model, &iter); while (valid) { gtk_tree_model_get (model, &iter, TYPE_API, &type_api, -1); if (type_api == api) { gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combo), &iter); valid = FALSE; } else valid = gtk_tree_model_iter_next (model, &iter); } return; } static void build_journal_type_combo (GtkListStore **type_store) { /* FIXME * We should query registered plugins to get this information */ GtkTreeIter iter; GdkPixbuf *pixbuf, *pixbuf_small = NULL; gchar *path; /* advogato */ gtk_list_store_append (*type_store, &iter); path = g_build_filename (DATADIR, PACKAGE, GLADE, "advogato.png", NULL); pixbuf = gdk_pixbuf_new_from_file (path, NULL); if (pixbuf) { pixbuf_small = gdk_pixbuf_scale_simple (pixbuf, 20, 20, GDK_INTERP_BILINEAR); g_object_unref (G_OBJECT (pixbuf)); } else g_warning ("Could not open %s\n", path); g_free (path); gtk_list_store_set (*type_store, &iter, TYPE_ICON, pixbuf_small, TYPE_NAME, "Advogato", TYPE_SERVER, "http://www.advogato.org/XMLRPC", TYPE_API, BLOG_API_ADVOGATO, -1); /* atom */ gtk_list_store_append (*type_store, &iter); path = g_build_filename (DATADIR, PACKAGE, GLADE, "atom.png", NULL); pixbuf = gdk_pixbuf_new_from_file (path, NULL); if (pixbuf) { pixbuf_small = gdk_pixbuf_scale_simple (pixbuf, 20, 20, GDK_INTERP_BILINEAR); g_object_unref (G_OBJECT (pixbuf)); } else g_warning ("Could not open %s\n", path); g_free (path); gtk_list_store_set (*type_store, &iter, TYPE_ICON, pixbuf_small, TYPE_NAME, "Atom / Blogger 2.0", TYPE_SERVER, "https://www.blogger.com/atom", TYPE_API, BLOG_API_ATOM, -1); /* blogger */ gtk_list_store_append (*type_store, &iter); path = g_build_filename (DATADIR, PACKAGE, GLADE, "blogger.png", NULL); pixbuf = gdk_pixbuf_new_from_file (path, NULL); if (pixbuf) { pixbuf_small = gdk_pixbuf_scale_simple (pixbuf, 20, 20, GDK_INTERP_BILINEAR); g_object_unref (G_OBJECT (pixbuf)); } else g_warning ("Could not open %s\n", path); g_free (path); gtk_list_store_set (*type_store, &iter, TYPE_ICON, pixbuf_small, TYPE_NAME, "Blogger 1.0", TYPE_SERVER, "http://www.blogger.com/api/RPC2", TYPE_API, BLOG_API_BLOGGER, -1); /* livejournal */ gtk_list_store_append (*type_store, &iter); path = g_build_filename (DATADIR, PACKAGE, GLADE, "livejournal.png", NULL); pixbuf = gdk_pixbuf_new_from_file (path, NULL); if (pixbuf) { pixbuf_small = gdk_pixbuf_scale_simple (pixbuf, 20, 20, GDK_INTERP_BILINEAR); g_object_unref (G_OBJECT (pixbuf)); } else g_warning ("Could not open %s\n", path); g_free (path); gtk_list_store_set (*type_store, &iter, TYPE_ICON, pixbuf_small, TYPE_NAME, "LiveJournal", TYPE_SERVER, "http://www.livejournal.com/interface/xmlrpc", TYPE_API, BLOG_API_LJ, -1); /* movable type */ gtk_list_store_append (*type_store, &iter); path = g_build_filename (DATADIR, PACKAGE, GLADE, "mt.png", NULL); pixbuf = gdk_pixbuf_new_from_file (path, NULL); if (pixbuf) { pixbuf_small = gdk_pixbuf_scale_simple (pixbuf, 20, 20, GDK_INTERP_BILINEAR); g_object_unref (G_OBJECT (pixbuf)); } else g_warning ("Could not open %s\n", path); g_free (path); gtk_list_store_set (*type_store, &iter, TYPE_ICON, pixbuf_small, TYPE_NAME, "Movable Type", TYPE_SERVER, "http://mt-server/cgi-bin/mt-xmlrpc.cgi", TYPE_API, BLOG_API_MT, -1); return; } static void build_journal_user_combo (GtkListStore **store, GSList *list) { GtkTreeIter iter; GSList *item; DrivelUser *du; const gchar *icon; gchar *path; GdkPixbuf *pixbuf, *pixbuf_small = NULL; gtk_list_store_clear (*store); /* build the list store with the list of user names*/ for (item = list; item; item = item->next) { du = item->data; /* load the correct icon for the journal type */ /* FIXME * We should query plugins to get the images */ switch (du->api) { case BLOG_API_LJ: { icon = "livejournal.png"; break; } case BLOG_API_MT: { icon = "mt.png"; break; } case BLOG_API_BLOGGER: { icon = "blogger.png"; break; } case BLOG_API_ADVOGATO: { icon = "advogato.png"; break; } case BLOG_API_ATOM: { icon = "atom.png"; break; } default: { icon = NULL; break; } } path = g_build_filename (DATADIR, PACKAGE, GLADE, icon, NULL); pixbuf = gdk_pixbuf_new_from_file (path, NULL); if (pixbuf) { pixbuf_small = gdk_pixbuf_scale_simple (pixbuf, 20, 20, GDK_INTERP_BILINEAR); g_object_unref (G_OBJECT (pixbuf)); } g_free (path); /* add the entry to the list store */ gtk_list_store_append (*store, &iter); gtk_list_store_set (*store, &iter, LOGIN_NAME, g_strdup (du->username), LOGIN_PASSWORD, g_strdup (du->password), LOGIN_SERVER, g_strdup (du->server), LOGIN_API, du->api, LOGIN_ICON, pixbuf_small, LOGIN_SAVE_PASSWORD, du->save_password, LOGIN_AUTOLOGIN, du->autologin, -1); } return; } static void load_generic_settings (DrivelClient *dc) { debug ("load_generic_settings ()"); gtk_editable_delete_text (GTK_EDITABLE (GTK_BIN (dc->login_name)->child), 0, -1); gtk_combo_box_set_active (GTK_COMBO_BOX (dc->login_type), 3); /* 3 is LJ */ return; } static void load_last_user (GtkWidget *combo, GSList *user_list) { GtkTreeModel *model; GtkTreeIter iter; GSList *item; DrivelUser *du; debug ("load_last_user ()"); model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo)); for (item = user_list; item; item = item->next) { du = item->data; if (du->lastuser) { gboolean valid; /* find the user in the list who matches the username and api */ valid = gtk_tree_model_get_iter_first (model, &iter); while (valid) { gchar *username; guint api; gtk_tree_model_get (model, &iter, LOGIN_NAME, &username, LOGIN_API, &api, -1); if (!strcmp (username, du->username) && api == du->api) { gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combo), &iter); valid = FALSE; } else valid = gtk_tree_model_iter_next (model, &iter); g_free (username); } break; } } return; } void set_user_login_prefs (DrivelClient *dc) { gchar *username, *password, *server; gint api; gboolean save_password, autologin; GtkTreeModel *model; GtkTreeIter iter; model = gtk_combo_box_get_model (GTK_COMBO_BOX (dc->login_name)); gtk_combo_box_get_active_iter (GTK_COMBO_BOX (dc->login_name), &iter); gtk_tree_model_get (model, &iter, LOGIN_NAME, &username, LOGIN_PASSWORD, &password, LOGIN_SERVER, &server, LOGIN_API, &api, LOGIN_SAVE_PASSWORD, &save_password, LOGIN_AUTOLOGIN, &autologin, -1); /* gtk_combo_box_entry_set_text_column (GTK_COMBO_BOX_ENTRY(dc->login_name), 0);*/ if (!password) password = g_strdup (""); gtk_entry_set_text (GTK_ENTRY (GTK_BIN (dc->login_name)->child), username); gtk_entry_set_text (GTK_ENTRY (dc->login_password), password); set_active_journal_type (dc->login_type, api); gtk_entry_set_text (GTK_ENTRY (dc->login_server), server); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->save_password), save_password); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->autologin), autologin); g_free (username); g_free (password); g_free (server); return; } static G_GNUC_UNUSED gboolean login_focus_out_cb (GtkWidget *entry, GdkEventFocus *event, gpointer data) { gchar *username; DrivelClient *dc = (DrivelClient *) data; username = gtk_editable_get_chars (GTK_EDITABLE (entry), 0, -1); if (!validate_username (username)) { g_free (username); return FALSE; } g_mutex_lock (net_mutex); g_free (dc->user->username); dc->user->username = username; g_mutex_unlock (net_mutex); return FALSE; } /* Clear the password field and desensitize related widgets */ static void clear_password (DrivelClient *dc) { gtk_editable_delete_text (GTK_EDITABLE (dc->login_password), 0, -1); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->save_password), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->autologin), FALSE); gtk_widget_set_sensitive (dc->save_password, FALSE); gtk_widget_set_sensitive (dc->autologin, FALSE); gtk_widget_set_sensitive (dc->login_button, FALSE); gtk_widget_set_sensitive (dc->login_menu, FALSE); return; } static G_GNUC_UNUSED void login_list_changed_cb (GtkWidget *entry, gpointer data) { GtkTreeIter iter; DrivelClient *dc = (DrivelClient *) data; /* if the username was selected from the list, fill in the password, api, server, etc. */ if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (dc->login_name), &iter)) { set_user_login_prefs (dc); gtk_widget_set_sensitive (dc->login_remove, TRUE); } else gtk_widget_set_sensitive (dc->login_remove, FALSE); return; } static void login_changed_cb (GtkWidget *entry, gpointer data) { gboolean state; GtkTreeIter iter; gchar *username; DrivelClient *dc = (DrivelClient *) data; state = get_sensitivity (entry); if (state) { gtk_widget_set_sensitive (dc->login_password, TRUE); gtk_widget_set_sensitive (dc->login_type, TRUE); gtk_widget_set_sensitive (dc->login_server, TRUE); username = gtk_editable_get_chars (GTK_EDITABLE (entry), 0, -1); if (!validate_username (username)) { display_error_dialog (dc, _("Bad username"), _("Username contains invalid characters.")); g_free (username); return; } /* if the username was selected from the list, sensitize the 'remove' menu item. */ if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (dc->login_name), &iter)) gtk_widget_set_sensitive (dc->login_remove, TRUE); else { gtk_widget_set_sensitive (dc->login_remove, FALSE); clear_password (dc); } g_mutex_lock (net_mutex); g_free (dc->user->username); dc->user->username = username; g_mutex_unlock (net_mutex); } else { g_mutex_lock (net_mutex); g_free (dc->user->username); dc->user->username = NULL; g_mutex_unlock (net_mutex); clear_password (dc); gtk_widget_set_sensitive (dc->login_password, FALSE); gtk_widget_set_sensitive (dc->login_type, FALSE); gtk_widget_set_sensitive (dc->login_server, FALSE); gtk_widget_set_sensitive (dc->login_remove, FALSE); } return; } static G_GNUC_UNUSED void password_changed_cb (GtkWidget *entry, gpointer data) { gboolean state, G_GNUC_UNUSED username; DrivelClient *dc = (DrivelClient *) data; state = get_sensitivity (entry); if (state) { gtk_widget_set_sensitive (dc->save_password, TRUE); if (get_sensitivity (dc->login_server)) { gtk_widget_set_sensitive (dc->login_button, TRUE); gtk_widget_set_sensitive (dc->login_menu, TRUE); } g_mutex_lock (net_mutex); if (dc->user->username) username = TRUE; else username = FALSE; g_mutex_unlock (net_mutex); } else { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->save_password), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->autologin), FALSE); gtk_widget_set_sensitive (dc->save_password, FALSE); gtk_widget_set_sensitive (dc->autologin, FALSE); gtk_widget_set_sensitive (dc->login_button, FALSE); gtk_widget_set_sensitive (dc->login_menu, FALSE); } return; } static G_GNUC_UNUSED gboolean password_focus_out_cb (GtkWidget *entry, GdkEventFocus *event, gpointer data) { gchar *password; DrivelClient *dc = (DrivelClient *) data; password = gtk_editable_get_chars (GTK_EDITABLE (entry), 0, -1); if (!password) password = g_strdup (""); g_mutex_lock (net_mutex); g_free (dc->user->password); dc->user->password = password; g_mutex_unlock (net_mutex); return FALSE; } static G_GNUC_UNUSED void type_changed_cb (GtkWidget *box, gpointer data) { GtkTreeModel *model; GtkTreeIter iter; gchar *server; gint api; DrivelClient *dc = (DrivelClient *) data; model = gtk_combo_box_get_model (GTK_COMBO_BOX (box)); if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (box), &iter)) { gtk_tree_model_get (model, &iter, TYPE_SERVER, &server, TYPE_API, &api, -1); gtk_entry_set_text (GTK_ENTRY (dc->login_server), server); dc->user->api = api; g_free (server); } /* changing the type means the account no longer matches the account list */ gtk_widget_set_sensitive (dc->login_remove, FALSE); return; } static G_GNUC_UNUSED void server_changed_cb (GtkWidget *entry, gpointer data) { gboolean state; DrivelClient *dc = (DrivelClient *) data; state = get_sensitivity (entry); if (state) { if (get_sensitivity (GTK_BIN (dc->login_name)->child) && get_sensitivity (dc->login_password)) { gtk_widget_set_sensitive (dc->login_button, TRUE); gtk_widget_set_sensitive (dc->login_menu, TRUE); } } else { gtk_widget_set_sensitive (dc->login_button, FALSE); gtk_widget_set_sensitive (dc->login_menu, FALSE); } return; } static G_GNUC_UNUSED gboolean server_focus_out_cb (GtkWidget *entry, GdkEventFocus *event, gpointer data) { gchar *server; DrivelClient *dc = (DrivelClient *) data; server = gtk_editable_get_chars (GTK_EDITABLE (entry), 0, -1); if (!server) server = g_strdup (""); else { gchar *tmp; gint len = strlen (server); if (!strstr (server, "//")) { tmp = g_strdup_printf ("http://%s", server); g_free (server); server = tmp; } if (server[len - 1] == '/') server[len - 1] = '\0'; } g_free (dc->user->server); dc->user->server = server; gtk_entry_set_text (GTK_ENTRY (entry), server); return FALSE; } static G_GNUC_UNUSED void save_password_cb (GtkWidget *button, gpointer data) { gboolean state; DrivelClient *dc = (DrivelClient *) data; state = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)); if (state) { gtk_widget_set_sensitive (dc->autologin, TRUE); } else { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->autologin), FALSE); gtk_widget_set_sensitive (dc->autologin, FALSE); } return; } static void login (DrivelClient *dc) { if (last_api != BLOG_API_UNKNOWN) { dc->user->api = last_api; last_api = BLOG_API_UNKNOWN; } update_status_msg (REQUEST_TYPE_LOGIN); g_mutex_lock (net_mutex); drivel_user_free (dc->user); dc->user = get_drivel_user (dc); g_mutex_unlock (net_mutex); /* build & enqueue the login request * * Should retrieve the DrivelRequestType * so that the status bar can be updated. * * */ switch (dc->user->api) { case BLOG_API_LJ: { gchar *version; version = g_strdup_printf ("GNOME-Drivel/%s", VERSION); blog_lj_build_login_request (dc->user->username, dc->user->server, version, dc->moods); g_free (version); debug ("built lj login request"); break; } case BLOG_API_MT: { blog_mt_build_login_request (dc->user->server, dc->user->username, dc->user->password); debug ("built mt login request"); break; } case BLOG_API_BLOGGER: { blog_blogger_build_login_request (dc->user->username, dc->user->password, dc->user->server); debug ("built blogger login request"); break; } case BLOG_API_ADVOGATO: { blog_advogato_build_login_request (dc->user->username, dc->user->password, dc->user->server); debug ("built advogato login request"); break; } case BLOG_API_ATOM: { blog_atom_build_login_request (dc->user->username, dc->user->password, dc->user->server); debug ("build atom login request"); break; } default: break; } refresh_recent_chooser (dc); } static void login_button_cb (GtkWidget *widget, gpointer data) { DrivelClient *dc = (DrivelClient *)data; login (dc); return; } static void work_offline (DrivelClient *dc) { last_api = dc->user->api; blog_offline_fake_login (dc); refresh_recent_chooser (dc); return; } static G_GNUC_UNUSED void work_offline_button_cb (GtkWidget *widget, gpointer data) { DrivelClient *dc = (DrivelClient *)data; work_offline (dc); return; } static void remove_username_cb (GtkWidget *menu, gpointer data) { GtkTreeModel *model; GtkTreeIter iter; DrivelUser *to_remove; gchar *username, *server; gint api, login_name_active; GSList *item; DrivelClient *dc = (DrivelClient *)data; g_return_if_fail (dc); model = gtk_combo_box_get_model (GTK_COMBO_BOX (dc->login_name)); login_name_active = gtk_combo_box_get_active (GTK_COMBO_BOX (dc->login_name)); g_message ("login_name_active = %d", login_name_active); g_return_if_fail (login_name_active > 0); gtk_combo_box_get_active_iter (GTK_COMBO_BOX (dc->login_name), &iter); gtk_tree_model_get (model, &iter, LOGIN_NAME, &username, LOGIN_SERVER, &server, LOGIN_API, &api, -1); to_remove = drivel_user_new (); to_remove->username = username; to_remove->password = NULL; to_remove->server = server; to_remove->api = api; item = find_in_user_list (dc->user_list, to_remove); if (item) { drivel_user_free (item->data); dc->user_list = g_slist_delete_link (dc->user_list, item); save_user_list (dc->user_list, dc->config_directory); user_list_changed (dc); } else g_warning ("Did not find the user in the list"); /* should never happen */ load_generic_settings (dc); return; } static void help_cb (GtkWidget *menu, gpointer data) { gchar *uri; uri = g_strconcat ("ghelp:", PACKAGE, NULL); g_app_info_launch_default_for_uri (uri, NULL, NULL); g_free (uri); return; } static void faq_cb (GtkWidget *menu, gpointer data) { gchar *uri; uri = g_strconcat ("ghelp:", PACKAGE, "?drivel-faq", NULL); g_app_info_launch_default_for_uri (uri, NULL, NULL); g_free (uri); return; } DrivelUser* get_drivel_user (DrivelClient *dc) { DrivelUser *du; GtkTreeIter iter; GtkTreeModel *model; du = drivel_user_new (); /* retrieve the account information from the login window */ du->username = gtk_editable_get_chars (GTK_EDITABLE (GTK_BIN (dc->login_name)->child), 0, -1); du->password = gtk_editable_get_chars (GTK_EDITABLE (dc->login_password), 0, -1); model = gtk_combo_box_get_model (GTK_COMBO_BOX (dc->login_type)); gtk_combo_box_get_active_iter (GTK_COMBO_BOX (dc->login_type), &iter); gtk_tree_model_get (model, &iter, 3, &du->api, -1); du->server = gtk_editable_get_chars (GTK_EDITABLE (dc->login_server), 0, -1); du->save_password = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dc->save_password)); du->autologin = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dc->autologin)); du->lastuser = TRUE; return du; } /* Clear and re-create the list of user accounts */ void user_list_changed (DrivelClient *dc) { GtkListStore *model; model = GTK_LIST_STORE (gtk_combo_box_get_model ( GTK_COMBO_BOX (dc->login_name))); /* build new list */ dc->user_list = g_slist_sort (dc->user_list, user_sort); build_journal_user_combo (&model, dc->user_list); /* select the most-recently-used user account */ load_last_user (dc->login_name, dc->user_list); return; } void login_window_build (DrivelClient *dc) { GtkBuilder *builder; GtkWidget *menubar, *box, *offline; GtkActionGroup *action_group; GtkUIManager *ui_manager; GtkAccelGroup *accel_group; GtkListStore *store; GtkCellRenderer *renderer; gchar *path; static GtkActionEntry entries[] = { { "JournalMenu", NULL, N_("_Journal"), NULL, NULL, NULL }, { "EditMenu", NULL, N_("_Edit"), NULL, NULL, NULL }, { "HelpMenu", NULL, N_("_Help"), NULL, NULL, NULL }, { "Login", GTK_STOCK_GO_FORWARD, N_("_Log In"), NULL, NULL, G_CALLBACK (login_button_cb) }, { "Remove", GTK_STOCK_REMOVE, N_("Remove Account"), NULL, NULL, G_CALLBACK (remove_username_cb) }, { "Quit", GTK_STOCK_QUIT, NULL, NULL, NULL, G_CALLBACK (exit_cb) }, { "Preferences", GTK_STOCK_PREFERENCES, N_("_Preferences"), NULL, NULL, G_CALLBACK (edit_preferences_cb) }, { "Contents", GTK_STOCK_HELP, N_("_Contents"), "F1", NULL, G_CALLBACK (help_cb) }, { "FAQ", NULL, N_("_Frequently Asked Questions"), NULL, NULL, G_CALLBACK (faq_cb) }, { "About", GTK_STOCK_ABOUT, N_("_About"), NULL, NULL, G_CALLBACK (about_cb) } }; static const gchar *ui_description = { "" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "" }; builder = load_builder_xml (NULL); if (!builder) return; dc->login_window = GTK_WIDGET(gtk_builder_get_object (builder, "login_window")); path = g_build_filename (DATADIR, PACKAGE, GLADE, "drivel-24.png", NULL); gtk_window_set_icon_from_file (GTK_WINDOW (dc->login_window), path, NULL); g_free (path); path = g_build_filename (DATADIR, PACKAGE, GLADE, "drivel_splash.png", NULL); gtk_image_set_from_file (GTK_IMAGE (GTK_WIDGET (gtk_builder_get_object (builder, "login_window_image"))), path); g_free (path); /* password */ dc->login_password = GTK_WIDGET(gtk_builder_get_object (builder, "login_window_password")); /* journal type */ debug ("setting journal type"); dc->login_type = GTK_WIDGET(gtk_builder_get_object (builder, "login_window_type")); dc->login_type_store = gtk_list_store_new (TYPE_COLS, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT); gtk_combo_box_set_model (GTK_COMBO_BOX (dc->login_type), GTK_TREE_MODEL (dc->login_type_store)); gtk_cell_layout_clear (GTK_CELL_LAYOUT (dc->login_type)); renderer = gtk_cell_renderer_pixbuf_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (dc->login_type), renderer, FALSE); gtk_cell_layout_set_attributes ( GTK_CELL_LAYOUT (dc->login_type), renderer, "pixbuf", TYPE_ICON, NULL); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (dc->login_type), renderer, TRUE); gtk_cell_layout_set_attributes ( GTK_CELL_LAYOUT (dc->login_type), renderer, "text", TYPE_NAME, NULL); build_journal_type_combo (&(dc->login_type_store)); /* journal server */ dc->login_server = GTK_WIDGET(gtk_builder_get_object (builder, "login_window_server")); /* account options */ dc->save_password = GTK_WIDGET(gtk_builder_get_object (builder, "login_window_save_password")); dc->autologin = GTK_WIDGET(gtk_builder_get_object (builder, "login_window_auto_login")); /* action buttons */ dc->login_button = GTK_WIDGET(gtk_builder_get_object (builder, "login_window_login")); gtk_button_set_use_stock (GTK_BUTTON (dc->login_button), TRUE); offline = GTK_WIDGET(gtk_builder_get_object (builder, "login_window_offline")); drivel_push_current_window (dc, dc->login_window); /* setup the menus */ action_group = gtk_action_group_new ("MenuActions"); gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); gtk_action_group_add_actions (action_group, entries, G_N_ELEMENTS (entries), dc); ui_manager = gtk_ui_manager_new (); gtk_ui_manager_insert_action_group (ui_manager, action_group, 0); accel_group = gtk_ui_manager_get_accel_group (ui_manager); gtk_window_add_accel_group (GTK_WINDOW (dc->login_window), accel_group); if (!gtk_ui_manager_add_ui_from_string (ui_manager, ui_description, -1, NULL)) g_error ("Error while building login window menu"); menubar = gtk_ui_manager_get_widget (ui_manager, "/MainMenu"); box = GTK_WIDGET(gtk_builder_get_object(builder, "dialog-vbox4")); gtk_box_pack_start (GTK_BOX(box), menubar, TRUE, TRUE, 0); dc->progressbar = GTK_WIDGET(gtk_builder_get_object(builder, "login_progress_bar")); dc->statusbar = GTK_STATUSBAR(gtk_builder_get_object(builder, "login_statusbar")); gtk_widget_show_all (dc->login_window); dc->login_menu = gtk_ui_manager_get_widget (ui_manager, "/MainMenu/JournalMenu/Login"); dc->login_remove = gtk_ui_manager_get_widget (ui_manager, "/MainMenu/EditMenu/Remove"); gtk_widget_set_sensitive (dc->login_menu, FALSE); gtk_widget_set_sensitive (dc->login_remove, FALSE); /* do this before connecting the changed signal */ dc->user_list = load_user_list (dc->config_directory); dc->user_list = g_slist_sort (dc->user_list, user_sort); /* username */ debug ("setting up username"); dc->login_name = GTK_WIDGET(gtk_builder_get_object (builder, "login_window_username")); gtk_widget_show (dc->login_name); store = gtk_list_store_new (LOGIN_COLS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, GDK_TYPE_PIXBUF); gtk_combo_box_set_model (GTK_COMBO_BOX (dc->login_name), GTK_TREE_MODEL (store)); gtk_cell_layout_clear (GTK_CELL_LAYOUT (dc->login_name)); renderer = gtk_cell_renderer_pixbuf_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (dc->login_name), renderer, FALSE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (dc->login_name), renderer, "pixbuf", LOGIN_ICON, NULL); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (dc->login_name), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (dc->login_name), renderer, "text", LOGIN_NAME, NULL); build_journal_user_combo (&store, dc->user_list); debug ("build_journal_user_combo () done"); gtk_entry_set_max_length ( GTK_ENTRY (GTK_BIN (dc->login_name)->child), 50); gtk_entry_set_width_chars ( GTK_ENTRY (GTK_BIN (dc->login_name)->child), 15); gtk_entry_set_activates_default ( GTK_ENTRY (GTK_BIN (dc->login_name)->child), TRUE); /* connect the signals */ g_signal_connect (G_OBJECT (GTK_BIN (dc->login_name)->child), "changed", G_CALLBACK (login_changed_cb), dc); g_signal_connect (G_OBJECT (dc->login_name), "changed", G_CALLBACK (login_list_changed_cb), dc); g_signal_connect (G_OBJECT (GTK_BIN (dc->login_name)->child), "focus_out_event", G_CALLBACK (login_focus_out_cb), dc); g_signal_connect (G_OBJECT (dc->login_password), "changed", G_CALLBACK (password_changed_cb), dc); g_signal_connect (G_OBJECT (dc->login_password), "focus_out_event", G_CALLBACK (password_focus_out_cb), dc); g_signal_connect (G_OBJECT (dc->login_type), "changed", G_CALLBACK (type_changed_cb), dc); g_signal_connect (G_OBJECT (dc->login_server), "changed", G_CALLBACK (server_changed_cb), dc); g_signal_connect (G_OBJECT (dc->login_server), "focus_out_event", G_CALLBACK (server_focus_out_cb), dc); g_signal_connect (G_OBJECT (dc->save_password), "toggled", G_CALLBACK (save_password_cb), dc); g_signal_connect (G_OBJECT (dc->login_button), "clicked", G_CALLBACK (login_button_cb), dc); g_signal_connect (G_OBJECT (offline), "clicked", G_CALLBACK (work_offline_button_cb), dc); g_signal_connect (G_OBJECT (dc->login_window), "delete_event", G_CALLBACK (delete_event_cb), dc); debug ("signals done"); /* first setup the window with sensible defaults... */ load_generic_settings (dc); login_changed_cb (GTK_BIN (dc->login_name)->child, dc); /* ... then setup the last user's preferences (if they exist) */ load_last_user (dc->login_name, dc->user_list); gtk_editable_select_region (GTK_EDITABLE (GTK_BIN (dc->login_name)->child), 0, -1); gtk_widget_grab_default (dc->login_button); if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dc->autologin))) login_button_cb (dc->login_button, dc); return; } void refresh_recent_chooser (DrivelClient *dc) { GtkRecentFilter *filter; dc->recent_manager = gtk_recent_manager_get_default (); if (dc->recent_data) g_free (dc->recent_data); dc->recent_data = g_new0 (GtkRecentData, 1); dc->recent_data->description = _("Drafts"); dc->recent_data->mime_type = g_content_type_get_mime_type ("application/x-drivel"); dc->recent_data->app_name = PACKAGE; dc->recent_data->is_private = TRUE; dc->recent_data->app_exec = g_strjoin (" ", g_get_prgname (), "%u", NULL); dc->recent_chooser = GTK_RECENT_CHOOSER (gtk_recent_chooser_menu_new_for_manager (dc->recent_manager)); gtk_recent_chooser_set_limit(dc->recent_chooser, 4); /* This is not working properly yet - * available draft files are not showing up but at least the * use of the filter limits the list to draft drivel posts. */ filter = gtk_recent_filter_new (); gtk_recent_filter_set_name (filter, _("Draft drivel posts")); gtk_recent_filter_add_mime_type (filter, "application/x-drivel"); gtk_recent_filter_add_application (filter, PACKAGE); gtk_recent_chooser_add_filter (GTK_RECENT_CHOOSER(dc->recent_chooser), filter); gtk_recent_chooser_set_local_only (GTK_RECENT_CHOOSER(dc->recent_chooser), TRUE); gtk_recent_chooser_set_limit (GTK_RECENT_CHOOSER(dc->recent_chooser), 4); gtk_recent_chooser_set_show_private (GTK_RECENT_CHOOSER(dc->recent_chooser), TRUE); gtk_recent_chooser_set_show_not_found (GTK_RECENT_CHOOSER(dc->recent_chooser), FALSE); gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER(dc->recent_chooser), GTK_RECENT_SORT_MRU); } drivel-3.0.5/src/atom.c0000644000175000017500000001316011552103110011606 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2005 Todd Kulesza * * Authors: * Todd Kulesza */ #include #include #include #include #include "atom.h" /* Create a new AtomEntry item */ AtomEntry* atom_entry_new (void) { AtomEntry *entry; entry = g_new0 (AtomEntry, 1); entry->content = NULL; entry->id = NULL; entry->issued = NULL; entry->link = NULL; entry->title = NULL; return entry; } /* Free an AtomEntry item */ void atom_entry_free (AtomEntry *entry) { g_return_if_fail (entry); g_free (entry->content); g_free (entry->id); g_free (entry->issued); g_free (entry->link); g_free (entry->title); g_free (entry); return; } /* Build an XML packet from the AtomEntry data */ gchar* atom_build_packet (AtomEntry *entry) { xmlDocPtr doc; xmlNodePtr node, child; xmlChar *xml; gint bufsize; /* build the root entry node */ doc = xmlNewDoc ((xmlChar *)"1.0"); doc->encoding = xmlStrdup((xmlChar *)"UTF-8"); doc->standalone = 1; node = xmlNewNode (NULL, (xmlChar *)"entry"); xmlNewProp (node, (xmlChar *)"xmlns", (xmlChar *)"http://purl.org/atom/ns#"); xmlDocSetRootElement (doc, node); /* add the AtomEntry elements */ child = xmlNewTextChild (node, NULL, (xmlChar *)"title", (xmlChar *)entry->title); xmlNewProp (child, (xmlChar *)"type", (xmlChar *)"text/html"); xmlNewProp (child, (xmlChar *)"mode", (xmlChar *)"escaped"); xmlNewTextChild (node, NULL, (xmlChar *)"issued", (xmlChar *)entry->issued); child = xmlNewTextChild (node, NULL, (xmlChar *)"generator", (xmlChar *)"Drivel"); xmlNewProp (child, (xmlChar *)"version", (xmlChar *)VERSION); xmlNewProp (child, (xmlChar *)"url", (xmlChar *)"http://www.dropline.net/drivel/"); child = xmlNewTextChild (node, NULL, (xmlChar *)"content", (xmlChar *)entry->content); xmlNewProp (child, (xmlChar *)"type", (xmlChar *)"text/html"); xmlNewProp (child, (xmlChar *)"mode", (xmlChar *)"escaped"); child = xmlNewChild (node, NULL, (xmlChar *)"author", NULL); xmlNewTextChild (child, NULL, (xmlChar *)"name", BAD_CAST " "); xmlNewTextChild (child, NULL, (xmlChar *)"email", BAD_CAST " "); /* output the XML */ xmlDocDumpFormatMemoryEnc (doc, &xml, &bufsize, "UTF-8", 0); xmlFreeDoc (doc); return (gchar *)xml; } /* Remove the and
tags and convert
to line-breaks */ static gchar* tidy_xhtml (const gchar *xhtml) { gchar *text, *xml, *bracket; gchar **lines; const gchar *tidy, *tag; tidy = xhtml; /* Remove the tag */ xml = strstr (tidy, ""); if (bracket) tidy = ++bracket; } /* Remove the surrounding
tags */ xml = strstr (tidy, "
"); if (xml) { bracket = strstr (xml, ">"); if (bracket) tidy = ++bracket; } /* If there was no div namespace tag, remove the surrounding content tags */ else { xml = strstr (tidy, ""); if (bracket) tidy = ++bracket; } } text = g_strdup (tidy); /* Search the last 20 characters for closing tags */ tag = tidy + (strlen (tidy) - 20); xml = strstr (tag, "
"); if (xml) text[xml - tidy] = '\0'; /* If there was no closing div tag, look for a closing content tag */ else { tag = tidy + (strlen (tidy) - 20); xml = strstr (tag, ""); if (xml) text[xml - tidy] = '\0'; } /* Convert
to line breaks */ lines = g_strsplit (text, "\n", 0); g_free (text); text = g_strjoinv ("", lines); lines = g_strsplit (text, "
", 0); g_free (text); text = g_strjoinv ("\n", lines); g_strfreev (lines); return text; } /* Parse an XML packet into an AtomEntry */ AtomEntry* atom_entry_parse (xmlDocPtr doc, xmlNodePtr node) { AtomEntry *entry; entry = atom_entry_new (); while (node) { if (!xmlStrcasecmp (node->name, (xmlChar *)"content")) { xmlDocPtr content; xmlNodePtr root; xmlChar *buffer; gint size; content = xmlNewDoc ((xmlChar *)"1.0"); root = xmlDocCopyNode (node, content, 1); xmlDocSetRootElement (content, root); xmlDocDumpFormatMemoryEnc (content, &buffer, &size, "UTF-8", 0); entry->content = tidy_xhtml ((gchar *)buffer); xmlFree (buffer); xmlFreeDoc (content); } if (!xmlStrcasecmp (node->name, (xmlChar *)"id")) entry->id = (gchar *)xmlNodeListGetString (doc, node->xmlChildrenNode, 1); if (!xmlStrcasecmp (node->name, (xmlChar *)"issued")) entry->issued = (gchar *)xmlNodeListGetString (doc, node->xmlChildrenNode, 1); if (!xmlStrcasecmp (node->name, (xmlChar *)"link")) { gchar *rel = (gchar *)xmlGetProp (node, (xmlChar *)"rel"); if (!xmlStrcasecmp ((xmlChar *)rel, (xmlChar *)"service.edit")) entry->link = (gchar *)xmlGetProp (node, (xmlChar *)"href"); g_free (rel); } if (!xmlStrcasecmp (node->name, (xmlChar *)"title")) entry->title = (gchar *)xmlNodeListGetString (doc, node->xmlChildrenNode, 1); node = node->next; } return entry; } drivel-3.0.5/src/blog_atom.c0000644000175000017500000003132211552103110012611 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2005 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ #include #include #include #include #include "atom.h" #include "journal.h" #include "network.h" #include "blog_atom.h" typedef struct _AtomLink AtomLink; typedef enum { ATOM_LINK_POST, ATOM_LINK_FEED } AtomLinkType; struct _AtomLink { gchar *uri; gchar *title; AtomLinkType type; }; #define CLIENT_LOGIN_URI "https://www.google.com/accounts/ClientLogin" extern DrivelClient *dc; extern gboolean verbose; gchar *auth_token = NULL; static void parse_clientlogin_request (SoupMessage *msg, SoupMessage *target_msg) { gchar **lines; gint i; g_return_if_fail (msg); g_return_if_fail (target_msg); debug ("atom parse_clientlogin_request()"); /* Clear the old auth token */ if (auth_token) { g_free (auth_token); auth_token = NULL; } lines = g_strsplit (msg->response_body->data, "\n", -1); for (i = 0; lines[i]; i++) { if (!strncmp (lines[i], "Auth=", strlen ("Auth="))) { auth_token = g_strdup_printf ("GoogleLogin auth=%s", lines[i] + strlen ("Auth=")); } } if (auth_token) { soup_message_headers_replace (target_msg->request_headers, "Authorization", auth_token); net_enqueue_msg (target_msg); } else g_warning ("Failed to get Google authentication token"); g_strfreev (lines); return; } static void send_clientlogin_request (const gchar *username, const gchar *password, SoupMessage *target_msg) { SoupMessage *msg; msg = soup_form_request_new (SOUP_METHOD_POST, CLIENT_LOGIN_URI, "accountType", "HOSTED_OR_GOOGLE", "Email", username, "Passwd", password, "service", "blogger", "source", "GNOME-Drivel-" VERSION, NULL); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_clientlogin_request), target_msg); net_enqueue_msg (msg); } /* Return a list of AtomEntries */ static GSList* retrieve_atom_entries (const gchar *xml) { xmlDocPtr doc; xmlNodePtr node; GSList *entries = NULL; /* Parse the XML into a tree */ doc = xmlReadMemory (xml, strlen (xml), NULL, NULL, XML_PARSE_NOERROR | XML_PARSE_NOBLANKS); if (!doc) return NULL; node = xmlDocGetRootElement (doc); if (!node || xmlStrcasecmp (node->name, (xmlChar *)"feed")) { g_warning ("retrieve_atom_entries: XML is not a "); xmlFreeDoc (doc); return NULL; } /* Drop inside the element and look for elements */ node = node->xmlChildrenNode; while (node) { if (!xmlStrcasecmp (node->name, (xmlChar *)"entry")) { AtomEntry *entry; entry = atom_entry_parse (doc, node->xmlChildrenNode); if (entry) entries = g_slist_prepend (entries, entry); } node = node->next; } /* Reverse the list so that it is sorted newest->oldest */ entries = g_slist_reverse (entries); return entries; } /* Return a list of AtomLinks */ static GSList* retrieve_atom_links (xmlNodePtr node) { GSList *links = NULL; /* Drop inside the element */ node = node->xmlChildrenNode; while (node) { /* Search out the elements */ if (!xmlStrcmp (node->name, (xmlChar *)"entry")) { gchar *title = NULL, *feed_uri = NULL, *post_uri = NULL; xmlNodePtr entry = node->xmlChildrenNode; while (entry) { /* Find the title and appropriate links */ if (!xmlStrcmp (entry->name, (xmlChar *)"title")) { title = (gchar*)xmlNodeGetContent (entry); } else if (!xmlStrcmp (entry->name, (xmlChar *)"link")) { gchar *type; type = (gchar *)xmlGetProp (entry, (xmlChar *)"type"); if (type && !xmlStrcmp ((xmlChar *)type, (xmlChar *)"application/atom+xml")) { gchar *rel, *uri; uri = (gchar *)xmlGetProp (entry, (xmlChar *)"href"); rel = (gchar *)xmlGetProp (entry, (xmlChar *)"rel"); if (uri && rel) { gchar *needle; /* Check for links that end in 'post' or 'feed' */ if ((needle = g_strrstr (rel, "post")) && ((gulong)needle == (gulong)rel + (strlen (rel) - 4))) { post_uri = g_strdup (uri); } else if ((needle = g_strrstr (rel, "feed")) && ((gulong)needle == (gulong)rel + (strlen (rel) - 4))) { feed_uri = g_strdup (uri); } } g_free (uri); g_free (rel); } g_free (type); } entry = entry->next; } if (title && feed_uri && post_uri) { AtomLink *link; link = g_new0 (AtomLink, 1); link->type = ATOM_LINK_FEED; link->title = g_strdup (title); link->uri = g_strdup (feed_uri); links = g_slist_prepend (links, link); link = g_new0 (AtomLink, 1); link->type = ATOM_LINK_POST; link->title = g_strdup (title); link->uri = g_strdup (post_uri); links = g_slist_prepend (links, link); } g_free (title); g_free (feed_uri); g_free (post_uri); } node = node->next; } return links; } /* Parse the XML journal list and return a list of AtomLinks */ static GSList* parse_xml_journal_list (const gchar *xml) { xmlDocPtr doc; xmlNodePtr node; GSList *links = NULL; g_return_val_if_fail (xml, NULL); /* Parse the XML into a tree */ doc = xmlReadMemory (xml, strlen (xml), NULL, NULL, XML_PARSE_NOERROR); if (!doc) return NULL; node = xmlDocGetRootElement (doc); if (!node || xmlStrcasecmp (node->name, (xmlChar *)"feed")) { xmlChar *body; gint len; g_warning ("parse_xml_journal_list: XML is not a "); if (verbose) { xmlDocDumpMemory (doc, &body, &len); g_message ("%s", body); } xmlFreeDoc (doc); return NULL; } /* Build a list of Atom links */ links = retrieve_atom_links (node); xmlFreeDoc (doc); return links; } /* Parse the response for the tag holding the Atom interface URL */ static void parse_login_request (SoupMessage *msg, gpointer data) { GSList *links, *current; debug ("atom parse_login_request"); if (msg->response_body->length) { links = parse_xml_journal_list (msg->response_body->data); if (!links) { display_error_dialog (dc, _("Server error"), _("The server did not return a valid Atom response.")); return; } dc->journals = 0; for (current = links; current; current = current->next) { GSList *journal; AtomLink *link; DrivelJournal *dj; gboolean exists = FALSE; link = current->data; for (journal = dc->journal_list; journal && !exists; journal = journal->next) { dj = journal->data; if (!strcmp (dj->name, link->title)) { switch (link->type) { case ATOM_LINK_POST: dj->uri_post = g_strdup (link->uri); break; case ATOM_LINK_FEED: dj->uri_feed = g_strdup (link->uri); break; } exists = TRUE; } } if (!exists) { dj = drivel_journal_new (); dj->name = link->title; dj->uri_post = link->uri; dj->type = JOURNAL_TYPE_USER; dc->journal_list = g_slist_prepend (dc->journal_list, dj); dc->journals++; } else { g_free (link->title); g_free (link->uri); g_free (link); } } for (current = dc->journal_list; current; current = current->next) { DrivelJournal *dj = current->data; /* get the recent entries for this journal */ blog_atom_build_getevents_request (dc->user->username, dc->user->password, dj->uri_feed, FALSE); } add_account_to_list (dc); gtk_widget_hide (dc->login_window); journal_window_build (dc); } else { g_print ("warning: no response body\n"); } return; } /* Send a GET request to the blog's index page */ void blog_atom_build_login_request (const gchar *username, const gchar *password, const gchar *uri) { SoupMessage *msg; g_return_if_fail (username); g_return_if_fail (password); g_return_if_fail (uri); debug ("blog_atom_build_login_request()"); msg = soup_message_new (SOUP_METHOD_GET, uri); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_login_request), NULL); send_clientlogin_request (dc->user->username, dc->user->password, msg); } static void parse_post_request (SoupMessage *msg, gpointer data) { g_return_if_fail (msg); debug ("atom parse_post_request()"); if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) { const gchar *body; if (msg->response_body->length) { body = msg->response_body->data; } else { body = _("Unknown error"); } display_error_dialog (dc, _("Error Posting Entry"), body); } else { journal_finished_post (dc); } return; } /* Build a request with all of the post entry information */ /* Pass link=NULL for a new post or link='entry_uri' to update an existing * post. */ void blog_atom_build_post_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *subject, const gchar *content, const gchar *link) { SoupMessage *msg; AtomEntry *entry; gchar *packet; g_return_if_fail (username); g_return_if_fail (password); g_return_if_fail (uri); update_status_msg (REQUEST_TYPE_POSTEVENT); entry = atom_entry_new (); if (subject) entry->title = g_strdup (subject); else entry->title = g_strdup (""); if (content) entry->content = g_strdup (content); else entry->content = g_strdup (""); entry->issued = get_w3dtf_timestamp (); if (link) { msg = soup_message_new (SOUP_METHOD_PUT, link); } else { msg = soup_message_new (SOUP_METHOD_POST, uri); } packet = atom_build_packet (entry); soup_message_set_request (msg, "application/atom+xml", SOUP_MEMORY_TAKE, packet, strlen (packet)); soup_message_headers_replace (msg->request_headers, "Authorization", auth_token); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_post_request), NULL); net_enqueue_msg (msg); } void blog_atom_build_delete_request (const gchar *username, const gchar *password, const gchar *uri) { SoupMessage *msg; g_return_if_fail (uri); debug ("blog_atom_build_delete_request()\n"); update_status_msg (REQUEST_TYPE_DELETEEVENT); msg = soup_message_new (SOUP_METHOD_DELETE, uri); soup_message_headers_replace (msg->request_headers, "Authorization", auth_token); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_post_request), NULL); net_enqueue_msg (msg); } static void parse_getevents_request (SoupMessage *msg, gpointer data) { GSList *entries, *current; g_return_if_fail (msg); debug ("atom parse_getevents_request"); entries = retrieve_atom_entries (msg->response_body->data); if (entries) { if (g_object_get_data (G_OBJECT (msg), "last_entry")) { AtomEntry *entry = entries->data; journal_edit_entry (dc, entry->id, entry->content, NULL, NULL, entry->title, NULL, NULL, NULL, NULL, NULL, NULL, entry->link, NULL); } else { gchar *feed_uri; feed_uri = soup_uri_to_string (soup_message_get_uri (msg), FALSE); for (current = entries; current; current = current->next) { DrivelJournalEntry *jentry = journal_entry_new (); AtomEntry *aentry = current->data; jentry->content = g_strdup (aentry->content); jentry->subject = g_strdup (aentry->title); jentry->userid = g_strdup (feed_uri); jentry->postid = g_strdup (aentry->id); jentry->link = g_strdup (aentry->link); g_ptr_array_add (dc->recent_entries, jentry); } journal_refresh_recent_entries (dc); g_free (feed_uri); } } return; } void blog_atom_build_getevents_request (const gchar *username, const gchar *password, const gchar *uri, gboolean last_entry) { SoupMessage *msg; debug ("blog_atom_build_getevents_request_request()\n"); g_return_if_fail (uri); update_status_msg (REQUEST_TYPE_GETEVENTS); msg = soup_message_new (SOUP_METHOD_GET, uri); soup_message_headers_replace (msg->request_headers, "Authorization", auth_token); if (last_entry) { g_object_set_data_full (G_OBJECT (msg), "last_entry", g_strdup ("true"), g_free); } g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_getevents_request), NULL); net_enqueue_msg (msg); } drivel-3.0.5/src/insert_poll_dialog.c0000644000175000017500000006507011552103110014526 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002-2004 Todd Kulesza, Davyd Madeley * Copyright 2009 Neil Williams * * Authors: * Davyd Madeley * Neil Williams */ #include #include #include #include "drivel.h" #include "insert_poll_dialog.h" #include "journal.h" enum { POLL_TYPE_COMBO, POLL_TYPE_RADIO, POLL_TYPE_CHECK, POLL_TYPE_ENTRY, POLL_TYPE_SCALE, POLL_TYPE_NONE, POLL_TYPE_ANSWER }; typedef struct { DrivelClient *dc; GtkTreeStore *poll_store; GtkWidget *dialog; GtkWidget *poll_name; GtkWidget *poll_voters; GtkWidget *poll_results; GtkWidget *poll_structure; GtkWidget *options_main; GtkWidget *options_textentry; GtkWidget *options_scale; GtkWidget *options_answer; GtkWidget *options_main_question; GtkWidget *options_main_type; GtkWidget *options_textentry_fieldsize; GtkWidget *options_textentry_maxlength; GtkWidget *options_scale_from; GtkWidget *options_scale_to; GtkWidget *options_scale_by; GtkWidget *options_answer_text; GtkWidget *add_question_button; GtkWidget *add_answer_button; GtkWidget *delete_item_button; GtkWidget *help_button; GtkWidget *cancel_button; GtkWidget *insert_button; GtkWidget *up_button; GtkWidget *down_button; } DrivelPoll; static void set_dialog_mode (DrivelPoll *dp, gint mode); static void set_dialog_updown (DrivelPoll *dp, GtkTreeIter iter); static GdkPixbuf *get_type_pixbuf (gint type); static void move_up_cb (GtkWidget *button, gpointer user_data); static void move_down_cb (GtkWidget *button, gpointer user_data); static void add_question_cb (GtkWidget *button, gpointer user_data); static void add_answer_cb (GtkWidget *button, gpointer user_data); static void delete_item_cb (GtkWidget *button, gpointer user_data); static void cancel_cb (GtkWidget *button, gpointer user_data); static void destroy_cb (GtkWidget *widget, gpointer user_data); static void insert_cb (GtkWidget *button, gpointer user_data); static void selection_changed_cb (GtkTreeSelection *tree_selection, gpointer user_data); static void options_main_type_cb (GtkWidget *type, gpointer user_data); static void options_textentry_cb (GtkEditable *question, gpointer user_data); static void options_textentry_changed_cb (GtkEditable *entry, gpointer user_data); static void options_scale_changed_cb (GtkWidget *spinner, gpointer user_data); void display_insert_poll_dialog (DrivelClient *dc) { GtkBuilder *builder; DrivelPoll *dp; GtkListStore *voters_store, *results_store, *type_store; GtkTreeIter iter; GtkCellRenderer *renderer; dp = g_new0 (DrivelPoll, 1); dp->dc = dc; builder = load_builder_xml (NULL); if (!builder) return; /* dialog */ dp->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "poll_dialog")); gtk_window_set_transient_for (GTK_WINDOW (dp->dialog), GTK_WINDOW (dc->current_window)); drivel_push_current_window (dc, dp->dialog); /* the name of the poll */ dp->poll_name = GTK_WIDGET(gtk_builder_get_object (builder, "poll_name")); /* voters */ voters_store = gtk_list_store_new (1, G_TYPE_STRING); gtk_list_store_append (voters_store, &iter); gtk_list_store_set (voters_store, &iter, 0, _("All users"), -1); gtk_list_store_append (voters_store, &iter); gtk_list_store_set (voters_store, &iter, 0, _("Friends"), -1); dp->poll_voters = GTK_WIDGET(gtk_builder_get_object (builder, "poll_votors")); gtk_combo_box_set_model (GTK_COMBO_BOX (dp->poll_voters), GTK_TREE_MODEL (voters_store)); gtk_cell_layout_clear (GTK_CELL_LAYOUT (dp->poll_voters)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (dp->poll_voters), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (dp->poll_voters), renderer, "text", 0, NULL); gtk_combo_box_set_active (GTK_COMBO_BOX (dp->poll_voters), 0); /* results viewable */ results_store = gtk_list_store_new (1, G_TYPE_STRING); gtk_list_store_append (results_store, &iter); gtk_list_store_set (results_store, &iter, 0, _("All users"), -1); gtk_list_store_append (results_store, &iter); gtk_list_store_set (results_store, &iter, 0, _("Friends"), -1); gtk_list_store_append (results_store, &iter); gtk_list_store_set (results_store, &iter, 0, _("None"), -1); dp->poll_results = GTK_WIDGET(gtk_builder_get_object (builder, "poll_results")); gtk_combo_box_set_model (GTK_COMBO_BOX (dp->poll_results), GTK_TREE_MODEL (results_store)); gtk_cell_layout_clear (GTK_CELL_LAYOUT (dp->poll_results)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (dp->poll_results), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (dp->poll_results), renderer, "text", 0, NULL); gtk_combo_box_set_active (GTK_COMBO_BOX (dp->poll_results), 0); /* poll structure */ /* structure in the tree, enum-ed type, an image for that type, the question or answer, 3 ints */ dp->poll_store = gtk_tree_store_new (6, G_TYPE_INT, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); dp->poll_structure = GTK_WIDGET(gtk_builder_get_object (builder, "poll_structure")); gtk_tree_view_set_model (GTK_TREE_VIEW (dp->poll_structure), GTK_TREE_MODEL (dp->poll_store)); renderer = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (dp->poll_structure), -1, _("Type"), renderer, "pixbuf", 1, NULL); renderer = gtk_cell_renderer_text_new (); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (dp->poll_structure), -1, _("Text"), renderer, "text", 2, NULL); gtk_tree_view_set_expander_column (GTK_TREE_VIEW (dp->poll_structure), gtk_tree_view_get_column (GTK_TREE_VIEW (dp->poll_structure), 1)); /* options tables & boxes*/ dp->options_main = GTK_WIDGET(gtk_builder_get_object (builder, "poll_question_options_main_table")); dp->options_textentry = GTK_WIDGET(gtk_builder_get_object (builder, "poll_question_options_textentry_table")); dp->options_scale = GTK_WIDGET(gtk_builder_get_object (builder, "poll_question_options_scale_box")); dp->options_answer = GTK_WIDGET(gtk_builder_get_object (builder, "poll_question_options_answer_table")); /* stuff from the options table */ dp->options_main_question = GTK_WIDGET(gtk_builder_get_object (builder, "poll_question_options_question")); dp->options_main_type = GTK_WIDGET(gtk_builder_get_object (builder, "poll_question_options_type")); dp->options_textentry_fieldsize = GTK_WIDGET(gtk_builder_get_object (builder, "poll_questions_options_textfieldsize")); dp->options_textentry_maxlength = GTK_WIDGET(gtk_builder_get_object (builder, "poll_questions_options_maxtextlength")); dp->options_scale_from = GTK_WIDGET(gtk_builder_get_object (builder, "poll_questions_options_scale_from")); dp->options_scale_to = GTK_WIDGET(gtk_builder_get_object (builder, "poll_questions_options_scale_to")); dp->options_scale_by = GTK_WIDGET(gtk_builder_get_object (builder, "poll_questions_options_scale_by")); dp->options_answer_text = GTK_WIDGET(gtk_builder_get_object (builder, "poll_question_options_answer")); /* fleshing out the type list */ type_store = gtk_list_store_new (2, GDK_TYPE_PIXBUF, G_TYPE_STRING); gtk_list_store_append (type_store, &iter); gtk_list_store_set (type_store, &iter, 0, get_type_pixbuf (POLL_TYPE_COMBO), 1, _("Dropdown selection"), -1); gtk_list_store_append (type_store, &iter); gtk_list_store_set (type_store, &iter, 0, get_type_pixbuf (POLL_TYPE_RADIO), 1, _("Radio selection"), -1); gtk_list_store_append (type_store, &iter); gtk_list_store_set (type_store, &iter, 0, get_type_pixbuf (POLL_TYPE_CHECK), 1, _("Checkbox selection"), -1); gtk_list_store_append (type_store, &iter); gtk_list_store_set (type_store, &iter, 0, get_type_pixbuf (POLL_TYPE_ENTRY), 1, _("Text entry"), -1); gtk_list_store_append (type_store, &iter); gtk_list_store_set (type_store, &iter, 0, get_type_pixbuf (POLL_TYPE_SCALE), 1, _("Scale"), -1); gtk_combo_box_set_model (GTK_COMBO_BOX (dp->options_main_type), GTK_TREE_MODEL (type_store)); gtk_cell_layout_clear (GTK_CELL_LAYOUT (dp->options_main_type)); renderer = gtk_cell_renderer_pixbuf_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (dp->options_main_type), renderer, FALSE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (dp->options_main_type), renderer, "pixbuf", 0, NULL); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (dp->options_main_type), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (dp->options_main_type), renderer, "text", 1, NULL); gtk_combo_box_set_active (GTK_COMBO_BOX (dp->options_main_type), POLL_TYPE_COMBO); /* buttons */ dp->add_question_button = GTK_WIDGET(gtk_builder_get_object (builder, "poll_add_question_button")); gtk_button_set_use_stock (GTK_BUTTON (dp->add_question_button), TRUE); dp->add_answer_button = GTK_WIDGET(gtk_builder_get_object (builder, "poll_add_answer_button")); gtk_button_set_use_stock (GTK_BUTTON (dp->add_answer_button), TRUE); dp->delete_item_button = GTK_WIDGET(gtk_builder_get_object (builder, "poll_delete_item_button")); dp->help_button = GTK_WIDGET(gtk_builder_get_object (builder, "poll_help_button")); dp->cancel_button = GTK_WIDGET(gtk_builder_get_object (builder, "poll_cancel_button")); dp->insert_button = GTK_WIDGET(gtk_builder_get_object (builder, "poll_insert_button")); gtk_button_set_use_stock (GTK_BUTTON (dp->insert_button), TRUE); dp->up_button = GTK_WIDGET(gtk_builder_get_object (builder, "poll_up_button")); dp->down_button = GTK_WIDGET(gtk_builder_get_object (builder, "poll_down_button")); g_signal_connect (G_OBJECT (dp->add_question_button), "clicked", G_CALLBACK (add_question_cb), dp); g_signal_connect (G_OBJECT (dp->add_answer_button), "clicked", G_CALLBACK (add_answer_cb), dp); g_signal_connect (G_OBJECT (dp->delete_item_button), "clicked", G_CALLBACK (delete_item_cb), dp); g_signal_connect (G_OBJECT (dp->cancel_button), "clicked", G_CALLBACK (cancel_cb), dp); g_signal_connect (G_OBJECT (dp->insert_button), "clicked", G_CALLBACK (insert_cb), dp); g_signal_connect (G_OBJECT (dp->up_button), "clicked", G_CALLBACK (move_up_cb), dp); g_signal_connect (G_OBJECT (dp->down_button), "clicked", G_CALLBACK (move_down_cb), dp); g_signal_connect (G_OBJECT (dp->dialog), "destroy", G_CALLBACK (destroy_cb), dp); g_signal_connect (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (dp->poll_structure))), "changed", G_CALLBACK (selection_changed_cb), dp); g_signal_connect (G_OBJECT (GTK_EDITABLE (dp->options_main_question)), "changed", G_CALLBACK (options_textentry_cb), dp); g_signal_connect (G_OBJECT (dp->options_main_type), "changed", G_CALLBACK (options_main_type_cb), dp); g_signal_connect (G_OBJECT (dp->options_textentry_fieldsize), "changed", G_CALLBACK (options_textentry_changed_cb), dp); g_signal_connect (G_OBJECT (dp->options_textentry_maxlength), "changed", G_CALLBACK (options_textentry_changed_cb), dp); g_signal_connect (G_OBJECT (dp->options_scale_from), "value-changed", G_CALLBACK (options_scale_changed_cb), dp); g_signal_connect (G_OBJECT (dp->options_scale_to), "value-changed", G_CALLBACK (options_scale_changed_cb), dp); g_signal_connect (G_OBJECT (dp->options_scale_by), "value-changed", G_CALLBACK (options_scale_changed_cb), dp); g_signal_connect (G_OBJECT (GTK_EDITABLE (dp->options_answer_text)), "changed", G_CALLBACK (options_textentry_cb), dp); gtk_widget_show_all (dp->dialog); /* set the initial defaults */ set_dialog_mode (dp, POLL_TYPE_NONE); /* FIXME: no help yet */ gtk_widget_hide (dp->help_button); } static void set_dialog_mode (DrivelPoll *dp, gint mode) { switch (mode) { case POLL_TYPE_NONE: gtk_widget_show (dp->options_main); gtk_widget_set_sensitive (dp->options_main, FALSE); gtk_widget_hide (dp->options_textentry); gtk_widget_hide (dp->options_scale); gtk_widget_hide (dp->options_answer); gtk_widget_set_sensitive (dp->add_question_button, TRUE); gtk_widget_set_sensitive (dp->add_answer_button, FALSE); gtk_widget_set_sensitive (dp->delete_item_button, FALSE); gtk_widget_set_sensitive (dp->up_button, FALSE); gtk_widget_set_sensitive (dp->down_button, FALSE); break; case POLL_TYPE_COMBO: case POLL_TYPE_RADIO: case POLL_TYPE_CHECK: gtk_widget_show (dp->options_main); gtk_widget_set_sensitive (dp->options_main, TRUE); gtk_widget_hide (dp->options_textentry); gtk_widget_hide (dp->options_scale); gtk_widget_hide (dp->options_answer); gtk_widget_set_sensitive (dp->add_question_button, TRUE); gtk_widget_set_sensitive (dp->add_answer_button, TRUE); gtk_widget_set_sensitive (dp->delete_item_button, TRUE); break; case POLL_TYPE_ANSWER: gtk_widget_hide (dp->options_main); gtk_widget_hide (dp->options_textentry); gtk_widget_hide (dp->options_scale); gtk_widget_show (dp->options_answer); gtk_widget_set_sensitive (dp->add_question_button, TRUE); gtk_widget_set_sensitive (dp->add_answer_button, TRUE); gtk_widget_set_sensitive (dp->delete_item_button, TRUE); break; case POLL_TYPE_ENTRY: gtk_widget_show (dp->options_main); gtk_widget_set_sensitive (dp->options_main, TRUE); gtk_widget_show (dp->options_textentry); gtk_widget_hide (dp->options_scale); gtk_widget_hide (dp->options_answer); gtk_widget_set_sensitive (dp->add_question_button, TRUE); gtk_widget_set_sensitive (dp->add_answer_button, FALSE); gtk_widget_set_sensitive (dp->delete_item_button, FALSE); break; case POLL_TYPE_SCALE: gtk_widget_show (dp->options_main); gtk_widget_set_sensitive (dp->options_main, TRUE); gtk_widget_hide (dp->options_textentry); gtk_widget_show (dp->options_scale); gtk_widget_hide (dp->options_answer); gtk_widget_set_sensitive (dp->add_question_button, TRUE); gtk_widget_set_sensitive (dp->add_answer_button, FALSE); gtk_widget_set_sensitive (dp->delete_item_button, FALSE); break; } } static void set_dialog_updown (DrivelPoll *dp, GtkTreeIter iter) { GtkTreePath *path; path = gtk_tree_model_get_path (GTK_TREE_MODEL (dp->poll_store), &iter); gtk_widget_set_sensitive (dp->up_button, gtk_tree_path_prev (path)); gtk_tree_path_free (path); gtk_widget_set_sensitive (dp->down_button, gtk_tree_model_iter_next (GTK_TREE_MODEL (dp->poll_store), &iter)); } static GdkPixbuf *get_type_pixbuf (gint type) { GdkPixbuf *pixbuf; gchar *pixmapfile; switch (type) { case POLL_TYPE_COMBO: pixmapfile = g_strdup (DATADIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S GLADE G_DIR_SEPARATOR_S "combobox.xpm"); break; case POLL_TYPE_RADIO: pixmapfile = g_strdup (DATADIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S GLADE G_DIR_SEPARATOR_S "radiobutton.xpm"); break; case POLL_TYPE_CHECK: pixmapfile = g_strdup (DATADIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S GLADE G_DIR_SEPARATOR_S "checkbutton.xpm"); break; case POLL_TYPE_ENTRY: pixmapfile = g_strdup (DATADIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S GLADE G_DIR_SEPARATOR_S "entry.xpm"); break; case POLL_TYPE_SCALE: pixmapfile = g_strdup (DATADIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S GLADE G_DIR_SEPARATOR_S "hscale.xpm"); break; case POLL_TYPE_NONE: case POLL_TYPE_ANSWER: default: pixmapfile = NULL; break; } if (pixmapfile) pixbuf = gdk_pixbuf_new_from_file (pixmapfile, NULL); else pixbuf = NULL; g_free (pixmapfile); return pixbuf; } static void move_down_cb (GtkWidget *button, gpointer user_data) { GtkTreeIter iter, nextiter; GtkTreeSelection *selection; DrivelPoll *dp = (DrivelPoll *) user_data; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dp->poll_structure)); if (gtk_tree_selection_get_selected (selection, NULL, &iter)) { nextiter = iter; if (gtk_tree_model_iter_next (GTK_TREE_MODEL (dp->poll_store), &nextiter)) { gtk_tree_store_move_after (dp->poll_store, &iter, &nextiter); gtk_tree_selection_select_iter (selection, &iter); } } selection_changed_cb (selection, dp); } static void move_up_cb (GtkWidget *button, gpointer user_data) { GtkTreeIter iter, previter; GtkTreePath *path; GtkTreeSelection *selection; DrivelPoll *dp = (DrivelPoll *) user_data; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dp->poll_structure)); if (gtk_tree_selection_get_selected (selection, NULL, &iter)) { path = gtk_tree_model_get_path (GTK_TREE_MODEL (dp->poll_store), &iter); if (gtk_tree_path_prev (path) && gtk_tree_model_get_iter (GTK_TREE_MODEL (dp->poll_store), &previter, path)) { gtk_tree_store_move_before (dp->poll_store, &iter, &previter); gtk_tree_selection_select_iter (selection, &iter); } gtk_tree_path_free (path); } selection_changed_cb (selection, dp); } static void add_question_cb (GtkWidget *button, gpointer user_data) { GtkTreeIter iter; DrivelPoll *dp = (DrivelPoll *) user_data; gtk_tree_store_insert (dp->poll_store, &iter, NULL, -1); gtk_tree_store_set (dp->poll_store, &iter, 0, POLL_TYPE_COMBO, 1, get_type_pixbuf (POLL_TYPE_COMBO), 2, "Question Text", -1); gtk_tree_view_expand_all (GTK_TREE_VIEW (dp->poll_structure)); gtk_tree_selection_select_iter (gtk_tree_view_get_selection (GTK_TREE_VIEW (dp->poll_structure)), &iter); gtk_widget_grab_focus (dp->options_main_question); } static void add_answer_cb (GtkWidget *button, gpointer user_data) { GtkTreeIter parent, parentparent, iter; DrivelPoll *dp = (DrivelPoll *) user_data; gint type; if (gtk_tree_selection_get_selected (gtk_tree_view_get_selection (GTK_TREE_VIEW (dp->poll_structure)), NULL, &parent)) { gtk_tree_model_get (GTK_TREE_MODEL (dp->poll_store), &parent, 0, &type, -1); if (type == POLL_TYPE_ANSWER) { /* this is an answer, we need the parent of this iter */ if (gtk_tree_model_iter_parent (GTK_TREE_MODEL (dp->poll_store), &parentparent, &parent)) { parent = parentparent; } } gtk_tree_store_insert (dp->poll_store, &iter, &parent, -1); gtk_tree_store_set (dp->poll_store, &iter, 0, POLL_TYPE_ANSWER, 1, get_type_pixbuf (POLL_TYPE_ANSWER), 2, "Question Answer", -1); } gtk_tree_view_expand_all (GTK_TREE_VIEW (dp->poll_structure)); gtk_tree_selection_select_iter (gtk_tree_view_get_selection (GTK_TREE_VIEW (dp->poll_structure)), &iter); gtk_widget_grab_focus (dp->options_answer_text); } static void delete_item_cb (GtkWidget *button, gpointer user_data) { GtkTreeIter iter; GtkTreeSelection *selection; DrivelPoll *dp = (DrivelPoll *) user_data; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dp->poll_structure)); if (gtk_tree_selection_get_selected (selection, NULL, &iter)) { if (gtk_tree_store_remove (dp->poll_store, &iter)) gtk_tree_selection_select_iter (selection, &iter); } selection_changed_cb (selection, dp); } static void cancel_cb (GtkWidget *button, gpointer user_data) { DrivelPoll *dp = (DrivelPoll *) user_data; gtk_widget_destroy (dp->dialog); } static void destroy_cb (GtkWidget *widget, gpointer user_data) { DrivelPoll *dp = (DrivelPoll *) user_data; drivel_pop_current_window (dp->dc); g_free (dp); } static void insert_cb (GtkWidget *button, gpointer user_data) { GtkTreeIter iter, parent; gint type, value1, value2, value3; gchar *text, *who, *whoview; GString *poll_text = NULL; DrivelPoll *dp = (DrivelPoll *) user_data; poll_text = g_string_new (""); switch (gtk_combo_box_get_active (GTK_COMBO_BOX (dp->poll_voters))) { case 0: who = g_strdup ("all"); break; case 1: who = g_strdup ("friends"); break; default: who = g_strdup (""); } switch (gtk_combo_box_get_active (GTK_COMBO_BOX (dp->poll_results))) { case 0: whoview = g_strdup ("all"); break; case 1: whoview = g_strdup ("friends"); break; case 2: whoview = g_strdup ("none"); break; default: whoview = g_strdup (""); } g_string_append_printf (poll_text, "\n", gtk_entry_get_text (GTK_ENTRY (dp->poll_name)), who, whoview); g_free (who); g_free (whoview); while (gtk_tree_model_iter_children (GTK_TREE_MODEL (dp->poll_store), &parent, NULL)) { gtk_tree_model_get (GTK_TREE_MODEL (dp->poll_store), &parent, 0, &type, 2, &text, 3, &value1, 4, &value2, 5, &value3, -1); g_string_append (poll_text, ""); break; case POLL_TYPE_RADIO: g_string_append (poll_text, "radio\">"); break; case POLL_TYPE_CHECK: g_string_append (poll_text, "check\">"); break; case POLL_TYPE_ENTRY: g_string_append_printf (poll_text, "text\" size=\"%i\" maxlength=\"%i\">", value1, value2); break; case POLL_TYPE_SCALE: g_string_append_printf (poll_text, "scale\" from=\"%i\" to=\"%i\" by=\"%i\">", value1, value2, value3); break; } g_string_append_printf (poll_text, "%s\n", text); if (type == POLL_TYPE_COMBO || type == POLL_TYPE_RADIO || type == POLL_TYPE_CHECK) while (gtk_tree_model_iter_children (GTK_TREE_MODEL (dp->poll_store), &iter, &parent)) { gtk_tree_model_get (GTK_TREE_MODEL (dp->poll_store), &iter, 0, &type, 2, &text, -1); if (type == POLL_TYPE_ANSWER) { g_string_append_printf (poll_text, "%s\n", text); } gtk_tree_store_remove (dp->poll_store, &iter); } g_string_append (poll_text, "\n"); gtk_tree_store_remove (dp->poll_store, &parent); } g_string_append (poll_text, "\n"); gtk_text_buffer_delete_selection (dp->dc->buffer, FALSE, FALSE); gtk_text_buffer_insert_at_cursor (dp->dc->buffer, poll_text->str, poll_text->len); g_string_free (poll_text, TRUE); gtk_widget_destroy (dp->dialog); } static void selection_changed_cb (GtkTreeSelection *tree_selection, gpointer user_data) { GtkTreeIter iter; DrivelPoll *dp = (DrivelPoll *) user_data; gint type, value1, value2, value3; gchar *text; if (gtk_tree_selection_get_selected (tree_selection, NULL, &iter)) { gtk_tree_model_get (GTK_TREE_MODEL (dp->poll_store), &iter, 0, &type, 2, &text, 3, &value1, 4, &value2, 5, &value3, -1); set_dialog_mode (dp, type); set_dialog_updown (dp, iter); switch (type) { case POLL_TYPE_COMBO: case POLL_TYPE_RADIO: case POLL_TYPE_CHECK: gtk_entry_set_text (GTK_ENTRY (dp->options_main_question), text); gtk_combo_box_set_active (GTK_COMBO_BOX (dp->options_main_type), type); break; case POLL_TYPE_ANSWER: gtk_entry_set_text (GTK_ENTRY (dp->options_answer_text), text); break; case POLL_TYPE_ENTRY: gtk_entry_set_text (GTK_ENTRY (dp->options_main_question), text); if (value1) gtk_entry_set_text (GTK_ENTRY (dp->options_textentry_fieldsize), g_strdup_printf ("%i", value1)); else gtk_entry_set_text (GTK_ENTRY (dp->options_textentry_fieldsize), g_strdup("")); if (value2) gtk_entry_set_text (GTK_ENTRY (dp->options_textentry_maxlength), g_strdup_printf ("%i", value2)); else gtk_entry_set_text (GTK_ENTRY (dp->options_textentry_maxlength), g_strdup("")); gtk_combo_box_set_active (GTK_COMBO_BOX (dp->options_main_type), type); break; case POLL_TYPE_SCALE: gtk_entry_set_text (GTK_ENTRY (dp->options_main_question), text); if (!value1) value1 = 1; if (!value2) value2 = 20; if (!value3) value3 = 1; gtk_spin_button_set_value (GTK_SPIN_BUTTON (dp->options_scale_from), value1); gtk_spin_button_set_value (GTK_SPIN_BUTTON (dp->options_scale_to), value2); gtk_spin_button_set_value (GTK_SPIN_BUTTON (dp->options_scale_by), value3); gtk_combo_box_set_active (GTK_COMBO_BOX (dp->options_main_type), type); break; } } else { set_dialog_mode (dp, POLL_TYPE_NONE); } } static void options_main_type_cb (GtkWidget *type, gpointer user_data) { GtkTreeIter iter, parent; GtkTreeSelection *tree_selection; gint question_type; DrivelPoll *dp = (DrivelPoll *) user_data; tree_selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dp->poll_structure)); question_type = gtk_combo_box_get_active (GTK_COMBO_BOX (type)); if (gtk_tree_selection_get_selected (tree_selection, NULL, &iter)) { gtk_tree_store_set (dp->poll_store, &iter, 0, question_type, 1, get_type_pixbuf (question_type), -1); } parent = iter; if (question_type == POLL_TYPE_ENTRY || question_type == POLL_TYPE_SCALE) { while (gtk_tree_model_iter_children (GTK_TREE_MODEL (dp->poll_store), &iter, &parent)) { gtk_tree_store_remove (dp->poll_store, &iter); } } selection_changed_cb (tree_selection, user_data); } static void options_textentry_cb (GtkEditable *question, gpointer user_data) { GtkTreeIter iter; DrivelPoll *dp = (DrivelPoll *) user_data; if (gtk_tree_selection_get_selected (gtk_tree_view_get_selection (GTK_TREE_VIEW (dp->poll_structure)), NULL, &iter)) { gtk_tree_store_set (dp->poll_store, &iter, 2, gtk_entry_get_text (GTK_ENTRY (question)), -1); } } static void options_textentry_changed_cb (GtkEditable *entry, gpointer user_data) { GtkTreeIter iter; gint value1, value2; DrivelPoll *dp = (DrivelPoll *) user_data; value1 = g_strtod (gtk_entry_get_text (GTK_ENTRY (dp->options_textentry_fieldsize)), NULL); value2 = g_strtod (gtk_entry_get_text (GTK_ENTRY (dp->options_textentry_maxlength)), NULL); if (gtk_tree_selection_get_selected (gtk_tree_view_get_selection (GTK_TREE_VIEW (dp->poll_structure)), NULL, &iter)) { gtk_tree_store_set (dp->poll_store, &iter, 3, value1, 4, value2, -1); } if (value1) gtk_entry_set_text (GTK_ENTRY (dp->options_textentry_fieldsize), g_strdup_printf("%i", value1)); if (value2) gtk_entry_set_text (GTK_ENTRY (dp->options_textentry_maxlength), g_strdup_printf("%i", value2)); } static void options_scale_changed_cb (GtkWidget *spinner, gpointer user_data) { GtkTreeIter iter; DrivelPoll *dp = (DrivelPoll *) user_data; if (gtk_tree_selection_get_selected (gtk_tree_view_get_selection (GTK_TREE_VIEW (dp->poll_structure)), NULL, &iter)) { gtk_tree_store_set (dp->poll_store, &iter, 3, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (dp->options_scale_from)), 4, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (dp->options_scale_to)), 5, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (dp->options_scale_by)), -1); } } drivel-3.0.5/src/soup-xmlrpc-message.c0000644000175000017500000002434511552103110014570 00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * soup-xmlrpc-message.c: XMLRPC request message * * Copyright (C) 2003, Novell, Inc. * Copyright (C) 2004, Mariano Suarez-Alvarez * Copyright (C) 2004, Fernando Herrera * Copyright (C) 2005, Jeff Bailey */ #ifdef HAVE_CONFIG_H #include #endif #include #include #include "soup-xmlrpc-message.h" G_DEFINE_TYPE (SoupXmlrpcMessage, soup_xmlrpc_message, SOUP_TYPE_MESSAGE) typedef struct { xmlDocPtr doc; xmlNodePtr last_node; } SoupXmlrpcMessagePrivate; #define SOUP_XMLRPC_MESSAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_XMLRPC_MESSAGE, SoupXmlrpcMessagePrivate)) static void soup_xmlrpc_message_end_element (SoupXmlrpcMessage *msg); static void finalize (GObject *object) { SoupXmlrpcMessagePrivate *priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (object); if (priv->doc) xmlFreeDoc (priv->doc); G_OBJECT_CLASS (soup_xmlrpc_message_parent_class)->finalize (object); } static void soup_xmlrpc_message_class_init (SoupXmlrpcMessageClass *soup_xmlrpc_message_class) { GObjectClass *object_class = G_OBJECT_CLASS (soup_xmlrpc_message_class); g_type_class_add_private (soup_xmlrpc_message_class, sizeof (SoupXmlrpcMessagePrivate)); object_class->finalize = finalize; } static void soup_xmlrpc_message_init (SoupXmlrpcMessage *msg) { SoupXmlrpcMessagePrivate *priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (msg); priv->doc = xmlNewDoc ((const xmlChar *)"1.0"); priv->doc->standalone = FALSE; priv->doc->encoding = xmlCharStrdup ("UTF-8"); } SoupXmlrpcMessage * soup_xmlrpc_message_new (const char *uri_string) { SoupXmlrpcMessage *msg; SoupURI *uri; uri = soup_uri_new (uri_string); if (!uri) return NULL; msg = soup_xmlrpc_message_new_from_uri (uri); soup_uri_free (uri); return msg; } SoupXmlrpcMessage * soup_xmlrpc_message_new_from_uri (SoupURI *uri) { SoupXmlrpcMessage *msg; msg = g_object_new (SOUP_TYPE_XMLRPC_MESSAGE, NULL); SOUP_MESSAGE (msg)->method = SOUP_METHOD_POST; soup_message_set_uri (SOUP_MESSAGE (msg), uri); return msg; } void soup_xmlrpc_message_start_call (SoupXmlrpcMessage *msg, const char *method_name) { SoupXmlrpcMessagePrivate *priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (msg); xmlNodePtr root; g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); root = xmlNewDocNode (priv->doc, NULL, (const xmlChar *)"methodCall", NULL); xmlDocSetRootElement (priv->doc, root); xmlNewChild (root, NULL, (const xmlChar *)"methodName", (const xmlChar *)method_name); priv->last_node = root; priv->last_node = xmlNewChild (priv->last_node, NULL, (const xmlChar *)"params", NULL); } void soup_xmlrpc_message_end_call (SoupXmlrpcMessage *msg) { g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); soup_xmlrpc_message_end_element (msg); soup_xmlrpc_message_end_element (msg); soup_xmlrpc_message_end_element (msg); } void soup_xmlrpc_message_start_param (SoupXmlrpcMessage *msg) { SoupXmlrpcMessagePrivate *priv; g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (msg); priv->last_node = xmlNewChild (priv->last_node, NULL, (const xmlChar *)"param", NULL); } void soup_xmlrpc_message_end_param (SoupXmlrpcMessage *msg) { g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); soup_xmlrpc_message_end_element (msg); } void soup_xmlrpc_message_write_int (SoupXmlrpcMessage *msg, long i) { SoupXmlrpcMessagePrivate *priv; char *str; g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (msg); str = g_strdup_printf ("%ld", i); priv->last_node = xmlNewChild (priv->last_node, NULL, (const xmlChar *)"value", NULL); xmlNewTextChild (priv->last_node, NULL, (const xmlChar *)"i4", (xmlChar *)str); soup_xmlrpc_message_end_element (msg); g_free (str); } void soup_xmlrpc_message_write_boolean (SoupXmlrpcMessage *msg, gboolean b) { SoupXmlrpcMessagePrivate *priv; g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (msg); priv->last_node = xmlNewChild (priv->last_node, NULL, (const xmlChar *)"value", NULL); xmlNewChild (priv->last_node, NULL, (const xmlChar *)"boolean", (const xmlChar*)(b ? "1" : "0")); soup_xmlrpc_message_end_element (msg); } void soup_xmlrpc_message_write_string (SoupXmlrpcMessage *msg, const char *str) { SoupXmlrpcMessagePrivate *priv; g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (msg); priv->last_node = xmlNewChild (priv->last_node, NULL, (const xmlChar *)"value", NULL); xmlNewTextChild (priv->last_node, NULL, (const xmlChar *)"string", (const xmlChar *)str); soup_xmlrpc_message_end_element (msg); } void soup_xmlrpc_message_write_double (SoupXmlrpcMessage *msg, double d) { SoupXmlrpcMessagePrivate *priv; char *str; g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (msg); str = g_strdup_printf ("%f", d); priv->last_node = xmlNewChild (priv->last_node, NULL, (const xmlChar *)"value", NULL); xmlNewTextChild (priv->last_node, NULL, (const xmlChar *)"double", (xmlChar *)str); soup_xmlrpc_message_end_element (msg); g_free (str); } void soup_xmlrpc_message_write_datetime (SoupXmlrpcMessage *msg, const time_t timeval) { SoupXmlrpcMessagePrivate *priv; struct tm time; char str[128]; g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (msg); time = *gmtime (&timeval); strftime (str, 128, "%Y%m%dT%H:%M:%S", &time); priv->last_node = xmlNewChild (priv->last_node, NULL, (const xmlChar *)"value", NULL); xmlNewTextChild (priv->last_node, NULL, (const xmlChar *)"dateTime.iso8601", (xmlChar *)str); soup_xmlrpc_message_end_element (msg); } void soup_xmlrpc_message_write_base64 (SoupXmlrpcMessage *msg, gconstpointer buf, int len) { SoupXmlrpcMessagePrivate *priv; char *str; g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (msg); str = g_base64_encode (buf, len); priv->last_node = xmlNewChild (priv->last_node, NULL, (const xmlChar *)"value", NULL); xmlNewTextChild (priv->last_node, NULL, (const xmlChar *)"base64", (xmlChar *)str); soup_xmlrpc_message_end_element (msg); g_free (str); } void soup_xmlrpc_message_start_struct (SoupXmlrpcMessage *msg) { SoupXmlrpcMessagePrivate *priv; g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (msg); priv->last_node = xmlNewChild (priv->last_node, NULL, (const xmlChar *)"value", NULL); priv->last_node = xmlNewChild (priv->last_node, NULL, (const xmlChar *)"struct", NULL); } void soup_xmlrpc_message_end_struct (SoupXmlrpcMessage *msg) { g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); soup_xmlrpc_message_end_element (msg); soup_xmlrpc_message_end_element (msg); } void soup_xmlrpc_message_start_member (SoupXmlrpcMessage *msg, const char *name) { SoupXmlrpcMessagePrivate *priv; g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (msg); priv->last_node = xmlNewChild (priv->last_node, NULL, (const xmlChar *)"member", NULL); xmlNewChild (priv->last_node, NULL, (const xmlChar *)"name", (const xmlChar *)name); } void soup_xmlrpc_message_end_member (SoupXmlrpcMessage *msg) { g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); soup_xmlrpc_message_end_element (msg); } void soup_xmlrpc_message_start_array (SoupXmlrpcMessage *msg) { SoupXmlrpcMessagePrivate *priv; g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (msg); priv->last_node = xmlNewChild (priv->last_node, NULL, (const xmlChar *)"value", NULL); priv->last_node = xmlNewChild (priv->last_node, NULL, (const xmlChar *)"array", NULL); priv->last_node = xmlNewChild (priv->last_node, NULL, (const xmlChar *)"data", NULL); } void soup_xmlrpc_message_end_array (SoupXmlrpcMessage *msg) { g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); soup_xmlrpc_message_end_element (msg); soup_xmlrpc_message_end_element (msg); soup_xmlrpc_message_end_element (msg); } static void soup_xmlrpc_message_end_element (SoupXmlrpcMessage *msg) { SoupXmlrpcMessagePrivate *priv; g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (msg); priv->last_node = priv->last_node->parent; } xmlChar * soup_xmlrpc_message_to_string (SoupXmlrpcMessage *msg) { SoupXmlrpcMessagePrivate *priv; xmlChar *body; int len; g_return_val_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg), NULL); priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (msg); xmlDocDumpMemory (priv->doc, &body, &len); return body; } gboolean soup_xmlrpc_message_from_string (SoupXmlrpcMessage *message, const char *xmlstr) { SoupXmlrpcMessagePrivate *priv; xmlDocPtr newdoc; xmlNodePtr body; g_return_val_if_fail (SOUP_IS_XMLRPC_MESSAGE (message), FALSE); priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (message); g_return_val_if_fail (xmlstr != NULL, FALSE); newdoc = xmlParseMemory (xmlstr, strlen (xmlstr)); if (!newdoc) return FALSE; body = xmlDocGetRootElement (newdoc); if (!body || strcmp ((const char *)body->name, "methodCall")) goto bad; body = soup_xml_real_node (body->children); if (!body || strcmp ((const char *)body->name, "methodName")) goto bad; body = soup_xml_real_node (body->next); if (!body || strcmp ((const char *)body->name, "params")) goto bad; body = xmlGetLastChild (body); if (!body) goto bad; /* body should be pointing by now to the last param */ xmlFreeDoc (priv->doc); priv->doc = newdoc; priv->last_node = body; return TRUE; bad: xmlFreeDoc (newdoc); return FALSE; } void soup_xmlrpc_message_persist (SoupXmlrpcMessage *msg) { SoupXmlrpcMessagePrivate *priv; xmlChar *body; int len; g_return_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg)); priv = SOUP_XMLRPC_MESSAGE_GET_PRIVATE (msg); xmlDocDumpMemory (priv->doc, &body, &len); soup_message_set_request (SOUP_MESSAGE (msg), "text/xml", SOUP_MEMORY_COPY, (char *)body, len); xmlFree (body); } SoupXmlrpcResponse * soup_xmlrpc_message_parse_response (SoupXmlrpcMessage *msg) { g_return_val_if_fail (SOUP_IS_XMLRPC_MESSAGE (msg), NULL); return soup_xmlrpc_response_new_from_string (SOUP_MESSAGE (msg)->response_body->data); } xmlNode * soup_xml_real_node (xmlNode *node) { while (node && (node->type == XML_COMMENT_NODE || xmlIsBlankNode (node))) node = node->next; return node; } drivel-3.0.5/src/about.h0000644000175000017500000000164111552103110011766 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002 Todd Kulesza * * Authors: * Todd Kulesza */ #ifndef _ABOUT_H_ #define _ABOUT_H_ #include "drivel.h" void about_show (DrivelClient *dc); #endif drivel-3.0.5/src/soup-xmlrpc-response.h0000644000175000017500000000664211552103110015007 00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * FIXME Copyright */ #ifndef SOUP_XMLRPC_RESPONSE_H #define SOUP_XMLRPC_RESPONSE_H #include #include G_BEGIN_DECLS #define SOUP_TYPE_XMLRPC_RESPONSE (soup_xmlrpc_response_get_type ()) #define SOUP_XMLRPC_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_XMLRPC_RESPONSE, SoupXmlrpcResponse)) #define SOUP_XMLRPC_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_XMLRPC_RESPONSE, SoupXmlrpcResponseClass)) #define SOUP_IS_XMLRPC_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_XMLRPC_RESPONSE)) #define SOUP_IS_XMLRPC_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_XMLRPC_RESPONSE)) #define SOUP_XMLRPC_RESPONSE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_XMLRPC_RESPONSE, SoupXmlrpcResponseClass)) typedef struct { GObject parent; } SoupXmlrpcResponse; typedef struct { GObjectClass parent_class; } SoupXmlrpcResponseClass; GType soup_xmlrpc_response_get_type (void); SoupXmlrpcResponse *soup_xmlrpc_response_new (void); SoupXmlrpcResponse *soup_xmlrpc_response_new_from_string (const char *xmlstr); gboolean soup_xmlrpc_response_from_string (SoupXmlrpcResponse *response, const char *xmlstr); xmlChar *soup_xmlrpc_response_to_string (SoupXmlrpcResponse *response); typedef xmlNode *SoupXmlrpcValue; typedef enum { SOUP_XMLRPC_VALUE_TYPE_BAD, SOUP_XMLRPC_VALUE_TYPE_INT, SOUP_XMLRPC_VALUE_TYPE_BOOLEAN, SOUP_XMLRPC_VALUE_TYPE_STRING, SOUP_XMLRPC_VALUE_TYPE_DOUBLE, SOUP_XMLRPC_VALUE_TYPE_DATETIME, SOUP_XMLRPC_VALUE_TYPE_BASE64, SOUP_XMLRPC_VALUE_TYPE_STRUCT, SOUP_XMLRPC_VALUE_TYPE_ARRAY } SoupXmlrpcValueType; gboolean soup_xmlrpc_response_is_fault (SoupXmlrpcResponse *response); SoupXmlrpcValue *soup_xmlrpc_response_get_value (SoupXmlrpcResponse *response); SoupXmlrpcValueType soup_xmlrpc_value_get_type (SoupXmlrpcValue *value); gboolean soup_xmlrpc_value_get_int (SoupXmlrpcValue *value, long *i); gboolean soup_xmlrpc_value_get_double (SoupXmlrpcValue *value, double *b); gboolean soup_xmlrpc_value_get_boolean (SoupXmlrpcValue *value, gboolean *b); gboolean soup_xmlrpc_value_get_string (SoupXmlrpcValue *value, char **str); gboolean soup_xmlrpc_value_get_datetime (SoupXmlrpcValue *value, time_t *timeval); gboolean soup_xmlrpc_value_get_base64 (SoupXmlrpcValue *value, GByteArray **data); gboolean soup_xmlrpc_value_get_struct (SoupXmlrpcValue *value, GHashTable **table); typedef xmlNodePtr SoupXmlrpcValueArrayIterator; gboolean soup_xmlrpc_value_array_get_iterator (SoupXmlrpcValue *value, SoupXmlrpcValueArrayIterator **iter); SoupXmlrpcValueArrayIterator *soup_xmlrpc_value_array_iterator_prev (SoupXmlrpcValueArrayIterator *iter); SoupXmlrpcValueArrayIterator *soup_xmlrpc_value_array_iterator_next (SoupXmlrpcValueArrayIterator *iter); gboolean soup_xmlrpc_value_array_iterator_get_value (SoupXmlrpcValueArrayIterator *iter, SoupXmlrpcValue **value); void soup_xmlrpc_value_dump (SoupXmlrpcValue *value); G_END_DECLS #endif drivel-3.0.5/src/query_music_players.h0000644000175000017500000000174011552103110014760 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002-2004 Todd Kulesza, Davyd Madeley * * Authors: * Davyd Madeley */ #ifndef _QUERY_MUSIC_PLAYERS_H_ #define _QUERY_MUSIC_PLAYERS_H_ #include void query_music_players (GtkListStore *playing); #endif drivel-3.0.5/src/drivel_request.c0000644000175000017500000002110311552103110013677 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2004 Todd Kulesza * * Authors: * Todd Kulesza * Davyd Madeley */ #include #include #include #include #include #include "utils.h" #include "drivel_request.h" static void add_item (DrivelRequest *dr, const gchar *key, const gchar *value) { DrivelRequestItem *dri; dri = g_new0 (DrivelRequestItem, 1); dri->key = g_strdup (key); dri->value = g_strdup (value); dr->items = g_slist_prepend (dr->items, dri); return; } /* Create an empty DrivelRequest */ DrivelRequest* drivel_request_new (void) { DrivelRequest *dr; dr = g_new0 (DrivelRequest, 1); dr->items = NULL; dr->current = NULL; dr->type = REQUEST_TYPE_NONE; dr->protocol = REQUEST_PROTOCOL_NONE; dr->api = BLOG_API_UNKNOWN; dr->request_values = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); dr->data = NULL; dr->msg = NULL; return dr; } /* Create a DrivelRequest with a type and multiple items, terminated by NULL */ DrivelRequest* drivel_request_new_with_items (DrivelRequestType type, DrivelRequestProtocol protocol, DrivelBlogAPI api, const gchar *uri, ...) { DrivelRequest *dr; va_list ap; const gchar *key, *value; dr = drivel_request_new (); drivel_request_set_type (dr, type); drivel_request_set_protocol (dr, protocol); drivel_request_set_api (dr, api); drivel_request_set_uri (dr, uri); va_start (ap, uri); do { key = va_arg (ap, gchar*); if (key) { value = va_arg (ap, gchar*); add_item (dr, key, value); } } while (key); va_end (ap); return dr; } /* Create a DrivelRequest with a type and SoupMessage */ DrivelRequest* drivel_request_new_with_msg (DrivelRequestType type, DrivelRequestProtocol protocol, DrivelBlogAPI api, const gchar *uri, SoupMessage *msg) { DrivelRequest *dr; dr = drivel_request_new (); drivel_request_set_type (dr, type); drivel_request_set_protocol (dr, protocol); drivel_request_set_api (dr, api); drivel_request_set_uri (dr, uri); drivel_request_set_msg (dr, msg); return dr; } /* Add multiple items to a DrivelRequest. Terminate the list with NULL. */ void drivel_request_add_items (DrivelRequest *dr, ...) { va_list ap; const gchar *key, *value; g_return_if_fail (dr); va_start (ap, dr); do { key = va_arg (ap, gchar*); if (key) { value = va_arg (ap, gchar*); add_item (dr, key, value); } } while (key); va_end (ap); return; } /* Remove multiple items by their key names. Terminate the list with NULL. */ void drivel_request_remove_items (DrivelRequest *dr, ...) { va_list ap; const gchar *key; GSList *current; gboolean found; g_return_if_fail (dr); va_start (ap, dr); do { key = va_arg (ap, gchar*); if (key) { found = FALSE; for (current = dr->items; current && !found; current = current->next) { DrivelRequestItem *item; item = current->data; if (!strcmp (item->key, key)) { found = TRUE; g_free (item->key); g_free (item->value); g_free (item); dr->items = g_slist_delete_link (dr->items, current); } } } } while (key); va_end (ap); return; } /* Set the SoupMessage object */ void drivel_request_set_msg (DrivelRequest *dr, SoupMessage *msg) { g_return_if_fail (dr); dr->msg = msg; return; } /* Get the SoupMessage object */ SoupMessage* drivel_request_get_msg (DrivelRequest *dr) { g_return_val_if_fail (dr, NULL); return (dr->msg); } /* Set the type of request */ void drivel_request_set_type (DrivelRequest *dr, DrivelRequestType type) { g_return_if_fail (dr); dr->type = type; return; } /* Get the type of request */ DrivelRequestType drivel_request_get_type (DrivelRequest *dr) { g_return_val_if_fail (dr, REQUEST_TYPE_NONE); return (dr->type); } /* Set the network protocol */ void drivel_request_set_protocol (DrivelRequest *dr, DrivelRequestProtocol protocol) { g_return_if_fail (dr); dr->protocol = protocol; return; } /* Get the network protocol */ DrivelRequestProtocol drivel_request_get_protocol (DrivelRequest *dr) { g_return_val_if_fail (dr, REQUEST_PROTOCOL_NONE); return (dr->protocol); } /* Set the journal API */ void drivel_request_set_api (DrivelRequest *dr, DrivelBlogAPI api) { g_return_if_fail (dr); dr->api = api; return; } /* Get the journal API */ DrivelBlogAPI drivel_request_get_api (DrivelRequest *dr) { g_return_val_if_fail (dr, BLOG_API_UNKNOWN); return dr->api; } /* Set the returned network data */ void drivel_request_set_data (DrivelRequest *dr, DrivelRequestData *data) { g_return_if_fail (dr); dr->data = data; return; } /* Get a pointer to the returned network data */ DrivelRequestData* drivel_request_get_data (DrivelRequest *dr) { g_return_val_if_fail (dr, NULL); return (dr->data); } /* Insert a key/value pair into the request_values hash table */ void drivel_request_value_insert (DrivelRequest *dr, const gchar *key, const gchar *value) { g_return_if_fail (dr); g_hash_table_insert (dr->request_values, g_strdup (key), g_strdup (value)); return; } /* Lookup a value given a key in the request_values hash table */ const gchar* drivel_request_value_lookup (DrivelRequest *dr, const gchar *key) { gchar *value; g_return_val_if_fail (dr, NULL); value = g_hash_table_lookup (dr->request_values, key); return value; } /* Clear the request_values hash table */ void drivel_request_clear_values (DrivelRequest *dr) { g_return_if_fail (dr); hash_table_clear (dr->request_values); return; } /* Replace the existing hash table with a user-supplied table */ void drivel_request_set_values (DrivelRequest *dr, GHashTable *table) { g_return_if_fail (dr); g_return_if_fail (table); g_hash_table_destroy (dr->request_values); dr->request_values = table; return; } /* Set the DrivelRequest to the first item, returns FALSE if no items are available. */ gboolean drivel_request_start (DrivelRequest *dr) { g_return_val_if_fail (dr, FALSE); dr->current = dr->items; return (!(!(dr->current))); } /* Iterate to the next item in the list, returns FALSE if no items are available. */ gboolean drivel_request_next (DrivelRequest *dr) { g_return_val_if_fail (dr, FALSE); dr->current = dr->current->next; return (!(!(dr->current))); } /* Returns the current item in the list, or NULL if no items are available. */ DrivelRequestItem* drivel_request_get_current_item (DrivelRequest *dr) { DrivelRequestItem *item; g_return_val_if_fail (dr, NULL); if (dr->current) item = dr->current->data; else item = NULL; return item; } /* Looks for 'key' in 'items', returns 'value' if found */ const gchar* drivel_request_item_lookup (DrivelRequest *dr, const gchar *key) { DrivelRequestItem *item; gboolean valid; const gchar *value = NULL; g_return_val_if_fail (dr, NULL); valid = drivel_request_start (dr); while (valid) { item = drivel_request_get_current_item (dr); if (!strcmp (key, item->key)) { value = item->value; valid = FALSE; } else valid = drivel_request_next (dr); } return value; } /* Set the URI to connect to */ void drivel_request_set_uri (DrivelRequest *dr, const gchar *uri) { g_return_if_fail (dr); g_return_if_fail (uri); g_free (dr->uri); dr->uri = g_strdup (uri); return; } /* Get the URI of the server */ const gchar* drivel_request_get_uri (DrivelRequest *dr) { g_return_val_if_fail (dr, NULL); return (dr->uri); } /* Frees the memory used by the object and the list. */ void drivel_request_free (DrivelRequest *dr) { GSList *current; DrivelRequestItem *item; g_return_if_fail (dr); for (current = dr->items; current; current = current->next) { item = current->data; g_free (item->key); g_free (item->value); g_free (item); } g_slist_free (dr->items); g_hash_table_destroy (dr->request_values); if (dr->data) { g_free (dr->data->data); g_free (dr->data); } if (dr->msg) { g_object_unref (dr->msg); } g_free (dr); return; } drivel-3.0.5/src/blog_mt.h0000644000175000017500000000457411552103110012307 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2004 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza */ #ifndef _BLOG_MT_H_ #define _BLOG_MT_H_ #include "drivel_request.h" #include "drivel.h" void blog_mt_build_login_request (const gchar *url, const gchar *username, const gchar *password); void blog_mt_build_postevent_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *blogid, gboolean publish, const gchar *title, const gchar *content, const gchar *tags); void blog_mt_build_editevent_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *postid, gboolean publish, const gchar *title, const gchar *content, const gchar *tags); void blog_mt_build_getcategories_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *journal_name, const gchar *blogid); void blog_mwl_build_getcategories_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *journal_name, const gchar *blogid); void blog_mt_build_setpostcategories_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *postid, const gchar *category); void blog_mt_build_publish_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *postid); void blog_mt_build_getevents_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *blogid, gboolean last_entry); void blog_mt_build_getpostcategories_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *postid); #endif /* _BLOG_MT_H_ */ drivel-3.0.5/src/login.h0000644000175000017500000000226111552103110011763 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002 Todd Kulesza * * Authors: * Todd Kulesza */ #ifndef _LOGIN_H_ #define _LOGIN_H_ /*#include */ #include "drivel.h" void about_cb(GtkWidget *widget, gpointer data); void login_window_build (DrivelClient *dc); void set_user_login_prefs (DrivelClient *dc); DrivelUser* get_drivel_user (DrivelClient *dc); void user_list_changed (DrivelClient *dc); void refresh_recent_chooser (DrivelClient *dc); #endif drivel-3.0.5/src/journal.c0000644000175000017500000033054211561233062012340 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002-2004 Todd Kulesza * Copyright 2009 Neil Williams * * * Authors: * Todd Kulesza * Neil Williams */ #include #include #include #define __USE_XOPEN #include #include #include #include #include #include #include #include #include #include #include #ifdef HAVE_GTKSPELL #include #endif /* HAVE_GTKSPELL */ #include "gtkdateentry.h" #include "drivel_request.h" #include "blog_advogato.h" #include "blog_atom.h" #include "blog_blogger.h" #include "blog_lj.h" #include "blog_mt.h" #include "insert_poll_dialog.h" #include "query_music_players.h" #include "tray.h" #include "drivel.h" #include "about.h" #include "login.h" #include "network.h" #include "dialogs.h" #include "journal.h" #define TOOLBUTTONBUILD(x) GTK_TOOL_BUTTON(gtk_builder_get_object (builder, x)); typedef enum { MENU_POST, MENU_UPDATE, MENU_DELETE, MENU_LAST, MENU_FRIENDS, MENU_HISTORY, MENU_SECURITY, MENU_ACTIVE_JOURNAL, MENU_VIEW_OPTIONS, OPTION_PICTURE } WidgetType; extern GMutex *net_mutex; DrivelJournalProp* journal_prop_new (void) { DrivelJournalProp *prop; prop = g_new0 (DrivelJournalProp, 1); prop->id = NULL; prop->name = NULL; prop->value = NULL; return prop; } void journal_prop_free (DrivelJournalProp *prop) { if (!prop) return; g_free (prop->id); g_free (prop->name); g_free (prop->value); g_free (prop); return; } DrivelJournalEntry* journal_entry_new (void) { DrivelJournalEntry *entry; entry = g_new0 (DrivelJournalEntry, 1); entry->subject = NULL; entry->content = NULL; entry->security = NULL; entry->security_mask = NULL; entry->postid = NULL; entry->userid = NULL; entry->issued = NULL; entry->link = NULL; entry->properties = g_ptr_array_new(); entry->tags = NULL; return entry; } void journal_entry_free (DrivelJournalEntry *entry) { if (!entry) return; g_free (entry->subject); g_free (entry->content); g_free (entry->security); g_free (entry->security_mask); g_free (entry->postid); g_free (entry->userid); g_free (entry->issued); g_free (entry->link); while (entry->properties->len) { DrivelJournalProp *prop; prop = g_ptr_array_remove_index (entry->properties, 0); journal_prop_free (prop); } g_free(entry->tags); g_free (entry); return; } static gchar* journal_entry_get_prop (DrivelJournalEntry *entry, gchar *name) { gchar *value = NULL; if (entry->properties) { guint i; for (i = 0; (i < entry->properties->len) && !value; i++) { DrivelJournalProp *prop; prop = g_ptr_array_index (entry->properties, i); if (!strcasecmp (prop->name, name)) value = g_strdup (prop->value); } } return value; } /* Callback for loading the specified recent entry into the journal editor */ static void recent_entry_cb (GtkAction *action, gpointer data) { gchar *mood, *music, *picture, *eventtime, *comments, *autoformat, *tags; DrivelJournalEntry *entry = (DrivelJournalEntry*) data; DrivelClient *dc = g_object_get_data (G_OBJECT (action), "dc"); mood = journal_entry_get_prop (entry, "mood"); music = journal_entry_get_prop (entry, "music"); picture = journal_entry_get_prop (entry, "picture"); eventtime = journal_entry_get_prop (entry, "eventtime"); comments = journal_entry_get_prop (entry, "comments"); autoformat = journal_entry_get_prop (entry, "autoformat"); tags = journal_entry_get_prop (entry, "taglist"); journal_edit_entry (dc, entry->postid, entry->content, entry->security, entry->security_mask, entry->subject, mood, music, picture, eventtime, comments, autoformat, entry->link, tags); return; } static void recent_entry_refresh_cb (GtkAction *action, gpointer data) { DrivelClient *dc = (DrivelClient *)data; clear_recent_entries (dc->recent_entries); /* get the recent entries for this journal */ switch (dc->user->api) { case BLOG_API_ATOM: blog_atom_build_getevents_request (dc->user->username, dc->user->password, dc->active_journal->uri_feed, FALSE); break; case BLOG_API_BLOGGER: blog_blogger_build_getevents_request (dc->user->username, dc->user->password, dc->user->server, dc->active_journal->id, DRIVEL_N_RECENT_POSTS); break; case BLOG_API_LJ: blog_lj_build_getevents_request (dc->user->username, dc->user->server, 0, FALSE, FALSE, "lastn", NULL, 0, 0, 0, DRIVEL_N_RECENT_POSTS, NULL, 0, NULL, dc->active_journal); break; case BLOG_API_MT: blog_mt_build_getevents_request (dc->user->username, dc->user->password, dc->user->server, dc->active_journal->id, FALSE); break; default: break; } return; } /* Refresh the Recent Entries menu */ void journal_refresh_recent_entries (DrivelClient *dc) { GtkAction *action; GtkActionGroup *action_group; guint i, j; gchar *blogid, **ui_descriptions, *ui_description; GError *error; static guint merge_id = 0; if (!dc->active_journal) return; debug ("journal_refresh_recent_entries()"); /* Remove the existing Recent Entries menu. */ /* For some reason, we need to call gtk_ui_manager_get_ui() before * building the new menu, otherwise it places the "Refresh" menuitem * at the top of the menu. */ if (merge_id) { gchar *ui; gtk_ui_manager_remove_ui (dc->menus, merge_id); ui = gtk_ui_manager_get_ui (dc->menus); g_free (ui); } switch (dc->user->api) { case BLOG_API_ATOM: blogid = g_strdup (dc->active_journal->uri_feed); break; case BLOG_API_BLOGGER: case BLOG_API_MT: blogid = g_strdup (dc->active_journal->id); break; case BLOG_API_LJ: blogid = g_strdup (dc->active_journal->name); break; default: blogid = NULL; break; } ui_descriptions = g_new0 (gchar *, DRIVEL_N_RECENT_POSTS + 3); ui_descriptions[0] = g_strdup ( "" " " " " " "); action_group = gtk_action_group_new ("RecentEntryActions"); gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); for (i = 0, j = 1; (i < dc->recent_entries->len) && (j < DRIVEL_N_RECENT_POSTS + 1); i++) { DrivelJournalEntry *entry; entry = g_ptr_array_index (dc->recent_entries, i); if (!strcmp (blogid, entry->userid)) { gchar *name, *label; name = g_strdup_printf ("RecentEntriesItem%d", j); if (entry->subject && (entry->subject[0] != '\0')) label = g_strdup (entry->subject); else label = title_from_content (entry->content); action = gtk_action_new (name, label, N_("Open this entry for editing"), NULL); g_object_set_data (G_OBJECT (action), "dc", dc); g_signal_connect (G_OBJECT (action), "activate", G_CALLBACK (recent_entry_cb), entry); gtk_action_group_add_action (action_group, action); ui_descriptions[j] = g_strdup_printf ("", name); j++; } } for (i = j; i < DRIVEL_N_RECENT_POSTS + 1; i++) ui_descriptions[i] = g_strdup (""); action = gtk_action_new ("RefreshRecentEntries", NULL, N_("Refresh this list"), GTK_STOCK_REFRESH); g_signal_connect (G_OBJECT (action), "activate", G_CALLBACK (recent_entry_refresh_cb), dc); gtk_action_group_add_action (action_group, action); ui_descriptions[DRIVEL_N_RECENT_POSTS + 1] = g_strdup ( " " " " " " " " " " ""); ui_descriptions[DRIVEL_N_RECENT_POSTS + 2] = NULL; ui_description = g_strjoinv (NULL, ui_descriptions); gtk_ui_manager_insert_action_group (dc->menus, action_group, 0); error = NULL; merge_id = gtk_ui_manager_add_ui_from_string (dc->menus, ui_description, -1, &error); if (!merge_id) { g_message ("building recent entries menu failed: %s", error->message); g_error_free (error); } g_strfreev (ui_descriptions); return; } void remove_autosave (DrivelClient *dc) { gchar *autosave_path, *filename; debug ("remove_autosave()"); filename = g_strdup_printf ("autosave_%s", dc->user->username); autosave_path = g_build_filename (dc->config_directory, filename, NULL); gnome_vfs_unlink (autosave_path); dc->modified_autosave = FALSE; g_free (filename); g_free (autosave_path); return; } static void set_journal_title (const DrivelJournal *active_journal, GtkWindow *window, DrivelBlogAPI api) { gchar *title; g_return_if_fail (active_journal); g_return_if_fail (window); debug ("set_journal_title()"); switch (api) { case BLOG_API_LJ: case BLOG_API_ADVOGATO: { if (active_journal->type == JOURNAL_TYPE_USER) title = g_strdup_printf (_("%s's Journal - Drivel"), active_journal->description); else title = g_strdup_printf (_("The %s Community - Drivel"), active_journal->name); break; } case BLOG_API_ATOM: case BLOG_API_BLOGGER: case BLOG_API_MT: { title = g_strdup_printf ("%s - Drivel", active_journal->name); break; } case BLOG_API_OFFLINE: { title = g_strdup (_("Offline - Drivel")); break; } default: { title = NULL; break; } } gtk_window_set_title (window, title); g_free (title); return; } static gboolean supported_by_api (WidgetType w, DrivelBlogAPI api) { gboolean retval = TRUE; switch (w) { case MENU_POST: { switch (api) { case BLOG_API_OFFLINE: retval = FALSE; break; default: break; } break; } case MENU_UPDATE: { switch (api) { case BLOG_API_OFFLINE: retval = FALSE; break; default: break; } break; } case MENU_DELETE: { switch (api) { case BLOG_API_ADVOGATO: case BLOG_API_OFFLINE: retval = FALSE; break; default: break; } break; } case MENU_LAST: { switch (api) { case BLOG_API_OFFLINE: retval = FALSE; break; default: break; } break; } case MENU_FRIENDS: { switch (api) { case BLOG_API_ADVOGATO: case BLOG_API_ATOM: case BLOG_API_BLOGGER: case BLOG_API_MT: case BLOG_API_OFFLINE: retval = FALSE; break; default: break; } break; } case MENU_HISTORY: { switch (api) { case BLOG_API_ADVOGATO: case BLOG_API_ATOM: case BLOG_API_BLOGGER: case BLOG_API_MT: case BLOG_API_OFFLINE: retval = FALSE; break; default: break; } break; } case MENU_SECURITY: { switch (api) { case BLOG_API_ADVOGATO: case BLOG_API_ATOM: case BLOG_API_BLOGGER: case BLOG_API_MT: case BLOG_API_OFFLINE: retval = FALSE; break; default: break; } break; } case MENU_ACTIVE_JOURNAL: { switch (api) { case BLOG_API_ADVOGATO: retval = FALSE; break; default: break; } break; } case MENU_VIEW_OPTIONS: { switch (api) { case BLOG_API_ADVOGATO: case BLOG_API_ATOM: case BLOG_API_BLOGGER: case BLOG_API_OFFLINE: retval = FALSE; break; default: break; } break; } case OPTION_PICTURE: { switch (api) { case BLOG_API_ADVOGATO: case BLOG_API_ATOM: case BLOG_API_BLOGGER: case BLOG_API_MT: case BLOG_API_OFFLINE: retval = FALSE; break; default: break; } break; } default: break; } return retval; } static gchar* parseElement (xmlDocPtr doc, xmlNodePtr cur) { xmlChar *key; gchar *value; key = xmlNodeListGetString (doc, cur->xmlChildrenNode, 1); value = g_strdup ((gchar *)key); xmlFree (key); return value; } static gchar* parseAttribute (xmlNodePtr cur, const char *attribute) { xmlChar *attrib; gchar *value; attrib = xmlGetProp (cur, (xmlChar *)attribute); value = g_strdup ((gchar *)attrib); xmlFree (attrib); return value; } static gboolean open_file (const gchar *filename, DrivelClient *dc) { gchar input_data [4096]; GnomeVFSHandle *handle; GnomeVFSFileSize bytes_read; GnomeVFSResult result; GtkTextBuffer *buffer; xmlDocPtr doc; xmlNodePtr cur; gchar *element; gboolean from_autosave = FALSE; GString *string; debug ("open_file()"); /* if 'filename' is not null, this was called from the "Open Draft" dialog. * otherwise, it was called by the autosave function. */ if (filename) result = gnome_vfs_open (&handle, filename, GNOME_VFS_OPEN_READ); else { if (dc->config_directory) { gchar *file, *autosave; file = g_strdup_printf ("autosave_%s", dc->user->username); autosave = g_build_filename (dc->config_directory, file, NULL); result = gnome_vfs_open (&handle, autosave, GNOME_VFS_OPEN_READ); g_free (autosave); g_free (file); if (result != GNOME_VFS_OK) return FALSE; else from_autosave = TRUE; } else return FALSE; } if (result != GNOME_VFS_OK) { display_gnomevfs_error_dialog (dc, result); return FALSE; } result = gnome_vfs_seek (handle, GNOME_VFS_SEEK_START, 0); if (result != GNOME_VFS_OK) { display_gnomevfs_error_dialog (dc, result); gnome_vfs_close (handle); return FALSE; } string = g_string_new (""); do { result = gnome_vfs_read (handle, input_data, 4096, &bytes_read); if (result != GNOME_VFS_OK) { display_gnomevfs_error_dialog (dc, result); gnome_vfs_close (handle); return FALSE; } g_string_append_len (string, input_data, bytes_read); } while (bytes_read == 4096); /* if we read an entire block, reiterate */ result = gnome_vfs_close (handle); if (result != GNOME_VFS_OK) { display_gnomevfs_error_dialog (dc, result); return FALSE; } /* * it's useful to set these here * if they have the appropriate tags we can override these defaults */ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->journal_autoformat), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->journal_comment), FALSE); gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_security), 0); gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_picture), 0); doc = xmlReadMemory (string->str, string->len, NULL, NULL, XML_PARSE_NOBLANKS); g_string_free (string, TRUE); if (doc == NULL) { display_open_error_dialog (dc, filename); return FALSE; } cur = xmlDocGetRootElement (doc); if (!cur || xmlStrcmp (cur->name, (const xmlChar *) "entry")) { display_open_error_dialog (dc, filename); xmlFreeDoc (doc); return FALSE; } gtk_source_buffer_begin_not_undoable_action (GTK_SOURCE_BUFFER (dc->buffer)); buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (dc->journal_text)); cur = cur->xmlChildrenNode; while (cur != NULL) { if (!xmlStrcmp (cur->name, (const xmlChar *) "subject")) { element = parseElement (doc, cur); gtk_entry_set_text (GTK_ENTRY (dc->journal_subject), element); g_free (element); } else if (!xmlStrcmp (cur->name, (const xmlChar *) "event")) { element = parseElement (doc, cur); gtk_text_buffer_set_text (buffer, element, strlen (element)); g_free (element); } else if (!xmlStrcmp (cur->name, (const xmlChar *) "music")) { element = parseElement (doc, cur); gtk_entry_set_text (GTK_ENTRY (GTK_BIN (dc->journal_music)->child), element); g_free (element); } else if (!xmlStrcmp (cur->name, (const xmlChar *) "mood")) { element = parseElement (doc, cur); gtk_entry_set_text (GTK_ENTRY (GTK_BIN (dc->journal_mood)->child), element); g_free (element); } else if (!xmlStrcmp (cur->name, (const xmlChar *) "tags")) { element = parseElement (doc, cur); gtk_entry_set_text (GTK_ENTRY (dc->journal_tags), element); g_free (element); } else if (!xmlStrcmp (cur->name, (const xmlChar *) "security")) { /* FIXME: need to read the values from the &iter, not assume that the positions are known in advance. */ element = parseAttribute (cur, "type"); if (!strcmp (element, "friends")) { gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_security), 1); } else if (!strcmp (element, "private")) { gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_security), 2); } else if (!strcmp (element, "custom")) { g_message ("DEBUG: security type 'custom' not implemented, defaulting to private\n"); gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_security), 2); } else { /* ignore missing types g_message ("DEBUG: unknown security type '%s'\n", element);*/ } g_free (element); } else if (!xmlStrcmp (cur->name, (const xmlChar *) "pickeyword")) { GtkTreeIter iter; gchar *value; element = parseElement (doc, cur); gtk_tree_model_get_iter_first (GTK_TREE_MODEL (dc->picture_store), &iter); do { gtk_tree_model_get (GTK_TREE_MODEL (dc->picture_store), &iter, 1, &value, -1); if (!strcmp (element, value)) { gtk_combo_box_set_active_iter (GTK_COMBO_BOX (dc->journal_picture), &iter); break; } } while (gtk_tree_model_iter_next (GTK_TREE_MODEL (dc->picture_store), &iter)); g_free (element); } else if (!xmlStrcmp (cur->name, (const xmlChar *) "preformatted")) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->journal_autoformat), TRUE); } else if (!xmlStrcmp (cur->name, (const xmlChar *) "comments")) { element = parseAttribute (cur, "type"); if (!strcmp (element, "disable")) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->journal_comment), TRUE); } else if (!strcmp (element, "noemail")) { g_message ("DEBUG: comment type 'noemail' not currently supported\n"); } else { g_message ("DEBUG: unknown comment type '%s'\n", element); } g_free (element); } else if (!xmlStrcmp (cur->name, (const xmlChar *) "backdated")) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->journal_backdate), TRUE); } else if (!xmlStrcmp (cur->name, (const xmlChar *) "time")) { struct tm time; GDate * gd; element = parseElement (doc, cur); if (!strptime (element, "%Y-%m-%d %H:%M:%S", &time)) g_message ("DEBUG: something wrong with time string '%s'\n", element); g_free (element); /* work out how to set the initial date for GtkDateEntry * into dc->journal_date */ gd = g_date_new_dmy (time.tm_mday, time.tm_mon + 1, time.tm_year); gtk_dateentry_set_date (dc->journal_date, g_date_get_julian (gd)); /* FIXME: * egg_datetime_set_from_struct_tm (EGG_DATETIME (dc->journal_date), &time); */ } else { g_message ("DEBUG: unknown tag %s\n", cur->name); } cur = cur->next; } xmlFreeDoc (doc); dc->modified = from_autosave; remove_autosave (dc); gtk_source_buffer_end_not_undoable_action (GTK_SOURCE_BUFFER (dc->buffer)); return TRUE; } static void open_draft_cb (GtkWidget *widget, gpointer data) { GtkWidget *dialog; GtkFileFilter *filter; DrivelClient *dc = (DrivelClient *) data; if (!display_save_dialog_proceed (dc)) return; dialog = gtk_file_chooser_dialog_new (_("Drivel - Open Draft"), GTK_WINDOW (dc->current_window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT); filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("All XML Files")); gtk_file_filter_add_mime_type (filter, "text/xml"); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter); filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("Draft drivel posts")); gtk_file_filter_add_mime_type (filter, "application/x-drivel"); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter); gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (dialog), filter); if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) { gchar *filename, *uri; filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); open_file (filename, dc); uri = gnome_vfs_get_uri_from_local_path (filename); gtk_recent_manager_add_full (dc->recent_manager, uri, dc->recent_data); g_free (uri); if (dc->draft_filename) g_free (dc->draft_filename); dc->draft_filename = g_strdup (filename); g_free (filename); } gtk_widget_destroy (dialog); return; } static void open_draft_recent_cb (GtkRecentChooser *chooser, gpointer data) { gchar *uri; DrivelClient *dc = (DrivelClient *)data; uri = gtk_recent_chooser_get_current_uri (chooser); if (uri != NULL) { open_file (uri, dc); g_free (uri); } } static gboolean save_file (const gchar *filename, DrivelClient *dc) { xmlDocPtr doc; xmlNodePtr cur, child; xmlChar *xmlbuf; int bufsize; gchar *output_data, *value; GtkTextBuffer *buffer; GtkTextIter start, end; GtkTreeIter iter; GnomeVFSHandle *handle; GnomeVFSFileSize written; GnomeVFSResult result; gint group, allowmask = 0; /* set up the document */ doc = xmlNewDoc ((xmlChar *)"1.0"); cur = xmlNewNode (NULL, (xmlChar *)"entry"); xmlDocSetRootElement (doc, cur); /* populate XML */ value = gtk_editable_get_chars (GTK_EDITABLE (dc->journal_subject), 0, -1); if (value) { if (strlen (value)) xmlNewTextChild (cur, NULL, (xmlChar *)"subject", (xmlChar *)value); g_free (value); } buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (dc->journal_text)); gtk_text_buffer_get_bounds (buffer, &start, &end); value = gtk_text_buffer_get_text (buffer, &start, &end, FALSE); if (value) { if (strlen (value)) xmlNewTextChild (cur, NULL, (xmlChar *)"event", (xmlChar *)value); g_free (value); } value = gtk_editable_get_chars (GTK_EDITABLE (GTK_BIN (dc->journal_mood)->child), 0, -1); if (value) { if (strlen (value)) xmlNewTextChild (cur, NULL, (xmlChar *)"mood", (xmlChar *)value); g_free (value); } value = gtk_editable_get_chars (GTK_EDITABLE (GTK_BIN (dc->journal_music)->child), 0, -1); if (value) { if (strlen (value)) xmlNewTextChild (cur, NULL, (xmlChar *)"music", (xmlChar *)value); g_free (value); } value = gtk_editable_get_chars (GTK_EDITABLE (dc->journal_tags), 0, -1); if (value) { if (strlen (value)) xmlNewTextChild (cur, NULL, (xmlChar *)"tags", (xmlChar *)value); g_free (value); } if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (dc->journal_picture), &iter)) { gtk_tree_model_get (GTK_TREE_MODEL (dc->picture_store), &iter, 1, &value, -1); if (value && strlen (value) && gtk_combo_box_get_active (GTK_COMBO_BOX (dc->journal_picture))) xmlNewTextChild (cur, NULL, (xmlChar *)"pickeyword", (xmlChar *)value); } if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (dc->journal_security), &iter)) { gtk_tree_model_get (GTK_TREE_MODEL (dc->security_store), &iter, STORE_SECURITY_NUM, &group, -1); switch (group) { case -10: { value = g_strdup ("public"); break; } case -5: { value = g_strdup ("private"); break; } case 0: { value = g_strdup ("friends"); break; } default: { value = g_strdup ("custom"); allowmask = 1 << group; break; } } } else value = NULL; if (value) { child = xmlNewTextChild (cur, NULL, (xmlChar *)"security", NULL); xmlNewProp (child, (xmlChar *)"type", (xmlChar *)value); g_free (value); value = g_strdup_printf ("%d", allowmask); xmlNewProp (child, (xmlChar *)"allowmask", (xmlChar *)value); g_free (value); } if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dc->journal_autoformat))) xmlNewTextChild (cur, NULL, (xmlChar *)"preformatted", NULL); if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dc->journal_comment))) { child = xmlNewTextChild (cur, NULL, (xmlChar *)"comments", NULL); xmlNewProp (child, (xmlChar *)"type", (xmlChar *)"disable"); } if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dc->journal_backdate))) { GDate *date; gchar *date_string; xmlNewTextChild (cur, NULL, (xmlChar *)"backdated", NULL); date = g_date_new (); /* egg_datetime_get_as_gdate (EGG_DATETIME (dc->journal_date), date);*/ /* FIXME: at the moment we don't support time * and if we use gtkdateentry, we won't be able to either. */ /* gtk_dateentry_set_date Julian date? */ date_string = g_strdup_printf ("%i-%02i-%02i 00:00:00", date->year, date->month, date->day); xmlNewTextChild (cur, NULL, (xmlChar *)"time", (xmlChar *)date_string); g_free (date_string); g_date_free (date); } /* output the XML */ xmlDocDumpFormatMemoryEnc (doc, &xmlbuf, &bufsize, "UTF-8", 1); output_data = g_strdup ((gchar *)xmlbuf); xmlFree (xmlbuf); xmlFreeDoc (doc); /* if 'filename' is not null, this was called from the "Save Draft" dialog. * otherwise, it was called by the autosave function. */ if (filename) { result = gnome_vfs_create (&handle, filename, GNOME_VFS_OPEN_WRITE, FALSE, GNOME_VFS_PERM_USER_READ | GNOME_VFS_PERM_USER_WRITE); } else { if (dc->config_directory) { gchar *file, *autosave; file = g_strdup_printf ("autosave_%s", dc->user->username); autosave = g_build_filename (dc->config_directory, file, NULL); result = gnome_vfs_create (&handle, autosave, GNOME_VFS_OPEN_WRITE, FALSE, GNOME_VFS_PERM_USER_READ | GNOME_VFS_PERM_USER_WRITE); g_free (file); g_free (autosave); } else return FALSE; } if (result != GNOME_VFS_OK) { display_gnomevfs_error_dialog (dc, result); return FALSE; } result = gnome_vfs_seek (handle, GNOME_VFS_SEEK_START, 0); if (result != GNOME_VFS_OK) { display_gnomevfs_error_dialog (dc, result); return FALSE; } result = gnome_vfs_write (handle, output_data, strlen (output_data), &written); if (result != GNOME_VFS_OK) { display_gnomevfs_error_dialog (dc, result); return FALSE; } result = gnome_vfs_close (handle); if (result != GNOME_VFS_OK) { display_gnomevfs_error_dialog (dc, result); return FALSE; } if (filename) { dc->modified = FALSE; remove_autosave (dc); } g_free (output_data); return TRUE; } static gboolean save_draft (DrivelClient *dc) { GtkWidget *dialog; GtkFileFilter *filter; gboolean retval; debug ("save_draft()"); /* FIXME: add something to override .drivel extension or something like that */ dialog = gtk_file_chooser_dialog_new (_("Drivel - Save Draft"), GTK_WINDOW (dc->current_window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT); /* Add filters for all XML files all XML files which appear to be Drivel Drafts */ filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("All XML Files")); gtk_file_filter_add_mime_type (filter, "text/xml"); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter); filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("Draft drivel posts")); gtk_file_filter_add_mime_type (filter, "application/x-drivel"); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter); gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (dialog), filter); if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) { gchar *filename, *uri; filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); if (dc->draft_filename) g_free (dc->draft_filename); dc->draft_filename = filename; save_file (filename, dc); uri = gnome_vfs_get_uri_from_local_path (filename); gtk_recent_manager_add_full (dc->recent_manager, uri, dc->recent_data); g_free (uri); retval = TRUE; } else retval = FALSE; gtk_widget_destroy (dialog); return retval; } gboolean save_draft_cb (GtkWidget *widget, gpointer data) { gboolean retval; DrivelClient *dc = (DrivelClient *) data; if (dc->draft_filename) retval = save_file (dc->draft_filename, dc); else retval = save_draft (dc); return retval; } static void save_draft_as_cb (GtkWidget *menu, gpointer data) { DrivelClient *dc = (DrivelClient *) data; save_draft (dc); return; } static gboolean autosave_cb (gpointer data) { DrivelClient *dc = (DrivelClient *) data; if (!dc->modified) return TRUE; save_file (NULL, dc); return TRUE; } static void post_entry (DrivelClient *dc, DrivelRequestType mode) { gchar *text, *mood, *mesg; gchar *music, *subject, *tags, *pic, *security, *key; GtkTextIter start, end; GtkTextBuffer *buffer; GtkTreeIter iter; gint i, group, allowmask, mood_id; gboolean autoformat, no_comments, backdate; debug ("post_entry()"); allowmask = 0; buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (dc->journal_text)); gtk_text_buffer_get_bounds (buffer, &start,& end); text = gtk_text_buffer_get_text (buffer, &start, &end, FALSE); mood = gtk_editable_get_chars (GTK_EDITABLE (GTK_BIN (dc->journal_mood)->child), 0, -1); music = gtk_editable_get_chars (GTK_EDITABLE (GTK_BIN (dc->journal_music)->child), 0, -1); subject = gtk_editable_get_chars (GTK_EDITABLE (dc->journal_subject), 0, -1); tags = gtk_editable_get_chars (GTK_EDITABLE (dc->journal_tags), 0, -1); if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (dc->journal_security), &iter)) { gtk_tree_model_get (GTK_TREE_MODEL (dc->security_store), &iter, STORE_SECURITY_NUM, &group, -1); switch (group) { case -10: { security = g_strdup ("public"); break; } case -5: { security = g_strdup ("private"); break; } default: { security = g_strdup ("usemask"); allowmask = 1 << group; break; } } } else security = NULL; i = gtk_combo_box_get_active (GTK_COMBO_BOX (dc->journal_picture)); key = g_strdup_printf ("pickw_%d", i); if (dc->picture_keywords) pic = g_hash_table_lookup (dc->picture_keywords, key); else pic = NULL; autoformat = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dc->journal_autoformat)); no_comments = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dc->journal_comment)); backdate = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dc->journal_backdate)); /* get the current date/time, then adjust as needed */ fill_time (dc); if (backdate) { /* egg_datetime_get_date (EGG_DATETIME (dc->journal_date), (GDateYear *)&(dc->time.year), (GDateMonth *)&(dc->time.month), (GDateDay *)&(dc->time.day));*/ } if (mood && (mesg = g_hash_table_lookup (dc->mood_icons, mood))) mood_id = (gint) g_ascii_strtod (mesg, NULL); else mood_id = 0; switch (mode) { case REQUEST_TYPE_POSTEVENT: { switch (dc->user->api) { case BLOG_API_LJ: { blog_lj_build_postevent_request (dc->user->username, dc->user->server, text, music, mood, mood_id, subject, security, allowmask, pic, dc->time.year, dc->time.month, dc->time.day, dc->time.hour, dc->time.minute, no_comments, autoformat, dc->active_journal, backdate, tags); break; } case BLOG_API_MT: { blog_mt_build_postevent_request (dc->user->username, dc->user->password, dc->user->server, dc->active_journal->id, FALSE, subject, text, tags); break; } case BLOG_API_BLOGGER: { blog_blogger_build_postevent_request ( dc->user->username, dc->user->password, dc->user->server, dc->active_journal->id, TRUE, text, subject); break; } case BLOG_API_ADVOGATO: { blog_advogato_build_postevent_request ( dc->user->cookie, dc->user->server, -1, subject, text); break; } case BLOG_API_ATOM: { blog_atom_build_post_request (dc->user->username, dc->user->password, dc->active_journal->uri_post, subject, text, NULL); break; } default: { g_warning ("post_entry: Unknown API"); } } break; } case REQUEST_TYPE_EDITEVENT: { switch (dc->user->api) { case BLOG_API_LJ: { blog_lj_build_editevent_request (dc->user->username, dc->user->server, dc->journal_entry->postid, text, music, mood, mood_id, subject, security, allowmask, pic, dc->time.year, dc->time.month, dc->time.day, backdate, no_comments, autoformat, tags, dc->active_journal); break; } case BLOG_API_BLOGGER: { blog_blogger_build_editevent_request ( dc->user->username, dc->user->password, dc->user->server, dc->journal_entry->postid, TRUE, text, subject); break; } case BLOG_API_ADVOGATO: { blog_advogato_build_postevent_request ( dc->user->cookie, dc->user->server, (guint) g_strtod (dc->journal_entry->postid, NULL), subject, text); break; } case BLOG_API_ATOM: { blog_atom_build_post_request (dc->user->username, dc->user->password, dc->active_journal->uri_post, subject, text, dc->journal_entry->link); break; } case BLOG_API_MT: { blog_mt_build_editevent_request (dc->user->username, dc->user->password, dc->user->server, dc->journal_entry->postid, TRUE, subject, text, tags); break; } default: { g_warning ("post_entry: Unknown API"); } } break; } default: { g_warning ("post_entry: Unknown request type"); break; } } g_free (text); g_free (mood); g_free (music); g_free (subject); g_free (security); g_free (key); return; } static void delete_entry (DrivelClient *dc) { if (dc->user->api == BLOG_API_LJ) { GtkTextIter start, end; GtkTextBuffer *buffer; gtk_source_buffer_begin_not_undoable_action (GTK_SOURCE_BUFFER (dc->buffer)); buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (dc->journal_text)); gtk_text_buffer_get_bounds (buffer, &start, &end); gtk_text_buffer_delete (buffer, &start, &end); post_entry (dc, REQUEST_TYPE_EDITEVENT); } else { switch (dc->user->api) { case BLOG_API_ATOM: { blog_atom_build_delete_request (dc->user->username, dc->user->password, dc->journal_entry->link); break; } case BLOG_API_BLOGGER: case BLOG_API_MT: { blog_blogger_build_deleteevent_request ( dc->user->username, dc->user->password, dc->user->server, dc->journal_entry->postid); break; } default: break; } } return; } /* display the default items for a blank journal entry and set the sensitivity of the widgets appropriately */ static void journal_display_defaults (DrivelClient *dc) { gchar *string; gint num; gboolean state; GtkTextIter start, end; GConfValue *value; debug ("journal_display_defaults()"); journal_entry_free (dc->journal_entry); dc->journal_entry = journal_entry_new (); /* if the user saved a draft, clear it's filename so that she gets prompted again. */ if (dc->draft_filename) { g_free (dc->draft_filename); dc->draft_filename = NULL; } gtk_text_buffer_get_bounds (dc->buffer, &start, &end); gtk_text_buffer_delete (dc->buffer, &start, &end); gtk_entry_set_text (GTK_ENTRY (dc->journal_subject), ""); gtk_entry_set_text (GTK_ENTRY (dc->journal_tags), ""); string = get_default_text (dc->client, dc->gconf->default_mood, ""); gtk_entry_set_text (GTK_ENTRY (GTK_BIN (dc->journal_mood)->child), string); g_free (string); string = get_default_text (dc->client, dc->gconf->default_music, ""); gtk_entry_set_text (GTK_ENTRY (GTK_BIN (dc->journal_music)->child), string); g_free (string); gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_picture), gconf_client_get_int (dc->client, dc->gconf->default_picture, NULL)); string = gconf_client_get_string (dc->client, dc->gconf->default_security, NULL); num = gconf_client_get_int (dc->client, dc->gconf->default_security_mask, NULL); select_security_group (GTK_TREE_MODEL (dc->security_store), GTK_COMBO_BOX (dc->journal_security), string, num); g_free (string); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->journal_comment), gconf_client_get_bool (dc->client, dc->gconf->default_comment, NULL)); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->journal_autoformat), gconf_client_get_bool (dc->client, dc->gconf->default_autoformat, NULL)); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->journal_backdate), FALSE); gtk_widget_set_sensitive (GTK_WIDGET(dc->journal_date), FALSE); gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_category), 0); gtk_entry_set_text (GTK_ENTRY (dc->journal_tags), ""); /* set menu sensitivity */ gtk_widget_set_sensitive (dc->menu_post, FALSE); gtk_widget_set_sensitive (dc->menu_update, FALSE); gtk_widget_set_sensitive (dc->menu_delete, FALSE); gtk_widget_set_sensitive (dc->menu_last, supported_by_api (MENU_LAST, dc->user->api)); gtk_widget_set_sensitive (dc->menu_friends, supported_by_api (MENU_FRIENDS, dc->user->api)); gtk_widget_set_sensitive (dc->menu_history, supported_by_api (MENU_HISTORY, dc->user->api)); gtk_widget_set_sensitive (dc->menu_active, supported_by_api (MENU_ACTIVE_JOURNAL, dc->user->api)); gtk_widget_set_sensitive (gtk_ui_manager_get_widget ( dc->menus, "/MainMenu/ViewMenu/EntryOptions"), supported_by_api (MENU_VIEW_OPTIONS, dc->user->api)); /* set the expander state */ state = gconf_client_get_bool (dc->client, dc->gconf->expander_open, NULL); gtk_expander_set_expanded (GTK_EXPANDER (dc->journal_expander), state); gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (dc->menu_view_options), state); /* enable/disable highlighting */ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (dc->menu_view_misspelled_words), gconf_client_get_bool (dc->client, dc->gconf->spellcheck, NULL)); gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (dc->tool_view_misspelled_words), gconf_client_get_bool (dc->client, dc->gconf->spellcheck, NULL)); value = gconf_client_get (dc->client, dc->gconf->highlight_syntax, NULL); if (value) state = gconf_value_get_bool (value); else state = TRUE; gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (dc->menu_view_html_keywords), state); /* set button sensitivity */ gtk_widget_set_sensitive (dc->journal_picture, supported_by_api (OPTION_PICTURE, dc->user->api)); gtk_widget_set_sensitive (dc->journal_post, FALSE); gtk_widget_grab_focus (dc->journal_text); return; } void journal_edit_entry (DrivelClient *dc, const gchar *itemid, const gchar *event, const gchar *security, const gchar *allowmask, const gchar *subject, const gchar *mood, const gchar *music, const gchar *picture, const gchar *eventtime, const gchar *comments, const gchar *autoformat, const gchar *link, const gchar *tags) { gboolean bool_comments, bool_autoformat; gchar time [5], *pickw, *text; gint int_allowmask, i; debug ("journal_edit_entry()"); time [4] = '\0'; if (eventtime) { memcpy (time, eventtime, 4); dc->time.year = (gint) g_ascii_strtod (time, NULL); time [2] = '\0'; memcpy (time, eventtime + 5, 2); dc->time.month = (gint) g_ascii_strtod (time, NULL); memcpy (time, eventtime + 8, 2); dc->time.day = (gint) g_ascii_strtod (time, NULL); memcpy (time, eventtime + 11, 2); dc->time.hour = (gint) g_ascii_strtod (time, NULL); memcpy (time, eventtime + 14, 2); dc->time.minute = (gint) g_ascii_strtod (time, NULL); } if (allowmask) int_allowmask = (gint)g_strtod (allowmask, NULL); else int_allowmask = 0; select_security_group (GTK_TREE_MODEL (dc->security_store), GTK_COMBO_BOX (dc->journal_security), security, int_allowmask); if (comments) bool_comments = (gboolean) g_ascii_strtod (comments, NULL); else bool_comments = FALSE; gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->journal_comment), bool_comments); if (autoformat) bool_autoformat = (gboolean) g_ascii_strtod (autoformat, NULL); else bool_autoformat = FALSE; gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->journal_autoformat), bool_autoformat); if (picture) { for (i = 0; i < dc->pictures + 1; i++) { pickw = g_strdup_printf ("pickw_%d", i); text = g_hash_table_lookup (dc->picture_keywords, pickw); if (!strcmp (picture, text)) gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_picture), i); g_free (pickw); } } else gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_picture), 0); if (!event) event = g_strdup (""); if (!subject) subject = g_strdup (""); if (!mood) mood = g_strdup (""); if (!music) music = g_strdup (""); if (!tags) tags = g_strdup (""); gtk_text_buffer_set_text (dc->buffer, event, -1); gtk_source_buffer_begin_not_undoable_action (GTK_SOURCE_BUFFER (dc->buffer)); gtk_entry_set_text (GTK_ENTRY (dc->journal_subject), subject); gtk_entry_set_text (GTK_ENTRY (dc->journal_tags), tags); gtk_entry_set_text (GTK_ENTRY (GTK_BIN (dc->journal_mood)->child), mood); gtk_entry_set_text (GTK_ENTRY (GTK_BIN (dc->journal_music)->child), music); gtk_entry_set_text (GTK_ENTRY (dc->journal_tags), tags); if (itemid) dc->journal_entry->postid = g_strdup (itemid); if (link) dc->journal_entry->link = g_strdup (link); gtk_widget_set_sensitive (dc->menu_post, FALSE); gtk_widget_set_sensitive (dc->menu_update, TRUE); gtk_widget_set_sensitive (dc->menu_delete, supported_by_api (MENU_DELETE, dc->user->api)); gtk_widget_hide (dc->journal_post); gtk_widget_set_sensitive (dc->edit_delete, supported_by_api (MENU_DELETE, dc->user->api)); gtk_widget_show (dc->edit_delete); gtk_widget_show (dc->edit_save); gtk_widget_show (dc->edit_cancel); gtk_widget_grab_default (dc->edit_save); gtk_widget_grab_focus (dc->journal_text); dc->modified = FALSE; gtk_source_buffer_end_not_undoable_action (GTK_SOURCE_BUFFER (dc->buffer)); return; } void journal_edit_entry_finished (DrivelClient *dc) { debug ("journal_edit_entry_finished()"); gtk_widget_set_sensitive (dc->menu_post, TRUE); gtk_widget_set_sensitive (dc->menu_update, FALSE); gtk_widget_set_sensitive (dc->menu_delete, FALSE); gtk_widget_hide (dc->edit_delete); gtk_widget_hide (dc->edit_save); gtk_widget_hide (dc->edit_cancel); gtk_widget_show (dc->journal_post); journal_display_defaults (dc); gtk_source_buffer_end_not_undoable_action (GTK_SOURCE_BUFFER (dc->buffer)); return; } static void proxy_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) { GConfValue *value; gboolean state; DrivelClient *dc = (DrivelClient *) data; value = gconf_entry_get_value (entry); state = gconf_value_get_bool (value); g_mutex_lock (net_mutex); dc->proxy = state; g_mutex_unlock (net_mutex); return; } static void proxy_user_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) { GConfValue *value; const gchar *user; DrivelClient *dc = (DrivelClient *) data; value = gconf_entry_get_value (entry); user = gconf_value_get_string (value); g_mutex_lock (net_mutex); g_free (dc->proxy_user); dc->proxy_user = g_strdup (user); g_mutex_unlock (net_mutex); return; } static void proxy_pass_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) { GConfValue *value; const gchar *pass; DrivelClient *dc = (DrivelClient *) data; value = gconf_entry_get_value (entry); pass = gconf_value_get_string (value); g_mutex_lock (net_mutex); g_free (dc->proxy_pass); dc->proxy_pass = g_strdup (pass); g_mutex_unlock (net_mutex); return; } static void proxy_url_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) { GConfValue *value; const gchar *url; DrivelClient *dc = (DrivelClient *) data; value = gconf_entry_get_value (entry); url = gconf_value_get_string (value); g_mutex_lock (net_mutex); g_free (dc->proxy_url); dc->proxy_url = g_strdup (url); g_mutex_unlock (net_mutex); return; } static void proxy_port_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) { GConfValue *value; gint port; DrivelClient *dc = (DrivelClient *) data; value = gconf_entry_get_value (entry); port = gconf_value_get_int (value); g_mutex_lock (net_mutex); dc->proxy_port = port; g_mutex_unlock (net_mutex); return; } static void tray_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) { GConfValue *value; gboolean state; DrivelClient *dc = (DrivelClient *) data; value = gconf_entry_get_value (entry); state = gconf_value_get_bool (value); if (state && dc->journal_window) tray_turn_on (dc); else tray_turn_off (dc); return; } static void expander_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer user_data) { GConfValue *value; gboolean state; DrivelClient *dc = (DrivelClient *) user_data; /* if the journal hasn't been built yet, skip this */ if (!dc->journal_window) return; value = gconf_entry_get_value (entry); state = gconf_value_get_bool (value); gtk_expander_set_expanded (GTK_EXPANDER (dc->journal_expander), state); gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (dc->menu_view_options), state); return; } static void highlight_syntax_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer user_data) { GConfValue *value; gboolean state; DrivelClient *dc = (DrivelClient *) user_data; /* if the journal hasn't been built yet, skip this */ if (!dc->journal_window) return; value = gconf_entry_get_value (entry); state = gconf_value_get_bool (value); gtk_source_buffer_set_highlight_syntax (GTK_SOURCE_BUFFER (dc->buffer), state); gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (dc->menu_view_html_keywords), state); return; } #ifdef HAVE_GTKSPELL static void spell_language_select_menuitem (DrivelClient *dc, const gchar *lang) { GtkComboBox *combo = GTK_COMBO_BOX (dc->pref_dictionary); GtkTreeModel *model; GtkTreeIter iter; gchar *tmp_lang; gint i = 0, found = -1; if (!combo) return; if (lang == NULL) { gtk_combo_box_set_active (combo, 0); return; } model = gtk_combo_box_get_model (combo); if (!gtk_tree_model_get_iter_first (model, &iter)) return; do { gtk_tree_model_get (model, &iter, 0, &tmp_lang, -1); if (g_str_equal (tmp_lang, lang)) found = i; g_free (tmp_lang); i++; } while (gtk_tree_model_iter_next (model, &iter) && found < 0); if (found >= 0) gtk_combo_box_set_active (combo, found); else g_warning ("Language %s from GConf isn't in the list of available languages\n", lang); return; } #endif /* HAVE_GTKSPELL */ static void spell_language_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer user_data) { #ifdef HAVE_GTKSPELL DrivelClient *dc; GConfValue *value; GtkSpell *spell; const gchar *gconf_lang; gchar *lang; gboolean spellcheck_wanted; g_return_if_fail (user_data); dc = (DrivelClient *) user_data; value = gconf_entry_get_value (entry); gconf_lang = gconf_value_get_string (value); if (*gconf_lang == '\0' || gconf_lang == NULL) lang = NULL; else lang = g_strdup (gconf_lang); /* if the journal hasn't been built yet, skip this */ if (dc->journal_window) { spellcheck_wanted = gconf_client_get_bool (dc->client, dc->gconf->spellcheck, NULL); spell = gtkspell_get_from_text_view (GTK_TEXT_VIEW (dc->journal_text)); if (spellcheck_wanted) { if (spell && lang) /* Only if we have both spell and lang non-null we can use _set_language() */ gtkspell_set_language (spell, lang, NULL); else { /* We need to create a new spell widget if we want to use lang == NULL (use default lang) * or if the spell isn't initialized */ if (spell) gtkspell_detach (spell); spell = gtkspell_new_attach (GTK_TEXT_VIEW (dc->journal_text), lang, NULL); } gtkspell_recheck_all (spell); } } spell_language_select_menuitem ((DrivelClient *) user_data, lang); g_free (lang); #endif /* HAVE_GTKSPELL */ return; } static void spellcheck_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer user_data) { #ifdef HAVE_GTKSPELL GConfValue *value; GtkSpell *spell; gboolean state; gchar *lang; DrivelClient *dc = (DrivelClient *) user_data; value = gconf_entry_get_value (entry); state = gconf_value_get_bool (value); /* if the preferences dialog exists, toggle the sensitivity of the * dictionary list */ if (dc->pref_dictionary) gtk_widget_set_sensitive (dc->pref_dictionary_box, state); /* if the journal hasn't been built yet, skip this */ if (!dc->journal_window) return; spell = gtkspell_get_from_text_view (GTK_TEXT_VIEW (dc->journal_text)); lang = gconf_client_get_string (dc->client, dc->gconf->spell_language, NULL); if (state) { if (!spell) gtkspell_new_attach (GTK_TEXT_VIEW (dc->journal_text), (lang == NULL || *lang == '\0') ? NULL : lang, NULL); } else { if (spell) gtkspell_detach (spell); } gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (dc->menu_view_misspelled_words), state); #endif /* HAVE_GTKSPELL */ return; } static void editor_set_font (GtkWidget *journal_text, gboolean def, const gchar *font_name) { if (!def) { PangoFontDescription *font_desc = NULL; g_return_if_fail (font_name != NULL); font_desc = pango_font_description_from_string (font_name); g_return_if_fail (font_desc != NULL); gtk_widget_modify_font (GTK_WIDGET (journal_text), font_desc); pango_font_description_free (font_desc); } else { GtkRcStyle *rc_style; rc_style = gtk_widget_get_modifier_style (GTK_WIDGET (journal_text)); if (rc_style->font_desc) pango_font_description_free (rc_style->font_desc); rc_style->font_desc = NULL; gtk_widget_modify_style (GTK_WIDGET (journal_text), rc_style); } } static void editor_update_font(DrivelClient *dc) { GConfValue *value; gboolean state; gchar *editor_font; /* if the journal hasn't been built yet, skip this */ if (!dc->journal_window) return; value = gconf_client_get(dc->client, dc->gconf->use_default_font, NULL); if (value) state = gconf_value_get_bool(value); else state = TRUE; editor_font = gconf_client_get_string(dc->client, dc->gconf->editor_font, NULL); editor_set_font( GTK_WIDGET(dc->journal_text), state, (editor_font == NULL || *editor_font=='\0') ? NULL : editor_font); g_free (editor_font); return; } static void editor_font_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer user_data) { DrivelClient *dc = (DrivelClient *) user_data; editor_update_font(dc); return; } static void use_default_font_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer user_data) { GConfValue *value; gboolean state; DrivelClient *dc = (DrivelClient *) user_data; /* set sensitivity of GtkFontButton */ if (dc->pref_font_hbox) { value = gconf_entry_get_value (entry); state = gconf_value_get_bool (value); gtk_widget_set_sensitive(dc->pref_font_hbox, !state); } editor_update_font(dc); return; } static void mood_combo_changed_cb (GtkWidget *mood, gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; gchar * title; DrivelClient *dc = (DrivelClient *) user_data; model = gtk_combo_box_get_model (GTK_COMBO_BOX (mood)); if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX(mood), &iter)) { gtk_tree_model_get (model, &iter, 0, &title, -1); gtk_entry_set_text (GTK_ENTRY ((GTK_BIN (dc->journal_mood)->child)), title); g_free (title); } } static void mood_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) { GConfValue *value; const gchar *string; DrivelClient *dc = (DrivelClient *) data; value = gconf_entry_get_value (entry); string = gconf_value_get_string (value); debug ("mood_changed_cb () "); if (dc->journal_mood) gtk_entry_set_text (GTK_ENTRY (GTK_BIN (dc->journal_mood)->child), string); return; } static void music_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) { GConfValue *value; const gchar *string; DrivelClient *dc = (DrivelClient *) data; value = gconf_entry_get_value (entry); string = gconf_value_get_string (value); debug ("music_changed_cb ()"); if (dc->journal_music) gtk_entry_set_text (GTK_ENTRY (GTK_BIN (dc->journal_music)->child), string); return; } static void backdate_toggled_cb (GtkWidget *checkbox, gpointer data) { gboolean active; DrivelClient *dc = (DrivelClient *)data; active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbox)); gtk_widget_set_sensitive (GTK_WIDGET(dc->journal_date), active); return; } static void picture_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) { GConfValue *value; gint num; DrivelClient *dc = (DrivelClient *) data; value = gconf_entry_get_value (entry); num = gconf_value_get_int (value); if (dc->journal_picture) gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_picture), num); return; } static void security_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) { gint mask; gchar *name; DrivelClient *dc = (DrivelClient *) data; if (dc->journal_security) { name = gconf_client_get_string (dc->client, dc->gconf->default_security, NULL); mask = gconf_client_get_int (dc->client, dc->gconf->default_security_mask, NULL); select_security_group (GTK_TREE_MODEL (dc->security_store), GTK_COMBO_BOX (dc->journal_security), name, mask); } return; } static void comment_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) { GConfValue *value; gboolean state; DrivelClient *dc = (DrivelClient *) data; value = gconf_entry_get_value (entry); state = gconf_value_get_bool (value); if (dc->journal_comment) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->journal_comment), state); return; } static void autoformat_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) { GConfValue *value; gboolean state; DrivelClient *dc = (DrivelClient *) data; value = gconf_entry_get_value (entry); state = gconf_value_get_bool (value); if (dc->journal_autoformat) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dc->journal_autoformat), state); return; } gboolean delete_event_cb (GtkWidget *widget, GdkEventAny *event, gpointer data) { DrivelClient *dc = (DrivelClient *) data; gboolean retval; retval = TRUE; if (display_save_dialog_close (dc)) { journal_window_state_save (dc); gtk_main_quit (); retval = FALSE; } return retval; } void exit_cb (GtkWidget *widget, gpointer data) { gboolean cancel = FALSE; DrivelClient *dc = (DrivelClient *) data; if (dc->journal_window) { if (!display_save_dialog_close (dc)) cancel = TRUE; } if (!cancel) gtk_main_quit (); return; } static void logout_cb (GtkWidget *widget, gpointer data) { DrivelClient *dc = (DrivelClient *) data; if (!display_save_dialog_close (dc)) return; #ifdef HAVE_GTKSPELL if (gconf_client_get_bool (dc->client, dc->gconf->spellcheck, NULL)) { GtkSpell *spell; spell = gtkspell_get_from_text_view (GTK_TEXT_VIEW (dc->journal_text)); if (spell) gtkspell_detach (spell); } #endif /* HAVE_GTKSPELL */ journal_window_state_save (dc); gtk_widget_destroy (dc->journal_window); gtk_widget_show_all (dc->login_window); drivel_pop_current_window (dc); dc->journal_window = NULL; clear_recent_entries (dc->recent_entries); if (dc->picture_keywords) { hash_table_clear (dc->picture_keywords); dc->picture_keywords = NULL; } if (dc->journal_list) { g_slist_foreach (dc->journal_list, (GFunc) drivel_journal_free, NULL); g_slist_free (dc->journal_list); dc->journal_list = NULL; } dc->journals = 0; dc->active_journal = NULL; if (dc->menu_list) { g_slist_foreach (dc->menu_list, menu_list_free_item, NULL); g_slist_free (dc->menu_list); dc->menu_list = NULL; } g_source_remove (dc->tag_autosave); dc->time_since_checkfriends = 0; journal_entry_free (dc->journal_entry); dc->journal_entry = NULL; drivel_fill_journal_null (dc); /* clear the password if the user doesn't want it saved */ if (!dc->user->save_password) { gtk_entry_set_text (GTK_ENTRY (dc->login_password), ""); g_free (dc->user->password); dc->user->password = NULL; } tray_turn_off (dc); gtk_editable_select_region (GTK_EDITABLE (GTK_BIN (dc->login_name)->child), 0, -1); gtk_widget_grab_focus (GTK_BIN (dc->login_name)->child); return; } static void text_changed_cb (GtkWidget *widget, gpointer data) { gint text; DrivelClient *dc = (DrivelClient *) data; text = gtk_text_buffer_get_char_count (GTK_TEXT_BUFFER (widget)); if (text) { dc->modified = TRUE; gtk_widget_set_sensitive (dc->journal_post, TRUE); gtk_widget_set_sensitive (dc->menu_post, TRUE && supported_by_api (MENU_POST, dc->user->api)); } else { dc->modified = FALSE; gtk_widget_set_sensitive (dc->journal_post, FALSE); gtk_widget_set_sensitive (dc->menu_post, FALSE); } return; } static void insert_html (DrivelClient *dc, const gchar *open, const gchar *close) { GtkTextIter start, end; GtkTextMark *mark_insert, *mark_selection; gboolean reverse = FALSE; mark_selection = gtk_text_buffer_get_selection_bound (dc->buffer); mark_insert = gtk_text_buffer_get_insert (dc->buffer); gtk_text_buffer_get_iter_at_mark (dc->buffer, &start, mark_selection); gtk_text_buffer_get_iter_at_mark (dc->buffer, &end, mark_insert); if (gtk_text_iter_compare (&start, &end) > 0) { gtk_text_buffer_get_iter_at_mark (dc->buffer, &start, mark_insert); reverse = TRUE; } gtk_text_buffer_insert (dc->buffer, &start, open, -1); if (!close) return; if (reverse) gtk_text_buffer_get_iter_at_mark (dc->buffer, &end, mark_selection); else gtk_text_buffer_get_iter_at_mark (dc->buffer, &end, mark_insert); gtk_text_buffer_insert (dc->buffer, &end, close, -1); if (reverse) gtk_text_buffer_get_iter_at_mark (dc->buffer, &end, mark_selection); else gtk_text_buffer_get_iter_at_mark (dc->buffer, &end, mark_insert); gtk_text_iter_backward_chars (&end, strlen (close)); gtk_text_buffer_place_cursor (dc->buffer, &end); return; } static void skip_tag (DrivelClient *dc, gchar *tag) { gchar *text, *search_text, *search_tag; GtkTextMark *mark_insert; GtkTextIter start, end; gint characters = 0, matched = 0, to_match; gunichar ch1, ch2; mark_insert = gtk_text_buffer_get_insert (dc->buffer); gtk_text_buffer_get_iter_at_mark (dc->buffer, &start, mark_insert); gtk_text_buffer_get_end_iter (dc->buffer, &end); text = gtk_text_buffer_get_text (dc->buffer, &start, &end, FALSE); search_text = text; search_tag = tag; ch2 = g_utf8_get_char (search_tag); to_match = g_utf8_strlen (tag, -1); while (*search_text) { characters++; ch1 = g_utf8_get_char (search_text); if (ch1 == ch2) { if (++matched == to_match) break; search_tag = g_utf8_next_char (search_tag); ch2 = g_utf8_get_char (search_tag); } else if (matched) { matched = 0; search_tag = tag; ch2 = g_utf8_get_char (search_tag); } search_text = g_utf8_next_char (search_text); ch1 = g_utf8_get_char (search_text); } gtk_text_iter_forward_chars (&start, characters); gtk_text_buffer_place_cursor (dc->buffer, &start); g_free (text); return; } static gboolean inside_tag (DrivelClient *dc, const gchar *open, const gchar *close) { GtkTextIter start, end; GtkTextMark *mark_insert; gchar *text, *location_close, *location_open; gboolean retval = FALSE; if (!close) return FALSE; if (gtk_text_buffer_get_selection_bounds (dc->buffer, &start, &end)) { text = gtk_text_buffer_get_text (dc->buffer, &start, &end, FALSE); if (!strncmp (text, open, strlen (open)) && !strncmp (text + strlen (text) - strlen (close), close, strlen (close))) retval = TRUE; g_free (text); } else { mark_insert = gtk_text_buffer_get_insert (dc->buffer); gtk_text_buffer_get_iter_at_mark (dc->buffer, &start, mark_insert); gtk_text_buffer_get_end_iter (dc->buffer, &end); text = gtk_text_buffer_get_text (dc->buffer, &start, &end, FALSE); location_close = strstr (text, close); location_open = strstr (text, open); if ((location_close && !location_open) || (location_close && location_close < location_open)) retval = TRUE; g_free (text); } return retval; } static void handle_insert_html (DrivelClient *dc, gchar *open, gchar *close) { if (inside_tag (dc, open, close)) skip_tag (dc, close); else insert_html (dc, open, close); return; } static void bold_cb (GtkWidget *menu, DrivelClient *dc) { handle_insert_html (dc, "", ""); return; } static void italic_cb (GtkWidget *menu, DrivelClient *dc) { handle_insert_html (dc, "", ""); return; } static void underline_cb (GtkWidget *menu, DrivelClient *dc) { handle_insert_html (dc, "", ""); return; } static void strikethrough_cb (GtkWidget *menu, DrivelClient *dc) { handle_insert_html (dc, "", ""); return; } static void superscript_cb (GtkWidget *menu, DrivelClient *dc) { handle_insert_html (dc, "", ""); return; } static void subscript_cb (GtkWidget *menu, DrivelClient *dc) { handle_insert_html (dc, "", ""); return; } static void list_cb (GtkWidget *menu, DrivelClient *dc) { handle_insert_html (dc, "
    ", "
"); return; } static void listitem_cb (GtkWidget *menu, DrivelClient *dc) { handle_insert_html (dc, "
  • ", "
  • "); return; } static void blockquote_cb (GtkWidget *menu, DrivelClient *dc) { handle_insert_html (dc, "
    ", "
    "); return; } void add_gconf_notifies (DrivelClient *dc) { dc->id.mood_id = gconf_client_notify_add (dc->client, dc->gconf->default_mood, mood_changed_cb, dc, NULL, NULL); dc->id.music_id = gconf_client_notify_add (dc->client, dc->gconf->default_music, music_changed_cb, dc, NULL, NULL); dc->id.picture_id = gconf_client_notify_add (dc->client, dc->gconf->default_picture, picture_changed_cb, dc, NULL, NULL); dc->id.security_id = gconf_client_notify_add (dc->client, dc->gconf->default_security, security_changed_cb, dc, NULL, NULL); dc->id.security_mask_id = gconf_client_notify_add (dc->client, dc->gconf->default_security_mask, security_changed_cb, dc, NULL, NULL); dc->id.comment_id = gconf_client_notify_add (dc->client, dc->gconf->default_comment, comment_changed_cb, dc, NULL, NULL); dc->id.autoformat_id = gconf_client_notify_add (dc->client, dc->gconf->default_autoformat, autoformat_changed_cb, dc, NULL, NULL); dc->id.proxy_id = gconf_client_notify_add (dc->client, "/system/http_proxy/use_http_proxy", proxy_changed_cb, dc, NULL, NULL); dc->id.proxy_user_id = gconf_client_notify_add (dc->client, "/system/http_proxy/authentication_user", proxy_user_changed_cb, dc, NULL, NULL); dc->id.proxy_pass_id = gconf_client_notify_add (dc->client, "/system/http_proxy/authentication_password", proxy_pass_changed_cb, dc, NULL, NULL); dc->id.proxy_url_id = gconf_client_notify_add (dc->client, "/system/http_proxy/host", proxy_url_changed_cb, dc, NULL, NULL); dc->id.proxy_port_id = gconf_client_notify_add (dc->client, "/system/http_proxy/port", proxy_port_changed_cb, dc, NULL, NULL); dc->id.tray_id = gconf_client_notify_add (dc->client, dc->gconf->tray, tray_changed_cb, dc, NULL, NULL); dc->id.expander_open_id = gconf_client_notify_add (dc->client, dc->gconf->expander_open, expander_changed_cb, dc, NULL, NULL); dc->id.highlight_syntax_id = gconf_client_notify_add (dc->client, dc->gconf->highlight_syntax, highlight_syntax_changed_cb, dc, NULL, NULL); dc->id.spellcheck_id = gconf_client_notify_add (dc->client, dc->gconf->spellcheck, spellcheck_changed_cb, dc, NULL, NULL); dc->id.spell_language_id = gconf_client_notify_add (dc->client, dc->gconf->spell_language, spell_language_changed_cb, dc, NULL, NULL); dc->id.use_default_font_id = gconf_client_notify_add (dc->client, dc->gconf->use_default_font, use_default_font_changed_cb, dc, NULL, NULL); dc->id.editor_font_id = gconf_client_notify_add (dc->client, dc->gconf->editor_font, editor_font_changed_cb, dc, NULL, NULL); return; } void remove_gconf_notifies (GConfClient *client, DrivelIDs *id) { gconf_client_notify_remove (client, id->mood_id); gconf_client_notify_remove (client, id->music_id); gconf_client_notify_remove (client, id->picture_id); gconf_client_notify_remove (client, id->security_id); gconf_client_notify_remove (client, id->security_mask_id); gconf_client_notify_remove (client, id->comment_id); gconf_client_notify_remove (client, id->autoformat_id); gconf_client_notify_remove (client, id->proxy_id); gconf_client_notify_remove (client, id->proxy_user_id); gconf_client_notify_remove (client, id->proxy_pass_id); gconf_client_notify_remove (client, id->proxy_url_id); gconf_client_notify_remove (client, id->proxy_port_id); gconf_client_notify_remove (client, id->expander_open_id); gconf_client_notify_remove (client, id->highlight_syntax_id); gconf_client_notify_remove (client, id->spellcheck_id); gconf_client_notify_remove (client, id->spell_language_id); gconf_client_notify_remove (client, id->use_default_font_id); gconf_client_notify_remove (client, id->editor_font_id); return; } static GtkWidget * get_focused_widget (DrivelClient *dc) { GtkWidget *focused; if (gtk_widget_is_focus (dc->journal_subject)) focused = dc->journal_subject; else if (gtk_widget_is_focus (GTK_BIN (dc->journal_mood)->child)) focused = GTK_BIN (dc->journal_mood)->child; else if (gtk_widget_is_focus (dc->journal_music)) focused = dc->journal_music; else focused = dc->journal_text; return focused; } static void clear_cb (GtkWidget *menu, gpointer data) { DrivelClient *dc = (DrivelClient *) data; if (display_save_dialog_proceed (dc)) journal_display_defaults (dc); return; } static void select_all_cb (GtkWidget *menu, gpointer data) { GtkWidget *editable; GtkTextIter start, end; DrivelClient *dc = (DrivelClient *) data; editable = get_focused_widget (dc); if (GTK_IS_EDITABLE (editable)) gtk_editable_select_region (GTK_EDITABLE (editable), 0, -1); else { gtk_text_buffer_get_bounds (dc->buffer, &start, &end); gtk_text_buffer_move_mark_by_name (dc->buffer, "insert", &start); gtk_text_buffer_move_mark_by_name (dc->buffer, "selection_bound", &end); } return; } static void insert_link_cb (GtkWidget *menu, gpointer data) { DrivelClient *dc = (DrivelClient *) data; display_insert_link_dialog (dc); return; } static void insert_image_cb (GtkWidget *menu, gpointer data) { DrivelClient *dc = (DrivelClient *) data; display_insert_image_dialog (dc); return; } static void insert_poll_cb (GtkWidget *menu, gpointer data) { DrivelClient *dc = (DrivelClient *) data; display_insert_poll_dialog (dc); return; } static void edit_entry_cb (GtkWidget *widget, gpointer data) { DrivelClient *dc = (DrivelClient *) data; if (!display_save_dialog_proceed (dc)) return; dc->edit_entry = TRUE; gtk_source_buffer_begin_not_undoable_action (GTK_SOURCE_BUFFER (dc->buffer)); switch (dc->user->api) { case BLOG_API_ADVOGATO: { blog_advogato_build_getevents_request (dc->user->username, dc->user->server); break; } case BLOG_API_ATOM: { blog_atom_build_getevents_request (dc->user->username, dc->user->password, dc->active_journal->uri_feed, TRUE); break; } case BLOG_API_BLOGGER: { blog_blogger_build_getevents_request (dc->user->username, dc->user->password, dc->user->server, dc->active_journal->id, 1); break; } case BLOG_API_LJ: { blog_lj_build_getevents_request (dc->user->username, dc->user->server, 0, FALSE, FALSE, "one", NULL, 0, 0, 0, 0, NULL, -1, NULL, dc->active_journal); break; } case BLOG_API_MT: { blog_mt_build_getevents_request (dc->user->username, dc->user->password, dc->user->server, dc->active_journal->id, TRUE); break; } default: g_warning ("edit_entry_cb: unknown api"); break; } return; } /* Setup window title, etc., for the selected journal */ static void setup_active_journal (DrivelClient *dc, DrivelJournal *dj) { g_return_if_fail (dc); g_return_if_fail (dj); dc->active_journal = dj; /* If the account has multiple journals, remember this as the most recently * used. */ if (dj->name && dj->type == JOURNAL_TYPE_USER) { gconf_client_set_string (dc->client, dc->gconf->last_journal, dj->name, NULL); } /* Set the window's title to match the journal name and description. */ set_journal_title (dc->active_journal, GTK_WINDOW (dc->journal_window), dc->user->api); /* Filter out categories that are not part of the selected journal */ gtk_tree_model_filter_refilter ( GTK_TREE_MODEL_FILTER (dc->category_store_filtered)); gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_category), 0); /* Reload the Recent Entries menu */ journal_refresh_recent_entries (dc); return; } static void active_journal_cb (GtkRadioAction *action, GtkRadioAction *current, gpointer data) { DrivelClient *dc; DrivelJournal *dj; gboolean active; dj = (DrivelJournal *) data; dc = g_object_get_data (G_OBJECT (action), "dc"); active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)); if (active) setup_active_journal (dc, dj); return; } void edit_preferences_cb (GtkWidget *widget, gpointer data) { GSList *user_list; DrivelClient *dc = (DrivelClient *) data; /* if we're at the login window, take the username and selected api and use it to fill in the gconf information */ if (!dc->journal_window && dc->user->username && strcmp (dc->user->username, "")) { drivel_gconf_data_fill (dc->gconf, dc->user->username, dc->user->api, dc->client, &dc->id, dc); gconf_client_set_string (dc->client, "/apps/drivel/global_settings/current_user", dc->user->username, NULL); user_list = gconf_client_get_list (dc->client, "/apps/drivel/global_settings/user_list", GCONF_VALUE_STRING, NULL); if (user_list != NULL && g_slist_find_custom (user_list, dc->user->username, string_compare)) { /* ?? */ } else { user_list = g_slist_prepend (user_list, g_strdup (dc->user->username)); gconf_client_set_list (dc->client, "/apps/drivel/global_settings/user_list", GCONF_VALUE_STRING, user_list, NULL); } } /* if there is no username, throw a fit */ else if (!dc->user->username || !strcmp (dc->user->username, "")) { display_error_dialog (dc, _("Please select a journal account"), _("Preferences apply to each account separately, so you must " "select your account before you can edit its preferences.")); return; } display_edit_preferences_dialog (dc); return; } static void edit_friends_cb (GtkWidget *widget, gpointer data) { DrivelClient *dc = (DrivelClient *) data; blog_lj_build_getfriends_request (dc->user->username, dc->user->server, TRUE, FALSE); return; } static void edit_history_cb (GtkWidget *widget, gpointer data) { DrivelClient *dc = (DrivelClient *) data; display_edit_history_dialog (dc); return; } static void edit_security_cb (GtkWidget *widget, gpointer data) { DrivelClient *dc = (DrivelClient *)data; blog_lj_build_getfriends_request (dc->user->username, dc->user->server, FALSE, TRUE); return; } static void view_more_options_cb (GtkWidget *w, gpointer data) { gboolean state; DrivelClient *dc = (DrivelClient *)data; state = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (dc->menu_view_options)); gconf_client_set_bool (dc->client, dc->gconf->expander_open, state, NULL); return; } static void tool_misspelled_words_cb (GtkWidget *w, gpointer data) { gboolean state; GtkBuilder * builder; DrivelClient *dc = (DrivelClient *)data; builder = load_builder_xml (NULL); if (!builder) return; state = gtk_toggle_tool_button_get_active (dc->tool_view_misspelled_words); gconf_client_set_bool (dc->client, dc->gconf->spellcheck, state, NULL); gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (dc->menu_view_misspelled_words), state); } static void view_misspelled_words_cb (GtkWidget *w, gpointer data) { gboolean state; GtkBuilder * builder; DrivelClient *dc = (DrivelClient *)data; builder = load_builder_xml (NULL); if (!builder) return; state = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (dc->menu_view_misspelled_words)); gconf_client_set_bool (dc->client, dc->gconf->spellcheck, state, NULL); gtk_toggle_tool_button_set_active (dc->tool_view_misspelled_words, state); } static void view_html_keywords_cb (GtkWidget *w, gpointer data) { gboolean state; DrivelClient *dc = (DrivelClient *)data; state = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (dc->menu_view_html_keywords)); gconf_client_set_bool (dc->client, dc->gconf->highlight_syntax, state, NULL); return; } static void journal_post_cb (GtkWidget *w, gpointer data) { DrivelClient *dc = (DrivelClient *) data; DrivelRequestType request; gtk_source_buffer_begin_not_undoable_action (GTK_SOURCE_BUFFER (dc->buffer)); if (gtk_widget_get_visible (dc->journal_post)) request = REQUEST_TYPE_POSTEVENT; else request = REQUEST_TYPE_EDITEVENT; update_status_msg (request); post_entry (dc, request); return; } /* this duplicates the same func in login.c */ static void help_cb (GtkWidget *menu, gpointer data) { g_app_info_launch_default_for_uri ("ghelp:" PACKAGE, NULL, NULL); return; } /* this duplicates the same func in login.c */ static void faq_cb (GtkWidget *menu, gpointer data) { g_app_info_launch_default_for_uri ("ghelp:" PACKAGE "?drivel-faq", NULL, NULL); return; } static void expander_activate_cb (GtkWidget *expander, GParamSpec *param_spec, gpointer data) { DrivelClient *dc = (DrivelClient *) data; gconf_client_set_bool (dc->client, dc->gconf->expander_open, gtk_expander_get_expanded (GTK_EXPANDER (expander)), NULL); } static void journal_cancel_cb (GtkWidget *button, gpointer data) { DrivelClient *dc = (DrivelClient *) data; gtk_source_buffer_begin_not_undoable_action (GTK_SOURCE_BUFFER (dc->buffer)); journal_edit_entry_finished (dc); return; } static void journal_delete_cb (GtkWidget *button, gpointer data) { DrivelClient *dc = (DrivelClient*) data; delete_entry (dc); return; } void journal_window_state_save (DrivelClient *dc) { gboolean max; gint x, y, height, width; GdkWindowState window_state; debug ("journal_window_state_save()"); /* save the window position and size */ if (dc->journal_window) { gtk_window_get_position (GTK_WINDOW (dc->journal_window), &x, &y); gtk_window_get_size (GTK_WINDOW (dc->journal_window), &width, &height); window_state = gdk_window_get_state (dc->journal_window->window); max = (window_state & GDK_WINDOW_STATE_MAXIMIZED); if (!max) { gconf_client_set_int (dc->client, dc->gconf->entry_x, x, NULL); gconf_client_set_int (dc->client, dc->gconf->entry_y, y, NULL); gconf_client_set_int (dc->client, dc->gconf->entry_height, height, NULL); gconf_client_set_int (dc->client, dc->gconf->entry_width, width, NULL); } gconf_client_set_bool (dc->client, dc->gconf->entry_max, max, NULL); } return; } void journal_window_state_restore (DrivelClient *dc) { gboolean max; gint x, y, height, width; debug ("journal_window_state_restore()"); if (dc->journal_window) { x = gconf_client_get_int (dc->client, dc->gconf->entry_x, NULL); y = gconf_client_get_int (dc->client, dc->gconf->entry_y, NULL); height = gconf_client_get_int (dc->client, dc->gconf->entry_height, NULL); width = gconf_client_get_int (dc->client, dc->gconf->entry_width, NULL); max = gconf_client_get_bool (dc->client, dc->gconf->entry_max, NULL); if (height < 5) height = 400; if (width < 5) width = 600; gtk_window_move (GTK_WINDOW (dc->journal_window), x, y); gtk_window_resize (GTK_WINDOW (dc->journal_window), width, height); if (max) gtk_window_maximize (GTK_WINDOW (dc->journal_window)); gtk_window_present (GTK_WINDOW (dc->journal_window)); if (dc->current_window != dc->journal_window) gtk_window_present (GTK_WINDOW (dc->current_window)); } return; } /* Clears up the entry window following a successful post */ void journal_finished_post (DrivelClient *dc) { debug ("journal_finished_post()"); journal_edit_entry_finished (dc); remove_autosave (dc); if (gconf_client_get_bool (dc->client, dc->gconf->min_post, NULL)) gtk_window_iconify (GTK_WINDOW (dc->journal_window)); recent_entry_refresh_cb(NULL,dc); return; } static gchar * fix_mnemonic_string (const gchar *string) { gchar *new_string; gint i, j, len, count; len = strlen (string); for (i = count = 0; i < len; i++) if (string [i] == '_') count++; new_string = g_new0 (gchar, len + count + 1); new_string [len + count] = '\0'; for (i = j = 0; i < len; i++) { if (string [i] == '_') new_string [j++] = '_'; new_string [j++] = string [i]; } return new_string; } static gint build_active_journal_menu (DrivelClient *dc) { GtkActionGroup *action_group; GSList *list, *group; gchar **ui_descriptions, *ui_description; gint i, last_active_journal; GError *error; debug ("build_active_journal_menu()"); ui_descriptions = g_new0 (gchar *, dc->journals + 3); ui_descriptions[0] = g_strdup ( "" " " " " " "); action_group = gtk_action_group_new ("ActiveJournalActions"); gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); list = dc->journal_list; group = NULL; last_active_journal = 0; for (i = 0; i < dc->journals; i++) { GtkRadioAction *action; gchar *name, *label, *last_journal; DrivelJournal *dj; dj = list->data; name = g_strdup_printf ("ActiveJournalItem%d", i); label = fix_mnemonic_string (dj->name); debug (dj->name); action = gtk_radio_action_new (name, label, N_("Select a journal to post to"), NULL, i); gtk_radio_action_set_group (action, group); group = gtk_radio_action_get_group (action); g_object_set_data (G_OBJECT (action), "dc", dc); g_signal_connect (G_OBJECT (action), "changed", G_CALLBACK (active_journal_cb), dj); gtk_action_group_add_action (action_group, GTK_ACTION (action)); /* set the active user to the first journal */ last_journal = gconf_client_get_string (dc->client, dc->gconf->last_journal, NULL); if ((!i && !last_journal) || (last_journal && !strcmp (last_journal, dj->name))) { last_active_journal = i; if (!i) dc->active_journal = dj; } ui_descriptions[i + 1] = g_strdup_printf ("", name); list = list->next; g_free (name); g_free (label); g_free (last_journal); } ui_descriptions[dc->journals + 1] = g_strdup ( " " " " " " ""); ui_descriptions[dc->journals + 2] = NULL; ui_description = g_strjoinv (NULL, ui_descriptions); gtk_ui_manager_insert_action_group (dc->menus, action_group, 0); error = NULL; if (!gtk_ui_manager_add_ui_from_string (dc->menus, ui_description, -1, &error)) { g_message ("building active journal menu failed: %s", error->message); g_error_free (error); } g_strfreev (ui_descriptions); return last_active_journal; } static void web_menu_cb (GtkWidget *menu, gpointer data) { gchar *url = (gchar *) data; g_app_info_launch_default_for_uri (url, NULL, NULL); return; } static gboolean music_combo_cb (GtkWidget *music, GdkEventCrossing *event, gpointer data) { DrivelClient *dc = (DrivelClient *) data; GtkListStore *music_store; gint active; active = gtk_combo_box_get_active (GTK_COMBO_BOX (dc->journal_music)); music_store = GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (dc->journal_music))); query_music_players (music_store); gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_music), active); if (!active) gtk_entry_set_text (GTK_ENTRY (GTK_BIN (dc->journal_music)->child), ""); return FALSE; } static void music_combo_changed_cb (GtkWidget *music, gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; gchar * title; GdkPixbuf G_GNUC_UNUSED * temp; DrivelClient *dc = (DrivelClient *) user_data; model = gtk_combo_box_get_model (GTK_COMBO_BOX (music)); if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX(music), &iter)) { gtk_tree_model_get (model, &iter, 0, &title, -1); g_message ("title=%s", title); gtk_entry_set_text (GTK_ENTRY ((GTK_BIN (dc->journal_music)->child)), title); g_free (title); } } static gchar * create_mnemonic_string (const gchar *string, gchar **mnemonics) { gint i, j, len; gchar *new_string, *fixed_string, needle [2]; gboolean added = FALSE; needle [1] = '\0'; fixed_string = fix_mnemonic_string (string); len = strlen (fixed_string); new_string = g_new0 (gchar, len + 2); j = 0; if (mnemonics [0][0] == '\0') { new_string [j++] = '_'; mnemonics [0][0] = fixed_string [0]; added = TRUE; } for (i = 0; i < len; i++) { if (!added) { needle [0] = fixed_string [i]; if (!strstr (mnemonics [0], needle)) { new_string [j++] = '_'; added = TRUE; mnemonics [0][strlen (mnemonics [0])] = fixed_string [i]; mnemonics [0][strlen (mnemonics [0]) + 1] = '\0'; } } new_string [j++] = fixed_string [i]; } return new_string; } static void build_web_link_menu (DrivelClient *dc) { GSList *list; LJMenuItem *menu; GtkActionGroup *action_group; gint i, j, k, *submenus, n_entries, n_separators, n_submenus, n_subitems; gchar *mnemonics, *ui_description, **ui_descriptions, **merge_descriptions; GError *error; debug ("build_web_link_menu()"); n_entries = n_separators = n_submenus = n_subitems = 0; /* count the number of non-separator menu entries */ for (list = dc->menu_list; list; list = list->next) { menu = list->data; if (strcmp (menu->label, "-")) n_entries++; else n_separators++; if (menu->sub_menu) n_submenus++; if (menu->menu_index) n_subitems++; } mnemonics = g_new0 (gchar, n_entries + 1); mnemonics [0] = '\0'; ui_descriptions = g_new0 (gchar *, n_entries + n_separators + 3); ui_descriptions[0] = g_strdup ( "" " " " "); /* submenus holds the index of the parent menu */ submenus = g_new0 (gint, n_submenus); for (i = 0; i < n_submenus; i++) submenus[i] = 0; merge_descriptions = g_new0 (gchar *, n_subitems); action_group = gtk_action_group_new ("WebActions"); gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); for (i = 1, j = 1, k = 0, list = dc->menu_list; list; list = list->next) { menu = list->data; if (!strcmp (menu->label, "-")) ui_descriptions[i] = g_strdup_printf ("", i); else { gchar *id, *label; GtkAction *action; id = g_strdup_printf ("WebItem%d", j); label = create_mnemonic_string (menu->label, &mnemonics); action = gtk_action_new (id, label, NULL, NULL); gtk_action_group_add_action (action_group, action); if (!menu->sub_menu) { g_signal_connect (G_OBJECT (action), "activate", G_CALLBACK (web_menu_cb), menu->url); if (menu->menu_index) { gchar *parent; parent = g_strdup_printf ("WebItem%d", submenus[menu->menu_index]); ui_descriptions[i] = g_strdup (""); merge_descriptions[k] = g_strdup_printf ( "" " " " " " " " " " " "", parent, id); g_free (parent); k++; } else { ui_descriptions[i] = g_strdup_printf ( "", id); } } else { submenus[menu->sub_menu] = j; ui_descriptions[i] = g_strdup_printf ( "", id); } g_free (id); g_free (label); j++; } i++; } ui_descriptions[n_entries + n_separators + 1] = g_strdup ( " " " " ""); ui_descriptions[n_entries + n_separators + 2] = NULL; ui_description = g_strjoinv (NULL, ui_descriptions); gtk_ui_manager_insert_action_group (dc->menus, action_group, 0); error = NULL; if (!gtk_ui_manager_add_ui_from_string (dc->menus, ui_description, -1, &error)) { g_message ("building web menu failed: %s", error->message); g_error_free (error); } for (i = 0; i < n_subitems; i++) { error = NULL; if (!gtk_ui_manager_add_ui_from_string (dc->menus, merge_descriptions[i], -1, &error)) { g_message ("building web submenu %d failed: %s", i, error->message); g_error_free (error); } } g_strfreev (ui_descriptions); return; } void journal_window_build (DrivelClient *dc) { /* * these are the menus */ static GtkActionEntry entries[] = { { "JournalMenu", NULL, N_("_Journal"), NULL, NULL, NULL }, { "EditMenu", NULL, N_("_Edit"), NULL, NULL, NULL }, { "ViewMenu", NULL, N_("_View"), NULL, NULL, NULL }, { "FormatMenu", NULL, N_("_Format"), NULL, NULL, NULL }, { "WebMenu", NULL, N_("_Web Links"), NULL, NULL, NULL, }, { "HelpMenu", NULL, N_("_Help"), NULL, NULL, NULL, }, { "OpenDraft", GTK_STOCK_OPEN, N_("_Open Draft..."), "O", N_("Open an unfinished journal entry"), G_CALLBACK (open_draft_cb) }, { "SaveDraft", GTK_STOCK_SAVE, N_("_Save Draft"), "S", N_("Save the current entry without adding it to your journal"), G_CALLBACK (save_draft_cb) }, { "SaveDraftAs", GTK_STOCK_SAVE_AS, N_("Save Draft _as..."), NULL, N_("Save the current entry without adding it to your journal"), G_CALLBACK (save_draft_as_cb) }, { "RecentEntries", NULL, N_("_Recent Entries"), NULL, NULL, NULL, }, { "RecentDrafts", NULL, N_("Recent _Drafts"), NULL, NULL, NULL }, { "PostEntry", "drivel-post", N_("_Post Entry"), "Return", N_("Post the current entry to your journal"), G_CALLBACK (journal_post_cb) }, /* FIXME: make an icon for update-entry */ { "UpdateEntry", "drivel-update", N_("_Update Entry"), "Return", N_("Update the selected entry in your journal"), G_CALLBACK (journal_post_cb) }, { "DeleteEntry", GTK_STOCK_DELETE, N_("_Delete Entry"), NULL, N_("Delete the selected entry from your journal."), G_CALLBACK (journal_delete_cb) }, { "LogOut", GTK_STOCK_GO_BACK, N_("_Log Out"), NULL, N_("Switch usernames"), G_CALLBACK (logout_cb) }, { "Quit", GTK_STOCK_QUIT, NULL, NULL, NULL, G_CALLBACK (exit_cb) }, { "Clear", GTK_STOCK_CLEAR, N_("C_lear Entry"), "T", N_("C_lear Entry"), G_CALLBACK (clear_cb) }, { "SelectAll", GTK_STOCK_SELECT_ALL, N_("Select _All"), "A", NULL, G_CALLBACK (select_all_cb) }, /* FIXME: make an icon for edit-last-entry */ { "LastEntry", GTK_STOCK_FIND_AND_REPLACE, N_("Last _Entry"), "L", N_("Edit the last entry you posted"), G_CALLBACK (edit_entry_cb) }, { "Friends", NULL, N_("_Friends"), NULL, N_("Edit your friends list"), G_CALLBACK (edit_friends_cb) }, { "History", NULL, N_("_History"), NULL, N_("View or edit a previous entry"), G_CALLBACK (edit_history_cb) }, { "Security", NULL, N_("Security Groups"), NULL, N_("Edit specific groups of people able to read your entries"), G_CALLBACK (edit_security_cb) }, { "ActiveJournal", NULL, N_("Active _Journal"), NULL, NULL, NULL, }, { "Preferences", GTK_STOCK_PREFERENCES, NULL, NULL, NULL, G_CALLBACK (edit_preferences_cb) }, { "Bold", GTK_STOCK_BOLD, NULL, "B", NULL, G_CALLBACK (bold_cb) }, { "Italic", GTK_STOCK_ITALIC, NULL, "I", NULL, G_CALLBACK (italic_cb) }, { "Underline", GTK_STOCK_UNDERLINE, NULL, "U", NULL, G_CALLBACK (underline_cb) }, { "Strike", GTK_STOCK_STRIKETHROUGH, NULL, NULL, NULL, G_CALLBACK (strikethrough_cb) }, { "Super", NULL, N_("Supe_rscript"), NULL, NULL, G_CALLBACK (superscript_cb) }, { "Sub", NULL, N_("Subs_cript"), NULL, NULL, G_CALLBACK (subscript_cb) }, { "List", NULL, N_("Lis_t"), NULL, NULL, G_CALLBACK (list_cb) }, { "ListItem", NULL, N_("List Ite_m"), NULL, NULL, G_CALLBACK (listitem_cb) }, { "Indent", NULL, N_("I_ndent"), NULL, NULL, G_CALLBACK (blockquote_cb) }, { "InsertLink", "drivel-insert-link", N_("Insert _Link..."), NULL, N_("Create a link to a web page, livejournal user, or a long journal entry"), G_CALLBACK (insert_link_cb) }, { "InsertImage", "drivel-insert-image", N_("Insert Ima_ge..."), NULL, N_("Insert an image into your journal entry"), G_CALLBACK (insert_image_cb) }, { "InsertPoll", NULL, N_("Insert _Poll..."), NULL, NULL, G_CALLBACK (insert_poll_cb) }, { "Contents", GTK_STOCK_HELP, N_("_Contents"), "F1", NULL, G_CALLBACK (help_cb) }, { "FAQ", NULL, N_("_Frequently Asked Questions"), NULL, NULL, G_CALLBACK (faq_cb) }, { "About", GTK_STOCK_ABOUT, N_("_About"), NULL, NULL, G_CALLBACK (about_cb) } }; static GtkToggleActionEntry toggle_entries[] = { { "EntryOptions", NULL, N_("More Entry _Options"), NULL, NULL, G_CALLBACK (view_more_options_cb), FALSE }, { "HighlightSpelling", GTK_STOCK_SPELL_CHECK, N_("Highlight _Spelling Errors"), "F7", N_("Highlight _Spelling Errors"), G_CALLBACK (view_misspelled_words_cb), FALSE }, { "HighlightSyntax", NULL, N_("Highlight _HTML"), NULL, NULL, G_CALLBACK (view_html_keywords_cb), FALSE }, }; static const gchar *ui_description = { "" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " /* " " */ " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "" }; /* * this is the new glade interface for the journal * written by Davyd Madeley */ GtkBuilder * builder; GtkWidget *window, *subject, *security, *mood, *music, *comment, *autoformat, *picture; GtkWidget *text_area, *backdate, *menubar, *box; GtkDateEntry *date; GtkWidget *post_button, *cancel_button, *delete_button, *save_button, *help_button; GtkWidget *save_draft_button, *widget, *options_lj, *options_mt; GtkToolButton * open_draft, *logout_button, *clear_button, *journal_pref_button, * journal_bold, * journal_italic, *journal_underline, *journal_strike, *journal_help_button, *journal_about; GtkListStore *picture_store, *mood_store, *music_store; GtkTreeIter iter; GtkCellRenderer *renderer; GtkSourceBuffer *buffer; GSList *list; GtkActionGroup *action_group; GtkAccelGroup *accel_group; GtkAction *action; GError *error; GtkEntryCompletion *completion; GtkSourceLanguageManager *language_manager; GtkSourceLanguage *language; gchar *mime_type; GConfValue *value; gboolean state; GtkSizeGroup *col1, *row1, *row2; gchar *filename, *last_journal_path, *editor_font; gint last_active_journal; GtkMenuItem * menuitem; debug ("journal_window_build()"); builder = load_builder_xml (NULL); if (!builder) return; /* build size groups for the options pane */ col1 = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); row1 = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL); row2 = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL); /* grab and set the icon for the window */ window = GTK_WIDGET(gtk_builder_get_object (builder, "journal_editor")); filename = g_build_filename (DATADIR, PACKAGE, GLADE, "drivel-24.png", NULL); gtk_window_set_icon_from_file (GTK_WINDOW (window), filename, NULL); g_free (filename); /* subject entry */ subject = GTK_WIDGET(gtk_builder_get_object (builder, "subject")); /* the security dropdown, populate with entries and pictures */ security = GTK_WIDGET(gtk_builder_get_object (builder, "security")); gtk_combo_box_set_model (GTK_COMBO_BOX (security), GTK_TREE_MODEL (dc->security_store)); gtk_cell_layout_clear (GTK_CELL_LAYOUT (security)); renderer = gtk_cell_renderer_pixbuf_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (security), renderer, FALSE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (security), renderer, "pixbuf", STORE_SECURITY_ICON, NULL); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (security), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (security), renderer, "text", STORE_SECURITY_NAME, NULL); /* the text area */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "textview_scrolls")); language_manager = gtk_source_language_manager_new (); mime_type = g_content_type_from_mime_type ("text/html"); language = gtk_source_language_manager_guess_language (language_manager, NULL, mime_type); buffer = gtk_source_buffer_new_with_language (language); text_area = gtk_source_view_new_with_buffer (buffer); gtk_container_add (GTK_CONTAINER (widget), text_area); gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (text_area), GTK_WRAP_WORD); gtk_source_buffer_set_highlight_matching_brackets (GTK_SOURCE_BUFFER (buffer), FALSE); value = gconf_client_get (dc->client, dc->gconf->highlight_syntax, NULL); if (value) state = gconf_value_get_bool (value); else state = TRUE; gtk_source_buffer_set_highlight_syntax (GTK_SOURCE_BUFFER (buffer), state); gtk_source_view_set_smart_home_end (GTK_SOURCE_VIEW (text_area), FALSE); #ifdef HAVE_GTKSPELL if (gconf_client_get_bool (dc->client, dc->gconf->spellcheck, NULL)) { const gchar *spell_lang; spell_lang = gconf_client_get_string (dc->client, dc->gconf->spell_language, NULL); gtkspell_new_attach (GTK_TEXT_VIEW (text_area), (spell_lang == NULL || *spell_lang == '\0') ? NULL : spell_lang, NULL); } #endif /* HAVE_GTKSPELL */ value = gconf_client_get(dc->client, dc->gconf->use_default_font, NULL); if (value) state = gconf_value_get_bool(value); else state = TRUE; editor_font = gconf_client_get_string(dc->client, dc->gconf->editor_font, NULL); if (!state && editor_font) { editor_set_font(GTK_WIDGET(text_area), state, editor_font); } g_free(editor_font); dc->journal_tags = GTK_WIDGET(gtk_builder_get_object (builder, "ljtags")); /* the mood entry */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "mood_label")); gtk_size_group_add_widget (col1, widget); mood_store = gtk_list_store_new (1, G_TYPE_STRING); dc->mood_list = g_slist_sort (dc->mood_list, string_compare); for (list = dc->mood_list; list != NULL; list = list->next) { gtk_list_store_append (mood_store, &iter); gtk_list_store_set (mood_store, &iter, 0, list->data, -1); } mood = GTK_WIDGET(gtk_builder_get_object (builder, "mood")); gtk_combo_box_set_model (GTK_COMBO_BOX (mood), GTK_TREE_MODEL (mood_store)); gtk_cell_layout_clear (GTK_CELL_LAYOUT (mood)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (mood), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (mood), renderer, "text", 0, NULL); completion = gtk_entry_completion_new (); gtk_entry_set_completion (GTK_ENTRY (GTK_BIN (mood)->child), completion); gtk_entry_completion_set_model (completion, GTK_TREE_MODEL (mood_store)); gtk_entry_completion_set_text_column (completion, 0); /* the music entry */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "music_label")); gtk_size_group_add_widget (col1, widget); music_store = gtk_list_store_new (2, G_TYPE_STRING, GDK_TYPE_PIXBUF); music = GTK_WIDGET(gtk_builder_get_object (builder, "music")); gtk_combo_box_set_model (GTK_COMBO_BOX (music), GTK_TREE_MODEL (music_store)); gtk_cell_layout_clear (GTK_CELL_LAYOUT (music)); renderer = gtk_cell_renderer_pixbuf_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (music), renderer, FALSE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (music), renderer, "pixbuf", 1, NULL); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (music), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (music), renderer, "text", 0, NULL); /* no comments check */ comment = GTK_WIDGET(gtk_builder_get_object (builder, "nocomments")); gtk_size_group_add_widget (row1, comment); /* no autoformatting check */ autoformat = GTK_WIDGET(gtk_builder_get_object (builder, "noautoformat")); gtk_size_group_add_widget (row2, autoformat); /* date entry - now a GtkEntry widget, not libegg * GtkDateEntry from homebank. */ backdate = GTK_WIDGET(gtk_builder_get_object (builder, "backdate")); /* needs to be handled with gtk_box_pack etc. */ date = GTK_DATE_ENTRY(gtk_dateentry_new ()); widget = GTK_WIDGET(gtk_builder_get_object (builder, "options_date_box")); gtk_size_group_add_widget (row1, widget); /* pictures dropdown */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "options_picture_box")); gtk_size_group_add_widget (row2, widget); picture_store = gtk_list_store_new (2, G_TYPE_STRING, GDK_TYPE_PIXBUF); fill_picture_menu (dc, picture_store); picture = GTK_WIDGET(gtk_builder_get_object (builder, "picture")); gtk_combo_box_set_model (GTK_COMBO_BOX (picture), GTK_TREE_MODEL (picture_store)); gtk_cell_layout_clear (GTK_CELL_LAYOUT (picture)); renderer = gtk_cell_renderer_pixbuf_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (picture), renderer, FALSE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (picture), renderer, "pixbuf", 1, NULL); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (picture), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (picture), renderer, "text", 0, NULL); dc->picture_store = picture_store; /* category list */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "category")); gtk_combo_box_set_model (GTK_COMBO_BOX (widget), GTK_TREE_MODEL (dc->category_store_filtered)); gtk_cell_layout_clear (GTK_CELL_LAYOUT (widget)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (widget), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (widget), renderer, "text", 0, NULL); dc->journal_category = widget; widget = GTK_WIDGET(gtk_builder_get_object (builder, "category_label")); gtk_label_set_mnemonic_widget(GTK_LABEL(widget),dc->journal_category); /* options expander */ dc->journal_expander = GTK_WIDGET(gtk_builder_get_object (builder, "more_options")); /* buttons */ help_button = GTK_WIDGET(gtk_builder_get_object (builder, "help_button")); delete_button = GTK_WIDGET(gtk_builder_get_object (builder, "delete_button")); cancel_button = GTK_WIDGET(gtk_builder_get_object (builder, "cancel_button")); save_draft_button = GTK_WIDGET(gtk_builder_get_object (builder, "save_draft_button")); save_button = GTK_WIDGET(gtk_builder_get_object (builder, "save_button")); post_button = GTK_WIDGET(gtk_builder_get_object (builder, "post_button")); gtk_button_set_use_stock (GTK_BUTTON (post_button), TRUE); /* store things in the struct */ dc->journal_text = text_area; dc->journal_window = window; dc->journal_subject = subject; dc->journal_mood = mood; dc->journal_music = music; dc->journal_security = security; dc->journal_picture = picture; dc->journal_comment = comment; dc->journal_autoformat = autoformat; dc->journal_backdate = backdate; dc->journal_date = date; dc->journal_post = post_button; dc->modified = FALSE; dc->buffer = GTK_TEXT_BUFFER(buffer); dc->edit_delete = delete_button; dc->edit_cancel = cancel_button; dc->edit_save = save_button; drivel_push_current_window (dc, window); /* menubar */ debug ("building menubar"); action_group = gtk_action_group_new ("MenuActions"); gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); gtk_action_group_add_actions (action_group, entries, G_N_ELEMENTS (entries), dc); gtk_action_group_add_toggle_actions (action_group, toggle_entries, G_N_ELEMENTS (toggle_entries), dc); dc->menus = gtk_ui_manager_new (); gtk_ui_manager_insert_action_group (dc->menus, action_group, 0); accel_group = gtk_ui_manager_get_accel_group (dc->menus); gtk_window_add_accel_group (GTK_WINDOW (window), accel_group); error = NULL; if (!gtk_ui_manager_add_ui_from_string (dc->menus, ui_description, -1, &error)) { g_message ("building menus failed: %s", error->message); g_error_free (error); } last_active_journal = build_active_journal_menu (dc); build_web_link_menu (dc); menubar = gtk_ui_manager_get_widget (dc->menus, "/MainMenu"); menuitem = GTK_MENU_ITEM ( gtk_ui_manager_get_widget (dc->menus, "/MainMenu/JournalMenu/RecentDrafts")); if (menuitem) gtk_menu_item_set_submenu (menuitem, GTK_WIDGET(dc->recent_chooser)); box = GTK_WIDGET(gtk_builder_get_object(builder, "action_box")); gtk_box_pack_start (GTK_BOX(box), menubar, FALSE, TRUE, 0); dc->menu_post = gtk_ui_manager_get_widget (dc->menus, "/MainMenu/JournalMenu/PostEntry"); dc->menu_update = gtk_ui_manager_get_widget (dc->menus, "/MainMenu/JournalMenu/UpdateEntry"); dc->menu_delete = gtk_ui_manager_get_widget (dc->menus, "/MainMenu/JournalMenu/DeleteEntry"); dc->menu_undo = gtk_ui_manager_get_widget (dc->menus, "/MainMenu/EditMenu/Undo"); dc->menu_redo = gtk_ui_manager_get_widget (dc->menus, "/MainMenu/EditMenu/Redo"); dc->menu_cut = gtk_ui_manager_get_widget (dc->menus, "/MainMenu/EditMenu/Cut"); dc->menu_copy = gtk_ui_manager_get_widget (dc->menus, "/MainMenu/EditMenu/Copy"); dc->menu_paste = gtk_ui_manager_get_widget (dc->menus, "/MainMenu/EditMenu/Paste"); dc->menu_last = gtk_ui_manager_get_widget (dc->menus, "/MainMenu/EditMenu/LastEntry"); dc->menu_friends = gtk_ui_manager_get_widget (dc->menus, "/MainMenu/EditMenu/Friends"); dc->menu_history = gtk_ui_manager_get_widget (dc->menus, "/MainMenu/EditMenu/History"); dc->menu_security = gtk_ui_manager_get_widget (dc->menus, "/MainMenu/EditMenu/Security"); dc->menu_active = gtk_ui_manager_get_widget (dc->menus, "/MainMenu/EditMenu/ActiveJournal"); dc->menu_view_options = gtk_ui_manager_get_action (dc->menus, "/MainMenu/ViewMenu/EntryOptions"); dc->menu_view_misspelled_words = gtk_ui_manager_get_action (dc->menus, "/MainMenu/ViewMenu/HighlightSpelling"); dc->menu_view_html_keywords = gtk_ui_manager_get_action (dc->menus, "/MainMenu/ViewMenu/HighlightSyntax"); /* signals */ debug ("connecting signals"); g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (delete_event_cb), dc); g_signal_connect (G_OBJECT (buffer), "changed", G_CALLBACK (text_changed_cb), dc); g_signal_connect (G_OBJECT (post_button), "clicked", G_CALLBACK (journal_post_cb), dc); g_signal_connect (G_OBJECT (delete_button), "clicked", G_CALLBACK (journal_delete_cb), dc); g_signal_connect (G_OBJECT (cancel_button), "clicked", G_CALLBACK (journal_cancel_cb), dc); g_signal_connect (G_OBJECT (save_button), "clicked", G_CALLBACK (journal_post_cb), dc); g_signal_connect (G_OBJECT (save_draft_button), "clicked", G_CALLBACK (save_draft_cb), dc); g_signal_connect (G_OBJECT (dc->journal_expander), "notify::expanded", G_CALLBACK (expander_activate_cb), dc); widget = GTK_WIDGET(gtk_builder_get_object (builder, "options_music_eventbox")); g_signal_connect (G_OBJECT (widget), "enter_notify_event", G_CALLBACK (music_combo_cb), dc); g_signal_connect (G_OBJECT (music), "changed", G_CALLBACK (music_combo_changed_cb), dc); g_signal_connect (G_OBJECT (mood), "changed", G_CALLBACK (mood_combo_changed_cb), dc); g_signal_connect (G_OBJECT (backdate), "toggled", G_CALLBACK (backdate_toggled_cb), dc); g_signal_connect (G_OBJECT (dc->recent_chooser), "item_activated", G_CALLBACK (open_draft_recent_cb), dc); dc->tag_autosave = g_timeout_add (5000, autosave_cb, dc); /* journal toolbar buttons */ open_draft = TOOLBUTTONBUILD ("open_draft"); logout_button = TOOLBUTTONBUILD ("logout_button"); clear_button = TOOLBUTTONBUILD ("clear_button"); journal_pref_button = TOOLBUTTONBUILD ("journal_pref_button"); journal_bold = TOOLBUTTONBUILD ("journal_bold"); journal_italic = TOOLBUTTONBUILD ("journal_italic"); journal_underline = TOOLBUTTONBUILD ("journal_underline"); journal_strike = TOOLBUTTONBUILD ("journal_strike"); journal_help_button = TOOLBUTTONBUILD ("journal_help_button"); journal_about = TOOLBUTTONBUILD ("journal_about"); dc->tool_view_misspelled_words = GTK_TOGGLE_TOOL_BUTTON(gtk_builder_get_object (builder, "journal_spell")); g_signal_connect (G_OBJECT (open_draft), "clicked", G_CALLBACK (open_draft_cb), dc); g_signal_connect (G_OBJECT(logout_button), "clicked", G_CALLBACK (logout_cb), dc); g_signal_connect (G_OBJECT (clear_button), "clicked", G_CALLBACK (clear_cb), dc); g_signal_connect (G_OBJECT(journal_pref_button), "clicked", G_CALLBACK (edit_preferences_cb), dc); g_signal_connect (G_OBJECT(journal_bold), "clicked", G_CALLBACK (bold_cb), dc); g_signal_connect (G_OBJECT(journal_italic), "clicked", G_CALLBACK (italic_cb), dc); g_signal_connect (G_OBJECT (journal_underline), "clicked", G_CALLBACK (underline_cb), dc); g_signal_connect (G_OBJECT (journal_strike), "clicked", G_CALLBACK (strikethrough_cb), dc); g_signal_connect (G_OBJECT (journal_help_button), "clicked", G_CALLBACK (help_cb), dc); g_signal_connect (G_OBJECT (journal_about), "clicked", G_CALLBACK (about_cb), dc); g_signal_connect (G_OBJECT (dc->tool_view_misspelled_words), "toggled", G_CALLBACK (tool_misspelled_words_cb), dc); /* journal_display_defaults() will free dc->draft_filename, so if the user specified a file on the command line, we need to save it */ if (dc->draft_filename) filename = g_strdup (dc->draft_filename); else filename = NULL; journal_display_defaults (dc); dc->draft_filename = filename; /* load the autosave file (if available) or a file specified on the command line */ open_file (dc->draft_filename, dc); /* turn on the tray icon */ value = gconf_client_get (dc->client, dc->gconf->tray, NULL); if (value) state = gconf_value_get_bool (value); else state = TRUE; if (state) tray_turn_on (dc); /* select the last active journal */ last_journal_path = g_strdup_printf ("/MainMenu/EditMenu/ActiveJournal/ActiveJournalItem%d", last_active_journal); action = gtk_ui_manager_get_action (dc->menus, last_journal_path); if (last_active_journal && action) gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), TRUE); g_free (last_journal_path); /* hide the top-level window while we setup the size and position */ widget = GTK_WIDGET(gtk_builder_get_object (builder, "main_vbox")); gtk_widget_hide (window); gtk_widget_show_all (widget); /* this needs to be after show_all() */ /* egg_datetime_set_display_mode (EGG_DATETIME (date), EGG_DATETIME_DISPLAY_DATE); */ /* this is hidden for the time being, as we don't have any help */ gtk_widget_hide (help_button); gtk_widget_hide (delete_button); gtk_widget_hide (cancel_button); gtk_widget_hide (save_button); /* depending on the api, only show the appropriate controls */ options_lj = GTK_WIDGET(gtk_builder_get_object (builder, "options_lj")); options_mt = GTK_WIDGET(gtk_builder_get_object (builder, "options_mt")); widget = GTK_WIDGET(gtk_builder_get_object (builder, "more_options")); gtk_widget_hide (options_lj); gtk_widget_hide (options_mt); switch (dc->user->api) { case BLOG_API_LJ: { gtk_entry_set_text (GTK_ENTRY(options_lj), gtk_entry_get_text(GTK_ENTRY(dc->journal_tags))); gtk_widget_show (options_lj); break; } case BLOG_API_MT: { GtkWidget * temp; /* switch tags entry */ temp = GTK_WIDGET(gtk_builder_get_object (builder, "mttags")); gtk_entry_set_text (GTK_ENTRY(temp), gtk_entry_get_text(GTK_ENTRY(dc->journal_tags))); dc->journal_tags = temp; gtk_widget_show (options_mt); break; } default: gtk_widget_hide (widget); break; } widget = GTK_WIDGET(gtk_builder_get_object (builder, "options_security_box")); if (dc->user->api != BLOG_API_LJ) gtk_widget_hide (widget); widget = GTK_WIDGET(gtk_builder_get_object (builder, "options_subject_box")); if (dc->user->api == BLOG_API_ADVOGATO) gtk_widget_hide (widget); /* offline users can't post, online users can use the menu to save a draft */ if (dc->user->api == BLOG_API_OFFLINE) gtk_widget_hide (post_button); else gtk_widget_hide (save_draft_button); dc->progressbar = GTK_WIDGET(gtk_builder_get_object(builder, "journal_progress_bar")); dc->statusbar = GTK_STATUSBAR(gtk_builder_get_object(builder, "journal_statusbar")); set_journal_title (dc->active_journal, GTK_WINDOW (window), dc->user->api); journal_window_state_restore (dc); gtk_widget_show (window); gtk_window_present (GTK_WINDOW (window)); if (gconf_client_get_bool (dc->client, dc->gconf->min_start, NULL)) gtk_window_iconify (GTK_WINDOW (dc->journal_window)); debug ("journal_window_build() is complete"); return; } drivel-3.0.5/src/Makefile.am0000644000175000017500000000231212161410674012550 00000000000000 AM_CFLAGS = \ $(DISABLE_DEPRECATED_CFLAGS) \ -DDRIVEL_GLADE_FILE=\"$(gladedir)/drivel-gtk.glade\" \ -DDATADIR=\""$(datadir)"\" \ -DPREFIX=\""$(prefix)"\" \ -DG_LOG_DOMAIN=\"Drivel\" \ -I$(top_srcdir) \ $(WARN_CFLAGS) \ $(DRIVEL_CFLAGS) bin_PROGRAMS = drivel drivel_SOURCES = \ about.h \ atom.h \ blog_advogato.h \ blog_atom.h \ blog_blogger.h \ blog_lj.h \ blog_mt.h \ blog_offline.h \ dialogs.h \ drivel.h \ drivel_request.h \ insert_poll_dialog.h \ query_music_players.h \ journal.h \ login.h \ msg_queue.h \ network.h \ tray.h \ utils.h \ xmlrpc.h \ about.c \ atom.c \ blog_advogato.c \ blog_atom.c \ blog_blogger.c \ blog_lj.c \ blog_mt.c \ blog_offline.c \ dialogs.c \ drivel_request.c \ gtkdateentry.c \ gtkdateentry.h \ insert_poll_dialog.c \ query_music_players.c \ journal.c \ login.c \ main.c \ msg_queue.c \ network.c \ tray.c \ utils.c \ xmlrpc.c \ soup-xmlrpc-message.h \ soup-xmlrpc-message.c \ soup-xmlrpc-response.h \ soup-xmlrpc-response.c drivel_LDADD = \ $(DRIVEL_LIBS) \ $(INTLLIBS) \ -ldl -lm gladedir = $(pkgdatadir)/glade glade_DATA = drivel-gtk.glade EXTRA_DIST = \ $(glade_DATA) drivel-3.0.5/src/blog_offline.c0000644000175000017500000000425311552103110013276 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2004 Todd Kulesza * * Authors: * Todd Kulesza */ #include #include #include "drivel.h" #include "journal.h" #include "blog_offline.h" /* fill in the values of 'dc' with stub data */ void blog_offline_fake_login (DrivelClient *dc) { DrivelJournal *dj; /* fill generic account info with NULL or "Offline" */ dc->journal_list = NULL; dc->journals = 0; dj = drivel_journal_new (); dj->description = g_strdup (_("Offline")); dc->active_journal = dj; g_free (dc->user->username); dc->user->username = g_strdup ("offline"); g_free (dc->user->password); dc->user->password = NULL; g_free (dc->user->server); dc->user->server = NULL; dc->user->api = BLOG_API_OFFLINE; /* fill in the gconf path names */ drivel_gconf_data_fill (dc->gconf, "offline", BLOG_API_OFFLINE, dc->client, &dc->id, dc); /* clear or create the hash tables for picture filenames and keywords */ if (dc->picture_keywords != NULL) hash_table_clear (dc->picture_keywords); else dc->picture_keywords = g_hash_table_new_full (g_str_hash, g_str_equal, hash_table_item_free, hash_table_item_free); if (dc->picture_filenames != NULL) hash_table_clear (dc->picture_filenames); else dc->picture_filenames = g_hash_table_new_full (g_str_hash, g_str_equal, hash_table_item_free, hash_table_item_free); dc->default_picture_file = NULL; gtk_widget_hide (dc->login_window); journal_window_build (dc); return; } drivel-3.0.5/src/query_music_players.c0000644000175000017500000002715111552103110014757 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002-2004 Todd Kulesza, Davyd Madeley * * Authors: * Davyd Madeley * * -*- mode: c; c-basic-offset: 4; tab-size: 8; -*- * */ #include #include #include #include #include #include "query_music_players.h" #include "drivel.h" #ifdef HAVE_DBUS #include #include #include #endif /* ---- definitions ---- */ static void *xmms_dl = NULL; /* for dlopen() */ static void *beep_dl = NULL; /* for dlopen() */ static void add_music_entry (GtkListStore *store, gchar *entry, GdkPixbuf *pixbuf, gboolean *changed, gboolean prepend); static gboolean xmms_init (void); static gchar *xmms_query (void); static gboolean beep_init (void); static gchar *beep_query (void); #ifdef HAVE_DBUS static DBusGConnection * get_session_bus (void); static gchar * dbus_get_playing_rb (void); static gchar * dbus_get_playing_muine (void); static gboolean dbus_service_exists (const gchar *path); #endif /* ---- end definitions ---- */ void query_music_players (GtkListStore *playing) { gboolean entries; GdkPixbuf *pixbuf; gtk_list_store_clear (playing); entries = FALSE; if (xmms_init ()) { pixbuf = gdk_pixbuf_new_from_file (DATADIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S GLADE G_DIR_SEPARATOR_S "xmms.xpm", NULL); add_music_entry (playing, xmms_query (), pixbuf, &entries, FALSE); } if (beep_init ()) { /* XXX - Just use the xmms.xpm for now. */ pixbuf = gdk_pixbuf_new_from_file (DATADIR G_DIR_SEPARATOR_S PACKAGE G_DIR_SEPARATOR_S GLADE G_DIR_SEPARATOR_S "xmms.xpm", NULL); add_music_entry (playing, beep_query (), NULL, &entries, FALSE); } #ifdef HAVE_DBUS { gchar *np = dbus_get_playing_rb (); if (np != NULL) { pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (), "rhythmbox", 16, 0, NULL); add_music_entry (playing, np, pixbuf, &entries, FALSE); } np = dbus_get_playing_muine (); if (np != NULL) { pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (), "muine", 16, 0, NULL); add_music_entry (playing, np, pixbuf, &entries, FALSE); } } #endif if (entries) add_music_entry (playing, g_strdup (""), NULL, NULL, TRUE); else { gtk_widget_set_sensitive (GTK_WIDGET(playing), FALSE); add_music_entry (playing, g_strdup (_("No song playing")), NULL, NULL, FALSE); } } static void add_music_entry (GtkListStore *store, gchar *entry, GdkPixbuf *pixbuf, gboolean *changed, gboolean prepend) { GtkTreeIter iter; if (entry) { if (prepend) gtk_list_store_prepend (store, &iter); else gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, entry, 1, pixbuf, -1); if (changed) *changed = TRUE; } } /* * xmms_init() and xmms_query() are based off * music_xmms_grab() and xmms_load_ok() from logjam. * * logjam - a GTK client for LiveJournal. * Copyright (C) 2000-2003 Evan Martin * * Imported May 3, 2003 by Todd Kulesza * Modified May 5, 2004 by Davyd Madeley */ static gboolean xmms_init (void) { if (xmms_dl == NULL) { xmms_dl = dlopen ("libxmms.so", RTLD_LAZY); if (!xmms_dl) xmms_dl = dlopen ("libxmms.so.1", RTLD_LAZY); if (!xmms_dl) return FALSE; /* no library; don't use xmms. */ } return TRUE; } static gchar *xmms_query (void) { gchar *raw_title, *normalized_title=NULL; gssize pos; gsize bytes_read, bytes_written; static gint (*xrgpp)(gint) = NULL; static gchar* (*xrgpt)(gint, gint) = NULL; if (xrgpp == NULL || xrgpt == NULL) { xrgpp = dlsym (xmms_dl, "xmms_remote_get_playlist_pos"); if (dlerror ()) return NULL; xrgpt = dlsym (xmms_dl, "xmms_remote_get_playlist_title"); if (dlerror ()) return NULL; } pos = xrgpp (0); raw_title = xrgpt (0, pos); /* the string from XMMS is in the locale encoding. We need to * convert this to UTF8 */ if (raw_title) { normalized_title = g_locale_to_utf8(raw_title, strlen(raw_title), &bytes_read, &bytes_written, NULL); free(raw_title); } return normalized_title; } /* * beep_init() and beep_query() are based off * xmms_init() and xmms_query() which are based off * music_xmms_grab() and xmms_load_ok() from logjam. * * logjam - a GTK client for LiveJournal. * Copyright (C) 2000-2003 Evan Martin * * Imported May 3, 2003 by Todd Kulesza * Modified May 5, 2004 by Davyd Madeley * Modified November 18, 2004 by Adam Gregoire */ static gboolean beep_init (void) { if (beep_dl == NULL) { beep_dl = dlopen ("libbeep.so", RTLD_LAZY); if (!beep_dl) beep_dl = dlopen ("libbeep.so.2", RTLD_LAZY); if (!beep_dl) return FALSE; /* no library; don't use beep. */ } return TRUE; } static gchar *beep_query (void) { gchar *raw_title, *normalized_title=NULL; gssize pos; gsize bytes_read, bytes_written; static gint (*xrgpp)(gint) = NULL; static gchar* (*xrgpt)(gint, gint) = NULL; if (xrgpp == NULL || xrgpt == NULL) { xrgpp = dlsym (beep_dl, "xmms_remote_get_playlist_pos"); if (dlerror ()) return NULL; xrgpt = dlsym (beep_dl, "xmms_remote_get_playlist_title"); if (dlerror ()) return NULL; } pos = xrgpp (0); raw_title = xrgpt (0, pos); /* the string from XMMS is in the locale encoding. We need to * convert this to UTF8 */ if (raw_title) { normalized_title = g_locale_to_utf8(raw_title, strlen(raw_title), &bytes_read, &bytes_written, NULL); free(raw_title); } return normalized_title; } /* * routines for talking to Rhythmbox * TODO: Perhaps xmms or bmp can also talk via D-Bus? */ #ifdef HAVE_DBUS static DBusGConnection * get_session_bus (void) { DBusGConnection *conn; GError *error; error = NULL; conn = dbus_g_bus_get (DBUS_BUS_SESSION, &error); if (conn == NULL) { g_printerr ("Failed to open connection to bus: %s\n", error->message); g_error_free (error); return NULL; } return conn; } static gboolean dbus_service_exists (const gchar *name) { GError *error = NULL; DBusGProxy *proxy; gchar **services; gchar **p; gboolean retval = FALSE; DBusGConnection *conn = get_session_bus (); g_return_val_if_fail (conn != NULL, FALSE); proxy = dbus_g_proxy_new_for_name (conn, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); if (!dbus_g_proxy_call (proxy, "ListNames", &error, G_TYPE_INVALID, G_TYPE_STRV, &services, G_TYPE_INVALID)) { if (error->domain == DBUS_GERROR && error->code == DBUS_GERROR_REMOTE_EXCEPTION) g_printerr ("Caught remote method exception %s: %s", dbus_g_error_get_name (error), error->message); else g_printerr ("Error: %s\n", error->message); g_error_free (error); return FALSE; } for (p = services; *p; ++p) { if (strcmp (*p, name) == 0) { retval = TRUE; break; } } g_strfreev (services); return retval; } static gchar * dbus_get_playing_muine (void) { gchar *strings = NULL; gchar *str, *p, *title, *artist; GError *error = NULL; DBusGProxy *proxy; DBusGConnection *conn = get_session_bus (); g_return_val_if_fail (conn != NULL, NULL); if (!dbus_service_exists ("org.gnome.Muine")) return NULL; proxy = dbus_g_proxy_new_for_name (conn, "org.gnome.Muine", "/org/gnome/Muine/Player", "org.gnome.Muine.Player"); if (!dbus_g_proxy_call (proxy, "GetCurrentSong", &error, G_TYPE_INVALID, G_TYPE_STRING, &strings, G_TYPE_INVALID)) { if (error->domain == DBUS_GERROR && error->code == DBUS_GERROR_REMOTE_EXCEPTION) g_printerr ("Caught remote method exception %s: %s", dbus_g_error_get_name (error), error->message); else g_printerr ("Error: %s\n", error->message); g_error_free (error); return NULL; } g_return_val_if_fail (strings != NULL, NULL); str = strings; p = strings; title = "Unknown Title"; artist = "Unknown Artist"; while (*p) { if (*p == '\n') { *p = '\0'; printf ("[%s]\n", str); if (g_ascii_strncasecmp (str, "artist: ", strlen ("artist: ")) == 0) artist = g_strdup ((gchar *) str + strlen ("artist: ")); else if (g_ascii_strncasecmp (str, "title:", strlen ("title:")) == 0) title = g_strdup ((gchar *) str + strlen ("title: ")); str = ++p; } else ++p; } return (g_strdup_printf ("%s - %s", artist, title)); } static gchar * dbus_get_playing_rb (void) { gchar *np = NULL; GError *error = NULL; DBusGProxy *proxy; gchar *playing_uri, *artist, *title; GHashTable *song_details; GValue *artist_v, *title_v; DBusGConnection *conn = get_session_bus (); g_return_val_if_fail (conn != NULL, NULL); if (!dbus_service_exists ("org.gnome.Rhythmbox")) return NULL; /* Step 1: get the URI of the currently playing song */ proxy = dbus_g_proxy_new_for_name (conn, "org.gnome.Rhythmbox", "/org/gnome/Rhythmbox/Player", "org.gnome.Rhythmbox.Player"); error = NULL; if (!dbus_g_proxy_call (proxy, "getPlayingUri", &error, G_TYPE_INVALID, G_TYPE_STRING, &playing_uri, G_TYPE_INVALID)) { if (error->domain == DBUS_GERROR && error->code == DBUS_GERROR_REMOTE_EXCEPTION) g_printerr ("Caught remote method exception %s: %s", dbus_g_error_get_name (error), error->message); else g_printerr ("Error: %s\n", error->message); g_error_free (error); return NULL; } if (strlen (playing_uri? playing_uri : "") == 0) return NULL; /* Step 2: knowing the URI, get the details for the song currently playing */ proxy = dbus_g_proxy_new_for_name (conn, "org.gnome.Rhythmbox", "/org/gnome/Rhythmbox/Shell", "org.gnome.Rhythmbox.Shell"); error = NULL; if (!dbus_g_proxy_call (proxy, "getSongProperties", &error, G_TYPE_STRING, playing_uri, G_TYPE_INVALID, dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE), &song_details, G_TYPE_INVALID)) { if (error->domain == DBUS_GERROR && error->code == DBUS_GERROR_REMOTE_EXCEPTION) g_printerr ("Caught remote method exception %s: %s", dbus_g_error_get_name (error), error->message); else g_printerr ("Error: %s\n", error->message); g_error_free (error); return NULL; } g_return_val_if_fail (song_details != NULL, NULL); artist_v = g_hash_table_lookup (song_details, "artist"); title_v = g_hash_table_lookup (song_details, "title"); g_return_val_if_fail ((artist_v != NULL) && (title_v != NULL), NULL); artist = (gchar *) g_value_get_string (artist_v); title = (gchar *) g_value_get_string (title_v); if (! artist) artist = "Unknown Artist"; if (! title) title = "Unknown Title"; np = g_strdup_printf ("%s - %s", artist, title); g_hash_table_unref (song_details); printf ("get_playing_rhythmbox: %s\n", np); return np; } #endif /* HAVE_DBUS */ drivel-3.0.5/src/xmlrpc.h0000644000175000017500000000424111552103110012160 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002-2004 Todd Kulesza * * Authors: * Todd Kulesza */ #ifndef _XMLRPC_H_ #define _XMLRPC_H_ #include #include "soup-xmlrpc-message.h" SoupXmlrpcMessage* xmlrpc_start (const gchar *name, const gchar *uri); SoupXmlrpcMessage* xmlrpc_start_with_struct (const gchar *name, const gchar *uri); void xmlrpc_add_string_param (SoupXmlrpcMessage *msg, const gchar *value); void xmlrpc_add_string_member (SoupXmlrpcMessage *msg, const gchar *name, const gchar *value); void xmlrpc_add_int_param (SoupXmlrpcMessage *msg, const gint value); void xmlrpc_add_int_member (SoupXmlrpcMessage *msg, const gchar *name, const gint value); void xmlrpc_add_bool_param (SoupXmlrpcMessage *msg, const gboolean value); void xmlrpc_add_bool_member (SoupXmlrpcMessage *msg, const gchar *name, const gboolean value); void xmlrpc_start_array_param (SoupXmlrpcMessage *msg); void xmlrpc_end_array_param (SoupXmlrpcMessage *msg); void xmlrpc_start_array_member (SoupXmlrpcMessage *msg, const gchar *name); void xmlrpc_end_array_member (SoupXmlrpcMessage *msg); void xmlrpc_start_struct_param (SoupXmlrpcMessage *msg); void xmlrpc_end_struct_param (SoupXmlrpcMessage *msg); void xmlrpc_start_struct_member (SoupXmlrpcMessage *msg, const gchar *name); void xmlrpc_end_struct_member (SoupXmlrpcMessage *msg); void xmlrpc_end (SoupXmlrpcMessage *msg); void xmlrpc_end_with_struct (SoupXmlrpcMessage *msg); #endif /* _XMLRPC_H_ */ drivel-3.0.5/src/soup-xmlrpc-response.c0000644000175000017500000003560711552103110015005 00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * soup-xmlrpc-response.c: XMLRPC response message * * Copyright (C) 2003, Novell, Inc. * Copyright (C) 2004, Mariano Suarez-Alvarez * Copyright (C) 2004, Fernando Herrera * Copyright (C) 2005, Jeff Bailey */ #ifdef HAVE_CONFIG_H #include #endif #include #include #include #include #include #include #include "soup-xmlrpc-message.h" #include "soup-xmlrpc-response.h" G_DEFINE_TYPE (SoupXmlrpcResponse, soup_xmlrpc_response, G_TYPE_OBJECT) typedef struct { xmlDocPtr doc; gboolean fault; xmlNodePtr value; } SoupXmlrpcResponsePrivate; #define SOUP_XMLRPC_RESPONSE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_XMLRPC_RESPONSE, SoupXmlrpcResponsePrivate)) static void finalize (GObject *object) { SoupXmlrpcResponsePrivate *priv = SOUP_XMLRPC_RESPONSE_GET_PRIVATE (object); if (priv->doc) xmlFreeDoc (priv->doc); G_OBJECT_CLASS (soup_xmlrpc_response_parent_class)->finalize (object); } static void soup_xmlrpc_response_class_init (SoupXmlrpcResponseClass *soup_xmlrpc_response_class) { GObjectClass *object_class = G_OBJECT_CLASS (soup_xmlrpc_response_class); g_type_class_add_private (soup_xmlrpc_response_class, sizeof (SoupXmlrpcResponsePrivate)); object_class->finalize = finalize; } static void soup_xmlrpc_response_init (SoupXmlrpcResponse *response) { SoupXmlrpcResponsePrivate *priv = SOUP_XMLRPC_RESPONSE_GET_PRIVATE (response); priv->doc = xmlNewDoc ((const xmlChar *)"1.0"); priv->fault = FALSE; } SoupXmlrpcResponse * soup_xmlrpc_response_new (void) { SoupXmlrpcResponse *response; response = g_object_new (SOUP_TYPE_XMLRPC_RESPONSE, NULL); return response; } SoupXmlrpcResponse * soup_xmlrpc_response_new_from_string (const char *xmlstr) { SoupXmlrpcResponse *response; g_return_val_if_fail (xmlstr != NULL, NULL); response = g_object_new (SOUP_TYPE_XMLRPC_RESPONSE, NULL); if (!soup_xmlrpc_response_from_string (response, xmlstr)) { g_object_unref (response); return NULL; } return response; } static xmlNode * exactly_one_child (xmlNode *node) { xmlNode *child; child = soup_xml_real_node (node->children); if (!child || soup_xml_real_node (child->next)) return NULL; return child; } gboolean soup_xmlrpc_response_from_string (SoupXmlrpcResponse *response, const char *xmlstr) { SoupXmlrpcResponsePrivate *priv; xmlDocPtr newdoc; xmlNodePtr body; gboolean fault = TRUE; g_return_val_if_fail (SOUP_IS_XMLRPC_RESPONSE (response), FALSE); priv = SOUP_XMLRPC_RESPONSE_GET_PRIVATE (response); g_return_val_if_fail (xmlstr != NULL, FALSE); newdoc = xmlParseMemory (xmlstr, strlen (xmlstr)); if (!newdoc) goto very_bad; body = xmlDocGetRootElement (newdoc); if (!body || strcmp ((const char *)body->name, "methodResponse")) goto bad; body = exactly_one_child (body); if (!body) goto bad; if (strcmp ((const char *)body->name, "params") == 0) { fault = FALSE; body = exactly_one_child (body); if (!body || strcmp ((const char *)body->name, "param")) goto bad; } else if (strcmp ((const char *)body->name, "fault") != 0) goto bad; body = exactly_one_child (body); if (!body || strcmp ((const char *)body->name, "value")) goto bad; /* body should be pointing by now to the struct of a fault, or the value of a * normal response */ xmlFreeDoc (priv->doc); priv->doc = newdoc; priv->value = body; priv->fault = fault; return TRUE; bad: xmlFreeDoc (newdoc); very_bad: g_message ("SOUP XML response did not seem to be an XML document!"); return FALSE; } xmlChar * soup_xmlrpc_response_to_string (SoupXmlrpcResponse *response) { SoupXmlrpcResponsePrivate *priv; xmlChar *str; int size; g_return_val_if_fail (SOUP_IS_XMLRPC_RESPONSE (response), FALSE); priv = SOUP_XMLRPC_RESPONSE_GET_PRIVATE (response); xmlDocDumpMemoryEnc (priv->doc, &str, &size, "UTF-8"); return str; } gboolean soup_xmlrpc_response_is_fault (SoupXmlrpcResponse *response) { SoupXmlrpcResponsePrivate *priv = SOUP_XMLRPC_RESPONSE_GET_PRIVATE (response); return priv->fault; } SoupXmlrpcValue * soup_xmlrpc_response_get_value (SoupXmlrpcResponse *response) { SoupXmlrpcResponsePrivate *priv; g_return_val_if_fail (SOUP_IS_XMLRPC_RESPONSE (response), FALSE); priv = SOUP_XMLRPC_RESPONSE_GET_PRIVATE (response); return (SoupXmlrpcValue*) priv->value; } SoupXmlrpcValueType soup_xmlrpc_value_get_type (SoupXmlrpcValue *value) { xmlNode *xml; xml = (xmlNode *) value; if (strcmp ((const char *)xml->name, "value")) return SOUP_XMLRPC_VALUE_TYPE_BAD; xml = exactly_one_child (xml); if (!xml) return SOUP_XMLRPC_VALUE_TYPE_BAD; if (xml->type == XML_TEXT_NODE) return SOUP_XMLRPC_VALUE_TYPE_STRING; else if (xml->type != XML_ELEMENT_NODE) return SOUP_XMLRPC_VALUE_TYPE_BAD; if (strcmp ((const char *)xml->name, "i4") == 0 || strcmp ((const char *)xml->name, "int") == 0) return SOUP_XMLRPC_VALUE_TYPE_INT; else if (strcmp ((const char *)xml->name, "boolean") == 0) return SOUP_XMLRPC_VALUE_TYPE_BOOLEAN; else if (strcmp ((const char *)xml->name, "string") == 0) return SOUP_XMLRPC_VALUE_TYPE_STRING; else if (strcmp ((const char *)xml->name, "double") == 0) return SOUP_XMLRPC_VALUE_TYPE_DOUBLE; else if (strcmp ((const char *)xml->name, "dateTime.iso8601") == 0) return SOUP_XMLRPC_VALUE_TYPE_DATETIME; else if (strcmp ((const char *)xml->name, "base64") == 0) return SOUP_XMLRPC_VALUE_TYPE_BASE64; else if (strcmp ((const char *)xml->name, "struct") == 0) return SOUP_XMLRPC_VALUE_TYPE_STRUCT; else if (strcmp ((const char *)xml->name, "array") == 0) return SOUP_XMLRPC_VALUE_TYPE_ARRAY; else return SOUP_XMLRPC_VALUE_TYPE_BAD; } gboolean soup_xmlrpc_value_get_int (SoupXmlrpcValue *value, long *i) { xmlNode *xml; xmlChar *content; char *tail; gboolean ok; xml = (xmlNode *) value; if (strcmp ((const char *)xml->name, "value")) return FALSE; xml = exactly_one_child (xml); if (!xml || (strcmp ((const char *)xml->name, "int") && strcmp ((const char *)xml->name, "i4"))) return FALSE; /* FIXME this should be exactly one text node */ content = xmlNodeGetContent (xml); *i = strtol ((char *)content, &tail, 10); ok = (*tail == '\0'); xmlFree (content); return ok; } gboolean soup_xmlrpc_value_get_double (SoupXmlrpcValue *value, double *d) { xmlNode *xml; xmlChar *content; char *tail; gboolean ok; xml = (xmlNode *) value; if (strcmp ((const char *)xml->name, "value")) return FALSE; xml = exactly_one_child (xml); if (!xml || (strcmp ((const char *)xml->name, "double"))) return FALSE; /* FIXME this should be exactly one text node */ content = xmlNodeGetContent (xml); *d = g_ascii_strtod ((char *)content, &tail); ok = (*tail == '\0'); xmlFree (content); return ok; } gboolean soup_xmlrpc_value_get_boolean (SoupXmlrpcValue *value, gboolean *b) { xmlNode *xml; xmlChar *content; char *tail; gboolean ok; int i; xml = (xmlNode *) value; if (strcmp ((const char *)xml->name, "value")) return FALSE; xml = exactly_one_child (xml); if (!xml || strcmp ((const char *)xml->name, "boolean")) return FALSE; content = xmlNodeGetContent (xml); i = strtol ((char *)content, &tail, 10); *b = (i == 1); ok = (*tail == '\0'); xmlFree (content); return ok; } gboolean soup_xmlrpc_value_get_string (SoupXmlrpcValue *value, char **str) { xmlNode *xml; xmlChar *content; xml = (xmlNode *) value; if (!xml) { *str = g_strdup (""); return TRUE; } if (strcmp ((const char *)xml->name, "value")) return FALSE; xml = exactly_one_child (xml); if (!xml) return FALSE; if (xml->type == XML_ELEMENT_NODE) { if (strcmp ((char *)xml->name, "string")) return FALSE; } else if (xml->type != XML_TEXT_NODE) return FALSE; content = xmlNodeGetContent (xml); *str = content ? g_strdup ((char *)content) : g_strdup (""); xmlFree (content); return TRUE; } gboolean soup_xmlrpc_value_get_datetime (SoupXmlrpcValue *value, time_t *timeval) { xmlNode *xml; xmlChar *content; GTimeVal gtimeval; xml = (xmlNode *) value; if (strcmp ((const char *)xml->name, "value")) return FALSE; xml = exactly_one_child (xml); if (!xml || (strcmp ((const char *)xml->name, "dateTime.iso8601"))) return FALSE; /* FIXME this should be exactly one text node */ content = xmlNodeGetContent (xml); if (xmlStrlen (content) != 17) { xmlFree (content); return FALSE; } if (g_time_val_from_iso8601 ((char *)content, >imeval)) *timeval = gtimeval.tv_sec; else *timeval = (time_t)-1; xmlFree (content); return TRUE; } gboolean soup_xmlrpc_value_get_base64 (SoupXmlrpcValue *value, GByteArray **data) { xmlNode *xml; xmlChar *content; guchar *decoded; gsize len; xml = (xmlNode *) value; if (strcmp ((const char *)xml->name, "value")) return FALSE; xml = exactly_one_child (xml); if (!xml || strcmp ((const char *)xml->name, "base64")) return FALSE; content = xmlNodeGetContent (xml); decoded = g_base64_decode ((const char *)content, &len); xmlFree (content); *data = g_byte_array_new (); g_byte_array_append (*data, decoded, len); g_free (decoded); return TRUE; } gboolean soup_xmlrpc_value_get_struct (SoupXmlrpcValue *value, GHashTable **table) { xmlNode *xml; GHashTable *t; xml = (xmlNode *) value; if (strcmp ((const char *)xml->name, "value")) return FALSE; xml = exactly_one_child (xml); if (!xml || strcmp ((const char *)xml->name, "struct")) return FALSE; t = g_hash_table_new_full (g_str_hash, g_str_equal, xmlFree, NULL); for (xml = soup_xml_real_node (xml->children); xml; xml = soup_xml_real_node (xml->next)) { xmlChar *name; xmlNode *val, *cur; if (strcmp ((const char *)xml->name, "member") || !xml->children) goto bad; name = NULL; val = NULL; for (cur = soup_xml_real_node (xml->children); cur; cur = soup_xml_real_node (cur->next)) { if (strcmp((const char *)cur->name, "name") == 0) { if (name) goto local_bad; name = xmlNodeGetContent (cur); } else if (strcmp ((const char *)cur->name, "value") == 0) val = cur; else goto local_bad; continue; local_bad: if (name) xmlFree (name); goto bad; } if (!name || !val) { if (name) xmlFree (name); goto bad; } g_hash_table_insert (t, name, val); } *table = t; return TRUE; bad: g_hash_table_destroy (t); return FALSE; } gboolean soup_xmlrpc_value_array_get_iterator (SoupXmlrpcValue *value, SoupXmlrpcValueArrayIterator **iter) { xmlNode *xml, *array, *data; xml = (xmlNode *) value; array = soup_xml_real_node (xml->children); if (!array || strcmp((const char *)array->name, "array") != 0 || soup_xml_real_node (array->next)) return FALSE; data = soup_xml_real_node (array->children); if (!data || strcmp((const char *)data->name, "data") != 0 || soup_xml_real_node (data->next)) return FALSE; *iter = (SoupXmlrpcValueArrayIterator *) soup_xml_real_node (data->children); return TRUE; } SoupXmlrpcValueArrayIterator * soup_xmlrpc_value_array_iterator_prev (SoupXmlrpcValueArrayIterator *iter) { xmlNode *xml, *prev; xml = (xmlNode *) iter; prev = xml->prev; while (prev != soup_xml_real_node (prev)) prev = prev->prev; return (SoupXmlrpcValueArrayIterator *) prev; } SoupXmlrpcValueArrayIterator * soup_xmlrpc_value_array_iterator_next (SoupXmlrpcValueArrayIterator *iter) { xmlNode *xml; xml = (xmlNode *) iter; return (SoupXmlrpcValueArrayIterator *) soup_xml_real_node (xml->next); } gboolean soup_xmlrpc_value_array_iterator_get_value (SoupXmlrpcValueArrayIterator *iter, SoupXmlrpcValue **value) { *value = (SoupXmlrpcValue *) iter; return TRUE; } static void indent (int d) { while (d--) g_printerr (" "); } static void soup_xmlrpc_value_dump_internal (SoupXmlrpcValue *value, int d); static void soup_xmlrpc_value_dump_struct_member (const char *name, SoupXmlrpcValue *value, gpointer d) { indent (GPOINTER_TO_INT (d)); g_printerr ("MEMBER: %s\n", name); soup_xmlrpc_value_dump_internal (value, GPOINTER_TO_INT (d)); } static void soup_xmlrpc_value_dump_array_element (const int i, SoupXmlrpcValue *value, gpointer d) { indent (GPOINTER_TO_INT (d)); g_printerr ("ELEMENT: %d\n", i); soup_xmlrpc_value_dump_internal (value, GPOINTER_TO_INT (d)); } static void soup_xmlrpc_value_dump_internal (SoupXmlrpcValue *value, int d) { long i; gboolean b; char *str; double f; time_t timeval; GByteArray *base64; GHashTable *hash; SoupXmlrpcValueArrayIterator *iter; g_printerr ("\n\n[%s]\n", ((xmlNode*)value)->name); switch (soup_xmlrpc_value_get_type (value)) { case SOUP_XMLRPC_VALUE_TYPE_BAD: indent (d); g_printerr ("BAD\n"); break; case SOUP_XMLRPC_VALUE_TYPE_INT: indent (d); if (!soup_xmlrpc_value_get_int (value, &i)) g_printerr ("BAD INT\n"); else g_printerr ("INT: %ld\n", i); break; case SOUP_XMLRPC_VALUE_TYPE_BOOLEAN: indent (d); if (!soup_xmlrpc_value_get_boolean (value, &b)) g_printerr ("BAD BOOLEAN\n"); else g_printerr ("BOOLEAN: %s\n", b ? "true" : "false"); break; case SOUP_XMLRPC_VALUE_TYPE_STRING: indent (d); if (!soup_xmlrpc_value_get_string (value, &str)) g_printerr ("BAD STRING\n"); else { g_printerr ("STRING: \"%s\"\n", str); g_free (str); } break; case SOUP_XMLRPC_VALUE_TYPE_DOUBLE: indent (d); if (!soup_xmlrpc_value_get_double (value, &f)) g_printerr ("BAD DOUBLE\n"); else g_printerr ("DOUBLE: %f\n", f); break; case SOUP_XMLRPC_VALUE_TYPE_DATETIME: indent (d); if (!soup_xmlrpc_value_get_datetime (value, &timeval)) g_printerr ("BAD DATETIME\n"); else g_printerr ("DATETIME: %s\n", asctime (gmtime (&timeval))); break; case SOUP_XMLRPC_VALUE_TYPE_BASE64: indent (d); if (!soup_xmlrpc_value_get_base64 (value, &base64)) g_printerr ("BAD BASE64\n"); else { GString *hex = g_string_new (NULL); guint i; for (i = 0; i < base64->len; i++) g_string_append_printf (hex, "%02x", base64->data[i]); g_printerr ("BASE64: %s\n", hex->str); g_string_free (hex, TRUE); g_byte_array_free (base64, TRUE); } break; case SOUP_XMLRPC_VALUE_TYPE_STRUCT: indent (d); if (!soup_xmlrpc_value_get_struct (value, &hash)) g_printerr ("BAD STRUCT\n"); else { g_printerr ("STRUCT\n"); g_hash_table_foreach (hash, (GHFunc) soup_xmlrpc_value_dump_struct_member, GINT_TO_POINTER (d+1)); g_hash_table_destroy (hash); } break; case SOUP_XMLRPC_VALUE_TYPE_ARRAY: indent (d); if (!soup_xmlrpc_value_array_get_iterator (value, &iter)) g_printerr ("BAD ARRAY\n"); else { SoupXmlrpcValue *evalue; int i = 0; g_printerr ("ARRAY\n"); while (iter != NULL) { soup_xmlrpc_value_array_iterator_get_value (iter, &evalue); soup_xmlrpc_value_dump_array_element (i, evalue, GINT_TO_POINTER (d+1)); iter = soup_xmlrpc_value_array_iterator_next (iter); i++; } } break; } } void soup_xmlrpc_value_dump (SoupXmlrpcValue *value) { soup_xmlrpc_value_dump_internal (value, 0); } drivel-3.0.5/src/blog_advogato.c0000644000175000017500000001573211552103110013464 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2005 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ #include #include #include "drivel.h" #include "drivel_request.h" #include "network.h" #include "journal.h" #include "xmlrpc.h" #include "blog_advogato.h" extern DrivelClient *dc; /* Convert line-breaks to HTML breaks (
    ) */ static gchar* convert_linebreaks_to_html (const gchar *content) { gchar **split, *converted; g_return_val_if_fail (content, NULL); split = g_strsplit (content, "\n", -1); if (split) { converted = g_strjoinv ("
    ", split); g_strfreev (split); } else converted = g_strdup (content); return converted; } /* Convert HTML breaks to line-breaks */ static gchar* convert_linebreaks_from_html (const gchar *content) { gchar **split, *converted, *temp; gchar *breaks[] = { "
    ", "
    ", "
    ", "
    " }; gint i; g_return_val_if_fail (content, NULL); temp = g_strdup (content); for (i = 0; i < 4; i++) { split = g_strsplit (temp, breaks[i], -1); if (split) { converted = g_strjoinv ("\n", split); g_strfreev (split); } else converted = g_strdup (content); g_free (temp); temp = converted; } return converted; } static void parse_getevents_get_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; gchar *html, *entry, *itemid_string; gint itemid; if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; value = soup_xmlrpc_response_get_value (response); if (!value) { g_warning ("No value in reponse"); return; } soup_xmlrpc_value_get_string (value, &html); entry = convert_linebreaks_from_html (html); itemid = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (msg), "itemid")); itemid_string = g_strdup_printf ("%d", itemid); journal_edit_entry (dc, itemid_string, entry, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); g_free (entry); g_free (html); g_free (itemid_string); g_object_unref (response); return; } /* Get the most recent journal entry */ static void build_getevents_get_request (const gchar *username, const gchar *uri, gint itemid) { SoupXmlrpcMessage *msg; update_status_msg (REQUEST_TYPE_GETEVENTS); msg = xmlrpc_start ("diary.get", uri); xmlrpc_add_string_param (msg, username); xmlrpc_add_int_param (msg, itemid); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_getevents_get_request), NULL); g_object_set_data (G_OBJECT (msg), "itemid", GINT_TO_POINTER (itemid)); net_enqueue_msg (SOUP_MESSAGE (msg)); } static void parse_getevents_len_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; glong len; if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; value = soup_xmlrpc_response_get_value (response); if (!value) { g_warning ("No value in reponse"); return; } soup_xmlrpc_value_get_int (value, &len); build_getevents_get_request (g_object_get_data (G_OBJECT (msg), "username"), g_object_get_data (G_OBJECT (msg), "uri"), len - 1); g_object_unref (response); return; } /* Get the number of journal entries */ static void build_getevents_len_request (const gchar *username, const gchar *uri) { SoupXmlrpcMessage *msg; msg = xmlrpc_start ("diary.len", uri); xmlrpc_add_string_param (msg, username); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_getevents_len_request), NULL); g_object_set_data_full (G_OBJECT (msg), "username", g_strdup (username), g_free); g_object_set_data_full (G_OBJECT (msg), "uri", g_strdup (uri), g_free); net_enqueue_msg (SOUP_MESSAGE (msg)); } static void parse_login_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; gchar *cookie; DrivelJournal *dj; if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; value = soup_xmlrpc_response_get_value (response); if (!value) { g_warning ("No value in reponse"); return; } soup_xmlrpc_value_get_string (value, &cookie); add_account_to_list (dc); dc->user->cookie = cookie; /* Don't free this */ /* Advogato only supports a single journal per username */ dj = drivel_journal_new (); dj->name = g_strdup (dc->user->username); dj->description = g_strdup (dc->user->username); dj->type = JOURNAL_TYPE_USER; dc->journal_list = g_slist_prepend (dc->journal_list, dj); dc->journals = 1; gtk_widget_hide (dc->login_window); journal_window_build (dc); g_object_unref (response); return; } void blog_advogato_build_login_request (const gchar *username, const gchar *password, const gchar *uri) { SoupXmlrpcMessage *msg; msg = xmlrpc_start ("authenticate", uri); xmlrpc_add_string_param (msg, username); xmlrpc_add_string_param (msg, password); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_login_request), NULL); net_enqueue_msg (SOUP_MESSAGE (msg)); } static void parse_postevent_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; /* FIXME: ping technorati */ journal_finished_post (dc); g_object_unref (response); return; } void blog_advogato_build_postevent_request (const gchar *cookie, const gchar *uri, gint index, const gchar *title, const gchar *content) { gchar *linebreak_content; SoupXmlrpcMessage *msg; g_return_if_fail (cookie); update_status_msg (REQUEST_TYPE_POSTEVENT); linebreak_content = convert_linebreaks_to_html (content); msg = xmlrpc_start ("diary.set", uri); xmlrpc_add_string_param (msg, cookie); xmlrpc_add_int_param (msg, index); xmlrpc_add_string_param (msg, linebreak_content); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_postevent_request), NULL); net_enqueue_msg (SOUP_MESSAGE (msg)); g_free (linebreak_content); } /* Get the most recent entry */ void blog_advogato_build_getevents_request (const gchar *username, const gchar *uri) { g_return_if_fail (username); update_status_msg (REQUEST_TYPE_GETEVENTS); build_getevents_len_request (username, uri); } drivel-3.0.5/src/msg_queue.h0000644000175000017500000000372511552103110012653 00000000000000/* * Copyright 2004 Todd Kulesza * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. */ #ifndef _MSG_QUEUE_H_ #define _MSG_QUEUE_H_ #include "config.h" #include typedef struct _MsgInfo MsgInfo; typedef enum { MSG_TYPE_SET_WIDGET, MSG_TYPE_ERROR, MSG_TYPE_UPDATE_PROGRESS_PERCENT, MSG_TYPE_UPDATE_PROGRESS_LABEL, MSG_TYPE_BUILD_PROGRESS, MSG_TYPE_REPARENT_DIALOG, MSG_TYPE_PROCESS_NET_REQUEST, MSG_TYPE_DONE } MsgType; struct _MsgInfo { MsgType type; /* Pointer to the active widget. Exactly what this is depends on the * MsgType as follows: * MSG_TYPE_ERROR: The parent window for the error dialog. * MSG_TYPE_UPDATE_PROGRESS_*: The window containing the progress bar. * MSG_TYPE_BUILD_PROGRESS: The parent window for the progress dialog. * MSG_TYPE_DONE: The window to be destroyed. */ gpointer widget; /* Message to display to the user. */ gchar *msg; /* The header portion of error messages. */ gchar *header; /* Progress percentage completed. */ gdouble progress; /* Request structure for PROCESS_NET_REQUEST */ gpointer *dr; /* The DrivelClient struct (because we always need this) */ gpointer *dc; }; GAsyncQueue* msg_queue_setup (void); MsgInfo* msg_info_new (void); void msg_info_free (MsgInfo *info); #endif /* _MSG_QUEUE_H_ */ drivel-3.0.5/src/blog_mt.c0000644000175000017500000005616511552103110012305 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2004 Todd Kulesza * Copyright 2009 Neil Williams * * Authors: * Todd Kulesza * Neil Williams */ /* Drivel's MT interface is modeled off of Sherzod Ruzmetov's * Net::MovableType PERL class. */ #define _XOPEN_SOURCE /* glibc2 needs this */ #include #include #include #include #include #include #include "drivel.h" #include "drivel_request.h" #include "journal.h" #include "network.h" #include "xmlrpc.h" #include "blog_mt.h" extern DrivelClient *dc; extern gboolean verbose; gboolean mt_ext_cat = FALSE; /* MT category extension */ gboolean mt_ext_pub = FALSE; /* MT publish extension */ gboolean mt_ext_tag = FALSE; /* MT mt_tags extension */ gboolean wp_ext_tag = FALSE; /* wp keywords version of tags */ void (*getcategories_method)(const gchar *, const gchar *, const gchar *, const gchar *, const gchar *) = NULL; static void parse_mtsupported_request (SoupMessage *msg, SoupMessage *target_msg) { SoupXmlrpcResponse *response = NULL; g_return_if_fail (msg); debug ("movabletype parse_supported_request()"); /* If we fault, assume we're using the MetaWeblog API */ if ((!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) || (!(response = soup_xmlrpc_message_parse_response (SOUP_XMLRPC_MESSAGE (msg)))) || (soup_xmlrpc_response_is_fault (response))) { if (response) g_object_unref (response); mt_ext_cat = FALSE; mt_ext_pub = FALSE; getcategories_method = blog_mwl_build_getcategories_request; } /* Check for MovableType category support */ else { if (strstr (msg->response_body->data, "mt.getCategoryList")) { mt_ext_cat = TRUE; getcategories_method = blog_mt_build_getcategories_request; } /* Check for MetaWeblog category support */ else { mt_ext_cat = FALSE; getcategories_method = blog_mwl_build_getcategories_request; } mt_ext_pub = (strstr (msg->response_body->data, "mt.publishPost")) ? TRUE : FALSE; mt_ext_tag = (strstr (msg->response_body->data, "mt.getTagList")) ? TRUE : FALSE; wp_ext_tag = (strstr (msg->response_body->data, "wp.getTags")) ? TRUE : FALSE; } if (verbose) print_response_xmlrpc (response); net_enqueue_msg (target_msg); return; } static void build_mtsupported_request (const gchar *url, SoupMessage *target_msg) { SoupXmlrpcMessage *msg; msg = xmlrpc_start ("mt.supportedMethods", url); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_mtsupported_request), target_msg); net_enqueue_msg (SOUP_MESSAGE (msg)); return; } static void parse_login_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; SoupXmlrpcValueArrayIterator *array_iter; GtkTreeIter iter; g_return_if_fail (msg); debug ("movabletype parse_login_request()"); /* Clear out categories from other users */ gtk_list_store_clear (dc->category_store); gtk_list_store_append (dc->category_store, &iter); gtk_list_store_set (dc->category_store, &iter, STORE_CATEGORY_NAME, _("None"), STORE_CATEGORY_ID, "none", STORE_CATEGORY_BLOG, "", -1); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; value = soup_xmlrpc_response_get_value (response); if (!value) { g_warning ("No value in reponse"); return; } add_account_to_list (dc); dc->journals = 0; soup_xmlrpc_value_array_get_iterator (value, &array_iter); while (soup_xmlrpc_value_array_iterator_get_value (array_iter, &value) && value) { GHashTable *table; gchar *url, *id, *name; DrivelJournal *dj; soup_xmlrpc_value_get_struct (value, &table); value = g_hash_table_lookup (table, "url"); soup_xmlrpc_value_get_string (value, &url); value = g_hash_table_lookup (table, "blogid"); soup_xmlrpc_value_get_string (value, &id); value = g_hash_table_lookup (table, "blogName"); soup_xmlrpc_value_get_string (value, &name); dj = drivel_journal_new (); dj->name = name; dj->uri_view = url; dj->id = id; dj->type = JOURNAL_TYPE_USER; dc->journal_list = g_slist_prepend (dc->journal_list, dj); g_hash_table_destroy (table); dc->journals++; array_iter = soup_xmlrpc_value_array_iterator_next (array_iter); /* get the categories for this journal */ getcategories_method (dc->user->username, dc->user->password, dc->user->server, dj->name, dj->id); /* get the recent entries for this journal */ blog_mt_build_getevents_request (dc->user->username, dc->user->password, dc->user->server, dj->id, FALSE); } dc->journal_list = g_slist_sort (dc->journal_list, (GCompareFunc)sort_journals); gtk_widget_hide (dc->login_window); journal_window_build (dc); if (verbose) print_response_xmlrpc (response); g_object_unref (response); return; } void blog_mt_build_login_request (const gchar *url, const gchar *username, const gchar *password) { SoupXmlrpcMessage *msg; msg = xmlrpc_start ("blogger.getUsersBlogs", url); xmlrpc_add_string_param (msg, DRIVEL_APPKEY); xmlrpc_add_string_param (msg, username); xmlrpc_add_string_param (msg, password); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_login_request), NULL); /* figure out which methods are supported by the server */ build_mtsupported_request (dc->user->server, SOUP_MESSAGE (msg)); } static void set_cat_mt (const gchar *postid) { GtkTreeModel *model; GtkTreeIter iter; gchar *category = NULL; model = gtk_combo_box_get_model (GTK_COMBO_BOX (dc->journal_category)); gtk_combo_box_get_active_iter (GTK_COMBO_BOX (dc->journal_category), &iter); gtk_tree_model_get (model, &iter, 1, &category, -1); /* If a category was selected, set it on the server */ if (category) { blog_mt_build_setpostcategories_request (dc->user->username, dc->user->password, dc->user->server, postid, category); g_free (category); } return; } static void set_cat_mwl (SoupXmlrpcMessage *msg) { GtkTreeModel *model; GtkTreeIter iter; gchar *category = NULL; model = gtk_combo_box_get_model (GTK_COMBO_BOX (dc->journal_category)); gtk_combo_box_get_active_iter (GTK_COMBO_BOX (dc->journal_category), &iter); gtk_tree_model_get (model, &iter, 1, &category, -1); if (category) { xmlrpc_start_array_member (msg, "categories"); soup_xmlrpc_message_write_string (msg, category); xmlrpc_end_array_member (msg); g_free (category); } return; } /* Parse the server's response to our post request */ static void parse_postevent_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; gchar *postid; g_return_if_fail (msg); debug ("movabletype parse_postevent_request()"); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; if (verbose) print_response_xmlrpc (response); value = soup_xmlrpc_response_get_value (response); if (!value) { g_warning ("No value in reponse"); return; } /* First check for a "postid" value (set in the editevent method) since metaWeblog.editPost returns a boolean, not the postid */ postid = g_object_get_data (G_OBJECT (msg), "postid"); if (!postid) soup_xmlrpc_value_get_string (value, &postid); if (mt_ext_cat) { set_cat_mt (postid); } if (mt_ext_pub) { blog_mt_build_publish_request (dc->user->username, dc->user->password, dc->user->server, postid); } else { journal_finished_post (dc); } g_free (postid); g_object_unref (response); return; } /* Build a DrivelRequest with all of the content needed by metaWeblog.newPost() */ void blog_mt_build_postevent_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *blogid, gboolean publish, const gchar *title, const gchar *content, const gchar *tags) { SoupXmlrpcMessage *msg; debug ("blog_mt_build_postevent_request()"); update_status_msg (REQUEST_TYPE_POSTEVENT); /* If we're not using the MT publish extension, we need to publish here */ if (!mt_ext_pub) publish = TRUE; msg = xmlrpc_start ("metaWeblog.newPost", uri); xmlrpc_add_string_param (msg, blogid); xmlrpc_add_string_param (msg, username); xmlrpc_add_string_param (msg, password); xmlrpc_start_struct_param (msg); xmlrpc_add_string_member (msg, "title", title); xmlrpc_add_string_member (msg, "description", content); if (mt_ext_tag) { debug ("Setting mt_tags"); xmlrpc_add_string_member (msg, "mt_tags", tags); } if (wp_ext_tag) { debug ("Setting Wordpress keywords"); xmlrpc_add_string_member (msg, "mt_keywords", tags); } if (!mt_ext_cat) { debug ("set_cat_mwl called"); set_cat_mwl (msg); } xmlrpc_end_struct_param (msg); soup_xmlrpc_message_end_param (msg); xmlrpc_add_bool_param (msg, publish); xmlrpc_end (msg); if (verbose) print_msg_xmlrpc (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_postevent_request), NULL); net_enqueue_msg (SOUP_MESSAGE (msg)); } void blog_mt_build_editevent_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *postid, gboolean publish, const gchar *title, const gchar *content, const gchar *tags) { SoupXmlrpcMessage *msg; debug ("blog_mt_build_editevent_request()"); /* If we're not using the MT publish extension, we need to publish here */ if (!mt_ext_pub) publish = TRUE; update_status_msg (REQUEST_TYPE_EDITEVENT); msg = xmlrpc_start ("metaWeblog.editPost", uri); xmlrpc_add_string_param (msg, postid); xmlrpc_add_string_param (msg, username); xmlrpc_add_string_param (msg, password); xmlrpc_start_struct_param (msg); xmlrpc_add_string_member (msg, "title", title); xmlrpc_add_string_member (msg, "description", content); if (mt_ext_tag) { debug ("Using MT tags in edit"); xmlrpc_add_string_member (msg, "mt_tags", tags); } if (wp_ext_tag) { debug ("Using WP keywords for tags"); xmlrpc_add_string_member (msg, "mt_keywords", tags); } if (!mt_ext_cat) { set_cat_mwl (msg); } xmlrpc_end_struct_param (msg); soup_xmlrpc_message_end_param (msg); xmlrpc_add_bool_param (msg, publish); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_postevent_request), NULL); g_object_set_data (G_OBJECT (msg), "postid", g_strdup (postid)); net_enqueue_msg (SOUP_MESSAGE (msg)); } /* Parse the server's list of categories */ static void parse_mt_getcategories_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; SoupXmlrpcValueArrayIterator *array_iter; GtkTreeIter iter; const gchar *journal_name; debug ("movabletype parse_mt_getcategories_request()\n"); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; value = soup_xmlrpc_response_get_value (response); if (!value) { g_warning ("No value in reponse"); return; } journal_name = g_object_get_data (G_OBJECT (msg), "journal_name"); soup_xmlrpc_value_array_get_iterator (value, &array_iter); while (soup_xmlrpc_value_array_iterator_get_value (array_iter, &value) && value && journal_name) { GHashTable *table; gchar *id, *name; soup_xmlrpc_value_get_struct (value, &table); value = g_hash_table_lookup (table, "categoryId"); soup_xmlrpc_value_get_string (value, &id); value = g_hash_table_lookup (table, "categoryName"); soup_xmlrpc_value_get_string (value, &name); if (id && name) { gtk_list_store_append (dc->category_store, &iter); gtk_list_store_set (dc->category_store, &iter, STORE_CATEGORY_NAME, name, STORE_CATEGORY_ID, id, STORE_CATEGORY_BLOG, journal_name, -1); } g_free (id); g_free (name); g_hash_table_destroy (table); array_iter = soup_xmlrpc_value_array_iterator_next (array_iter); } gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (dc->category_store_filtered)); gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_category), 0); g_object_unref (response); return; } /* Get the list of categories from the server */ void blog_mt_build_getcategories_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *journal_name, const gchar *blogid) { SoupXmlrpcMessage *msg; debug ("blog_mt_build_getcategories_request()"); update_status_msg (REQUEST_TYPE_GETCATEGORIES); msg = xmlrpc_start ("mt.getCategoryList", uri); xmlrpc_add_string_param (msg, blogid); xmlrpc_add_string_param (msg, username); xmlrpc_add_string_param (msg, password); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_mt_getcategories_request), NULL); g_object_set_data_full (G_OBJECT (msg), "journal_name", g_strdup (journal_name), g_free); net_enqueue_msg (SOUP_MESSAGE (msg)); } static void get_cat (const gchar *key, SoupXmlrpcValue *value, const gchar *journal_name) { GtkTreeIter iter; gtk_list_store_append (dc->category_store, &iter); gtk_list_store_set (dc->category_store, &iter, STORE_CATEGORY_NAME, key, STORE_CATEGORY_ID, key, STORE_CATEGORY_BLOG, journal_name, -1); return; } /* Parse the server's list of categories */ static void parse_mwl_getcategories_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; GHashTable *table; gchar *journal_name; debug ("movabletype parse_mwl_getcategories_request()\n"); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; value = soup_xmlrpc_response_get_value (response); if (!value) { g_warning ("No value in reponse"); return; } journal_name = g_strdup(g_object_get_data (G_OBJECT (msg), "journal_name")); table = g_hash_table_new (NULL, NULL); soup_xmlrpc_value_get_struct (value, &table); g_hash_table_foreach (table, (GHFunc)get_cat, journal_name); g_hash_table_destroy (table); gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (dc->category_store_filtered)); gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_category), 0); g_object_unref (response); return; } /* Get the list of categories from the server */ void blog_mwl_build_getcategories_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *journal_name, const gchar *blogid) { SoupXmlrpcMessage *msg; debug ("blog_mwl_build_getcategories_request()"); update_status_msg (REQUEST_TYPE_GETCATEGORIES); msg = xmlrpc_start ("metaWeblog.getCategories", uri); xmlrpc_add_string_param (msg, blogid); xmlrpc_add_string_param (msg, username); xmlrpc_add_string_param (msg, password); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_mwl_getcategories_request), NULL); g_object_set_data_full (G_OBJECT (msg), "journal_name", g_strdup (journal_name), g_free); net_enqueue_msg (SOUP_MESSAGE (msg)); } /* Parse the server's response to our setpostcategories request */ static void parse_setpostcategories_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; debug ("movabletype parse_setpostcategories_request()\n"); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; g_object_unref (response); return; } /* Set the categories for a specific post */ void blog_mt_build_setpostcategories_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *postid, const gchar *category) { SoupXmlrpcMessage *msg; debug ("blog_mt_build_setpostcategories_request()"); update_status_msg (REQUEST_TYPE_SETPOSTCATEGORIES); msg = xmlrpc_start ("mt.setPostCategories", uri); xmlrpc_add_string_param (msg, postid); xmlrpc_add_string_param (msg, username); xmlrpc_add_string_param (msg, password); xmlrpc_start_array_param (msg); soup_xmlrpc_message_start_struct (msg); xmlrpc_add_string_member (msg, "categoryId", category); xmlrpc_add_bool_member (msg, "isPrimary", TRUE); soup_xmlrpc_message_end_struct (msg); xmlrpc_end_array_param (msg); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_setpostcategories_request), NULL); if(verbose) print_msg_xmlrpc (msg); net_enqueue_msg (SOUP_MESSAGE (msg)); } static void parse_publish_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; debug ("movabletype parse_publish_request()\n"); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; g_object_unref (response); journal_finished_post (dc); return; } void blog_mt_build_publish_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *postid) { SoupXmlrpcMessage *msg; debug ("blog_mt_build_publish_request()"); update_status_msg (REQUEST_TYPE_PUBLISH); msg = xmlrpc_start ("mt.publishPost", uri); xmlrpc_add_string_param (msg, postid); xmlrpc_add_string_param (msg, username); xmlrpc_add_string_param (msg, password); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_publish_request), NULL); net_enqueue_msg (SOUP_MESSAGE (msg)); } static void parse_getevents_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; SoupXmlrpcValueArrayIterator *array_iter; const gchar *last_entry; debug ("movabletype parse_getevents_request()\n"); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; update_status_msg (REQUEST_TYPE_GETEVENTS); value = soup_xmlrpc_response_get_value (response); if (!value) { g_warning ("No value in reponse"); return; } last_entry = g_object_get_data (G_OBJECT (msg), "last_entry"); soup_xmlrpc_value_array_get_iterator (value, &array_iter); while (soup_xmlrpc_value_array_iterator_get_value (array_iter, &value) && value) { GHashTable *table; DrivelJournalProp *prop ; DrivelJournalEntry *entry = journal_entry_new (); soup_xmlrpc_value_get_struct (value, &table); value = g_hash_table_lookup (table, "postid"); soup_xmlrpc_value_get_string (value, &entry->postid); value = g_hash_table_lookup (table, "description"); soup_xmlrpc_value_get_string (value, &entry->content); value = g_hash_table_lookup (table, "userid"); soup_xmlrpc_value_get_string (value, &entry->userid); value = g_hash_table_lookup (table, "title"); if (value) soup_xmlrpc_value_get_string (value, &entry->subject); value = g_hash_table_lookup (table, "dateCreated"); soup_xmlrpc_value_get_datetime (value, &entry->date_posted); if (mt_ext_tag) { value = g_hash_table_lookup (table, "mt_tags"); soup_xmlrpc_value_get_string (value, &entry->tags); } if (wp_ext_tag) { value = g_hash_table_lookup (table, "mt_keywords"); soup_xmlrpc_value_get_string (value, &entry->tags); } prop = journal_prop_new (); prop->name = g_strdup ("taglist"); prop->value = g_strdup (entry->tags); g_ptr_array_add (entry->properties, prop); if (last_entry) { journal_edit_entry (dc, entry->postid, entry->content, NULL, NULL, entry->subject, NULL, NULL, NULL, NULL, NULL, NULL, NULL, entry->tags); blog_mt_build_getpostcategories_request (dc->user->username, dc->user->password, dc->user->server, g_strdup (entry->postid)); } else { g_ptr_array_add (dc->recent_entries, entry); } g_hash_table_destroy (table); array_iter = soup_xmlrpc_value_array_iterator_next (array_iter); } if (!last_entry) journal_refresh_recent_entries (dc); g_object_unref (response); return; } void blog_mt_build_getevents_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *blogid, gboolean last_entry) { SoupXmlrpcMessage *msg; gint howmany; debug ("blog_mt_build_getevents_request()"); if (last_entry) howmany = 1; else howmany = DRIVEL_N_RECENT_POSTS; update_status_msg (REQUEST_TYPE_GETEVENTS); msg = xmlrpc_start ("metaWeblog.getRecentPosts", uri); xmlrpc_add_string_param (msg, blogid); xmlrpc_add_string_param (msg, username); xmlrpc_add_string_param (msg, password); xmlrpc_add_int_param (msg, howmany); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_getevents_request), NULL); g_object_set_data_full (G_OBJECT (msg), "blogid", g_strdup (blogid), g_free); if (last_entry) g_object_set_data_full (G_OBJECT (msg), "last_entry", g_strdup ("true"), g_free); net_enqueue_msg (SOUP_MESSAGE (msg)); } static void parse_getpostcategories_request (SoupMessage *msg, gpointer data) { SoupXmlrpcResponse *response; SoupXmlrpcValue *value; SoupXmlrpcValueArrayIterator *array_iter; gboolean cats = FALSE; debug ("movabletype parse_getpostcategories_request()\n"); if (!(response = net_msg_get_response (SOUP_XMLRPC_MESSAGE (msg)))) return; value = soup_xmlrpc_response_get_value (response); if (!value) { g_warning ("No value in reponse"); return; } update_status_msg (REQUEST_TYPE_SETPOSTCATEGORIES); soup_xmlrpc_value_array_get_iterator (value, &array_iter); while (soup_xmlrpc_value_array_iterator_get_value (array_iter, &value) && value) { GHashTable *table; gchar *id; gboolean valid; GtkTreeIter iter; gint index = 0; soup_xmlrpc_value_get_struct (value, &table); value = g_hash_table_lookup (table, "categoryId"); soup_xmlrpc_value_get_string (value, &id); valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (dc->category_store), &iter); while (valid) { gchar *store_id; gtk_tree_model_get (GTK_TREE_MODEL (dc->category_store), &iter, STORE_CATEGORY_ID, &store_id, -1); if (store_id && !strcmp (store_id, id)) valid = FALSE; else { index++; valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (dc->category_store), &iter); } g_free (store_id); } gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_category), index); cats = TRUE; g_free (id); g_hash_table_destroy (table); array_iter = soup_xmlrpc_value_array_iterator_next (array_iter); } if (!cats) gtk_combo_box_set_active (GTK_COMBO_BOX (dc->journal_category), 0); g_object_unref (response); return; } void blog_mt_build_getpostcategories_request (const gchar *username, const gchar *password, const gchar *uri, const gchar *postid) { SoupXmlrpcMessage *msg; debug ("blog_mt_build_getpostcategories_request()"); update_status_msg (REQUEST_TYPE_POSTEVENT); msg = xmlrpc_start ("mt.getPostCategories", uri); xmlrpc_add_string_param (msg, postid); xmlrpc_add_string_param (msg, username); xmlrpc_add_string_param (msg, password); xmlrpc_end (msg); g_signal_connect (G_OBJECT (msg), "finished", G_CALLBACK (parse_getpostcategories_request), NULL); net_enqueue_msg (SOUP_MESSAGE (msg)); } drivel-3.0.5/src/network.h0000644000175000017500000000275311552103110012352 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002 Todd Kulesza * * Authors: * Todd Kulesza */ #ifndef _NETWORK_H_ #define _NETWORK_H_ #include #include "soup-xmlrpc-message.h" #include "drivel_request.h" #include "drivel.h" /* Add a SoupMessage to the queue for processing */ void net_enqueue_msg (SoupMessage *msg); void net_requeue_msg (SoupMessage *msg); /* Check for an error response */ SoupXmlrpcResponse* net_msg_get_response (SoupXmlrpcMessage *msg); /* start the network session */ gint net_start_session (void); /* put a translated message in the statusbar, telling * the user what we are doing. */ void update_status_msg (DrivelRequestType type); /* send a ping to technorati */ void net_ping_technorati (DrivelClient *dc); #endif /* _NETWORK_H_ */ drivel-3.0.5/src/xmlrpc.c0000644000175000017500000001063711552103110012161 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2002-2004 Todd Kulesza * * Authors: * Todd Kulesza */ #include #include /* variable-length functions */ #include #include #include #include #include #include "soup-xmlrpc-message.h" #include "xmlrpc.h" SoupXmlrpcMessage* xmlrpc_start (const gchar *name, const gchar *uri) { SoupXmlrpcMessage *msg; msg = soup_xmlrpc_message_new (uri); soup_xmlrpc_message_start_call (msg, name); return (msg); } SoupXmlrpcMessage* xmlrpc_start_with_struct (const gchar *name, const gchar *uri) { SoupXmlrpcMessage *msg; msg = soup_xmlrpc_message_new (uri); soup_xmlrpc_message_start_call (msg, name); soup_xmlrpc_message_start_param (msg); soup_xmlrpc_message_start_struct (msg); return (msg); } void xmlrpc_add_string_param (SoupXmlrpcMessage *msg, const gchar *value) { soup_xmlrpc_message_start_param (msg); soup_xmlrpc_message_write_string (msg, value); soup_xmlrpc_message_end_param (msg); return; } void xmlrpc_add_string_member (SoupXmlrpcMessage *msg, const gchar *name, const gchar *value) { soup_xmlrpc_message_start_member (msg, name); soup_xmlrpc_message_write_string (msg, value); soup_xmlrpc_message_end_member (msg); return; } void xmlrpc_add_int_param (SoupXmlrpcMessage *msg, const gint value) { soup_xmlrpc_message_start_param (msg); soup_xmlrpc_message_write_int (msg, value); soup_xmlrpc_message_end_param (msg); return; } void xmlrpc_add_int_member (SoupXmlrpcMessage *msg, const gchar *name, const gint value) { soup_xmlrpc_message_start_member (msg, name); soup_xmlrpc_message_write_int (msg, value); soup_xmlrpc_message_end_member (msg); return; } void xmlrpc_add_bool_param (SoupXmlrpcMessage *msg, const gboolean value) { soup_xmlrpc_message_start_param (msg); soup_xmlrpc_message_write_boolean (msg, value); soup_xmlrpc_message_end_param (msg); return; } void xmlrpc_add_bool_member (SoupXmlrpcMessage *msg, const gchar *name, const gboolean value) { soup_xmlrpc_message_start_member (msg, name); soup_xmlrpc_message_write_boolean (msg, value); soup_xmlrpc_message_end_member (msg); return; } void xmlrpc_start_array_param (SoupXmlrpcMessage *msg) { soup_xmlrpc_message_start_param (msg); soup_xmlrpc_message_start_array (msg); return; } void xmlrpc_end_array_param (SoupXmlrpcMessage *msg) { soup_xmlrpc_message_end_array (msg); soup_xmlrpc_message_end_param (msg); return; } void xmlrpc_start_array_member (SoupXmlrpcMessage *msg, const gchar *name) { soup_xmlrpc_message_start_member (msg, name); soup_xmlrpc_message_start_array (msg); return; } void xmlrpc_end_array_member (SoupXmlrpcMessage *msg) { soup_xmlrpc_message_end_array (msg); soup_xmlrpc_message_end_member (msg); return; } void xmlrpc_start_struct_param (SoupXmlrpcMessage *msg) { soup_xmlrpc_message_start_param (msg); soup_xmlrpc_message_start_struct (msg); return; } void xmlrpc_end_struct_param (SoupXmlrpcMessage *msg) { soup_xmlrpc_message_end_param (msg); soup_xmlrpc_message_end_member (msg); return; } void xmlrpc_start_struct_member (SoupXmlrpcMessage *msg, const gchar *name) { soup_xmlrpc_message_start_member (msg, name); soup_xmlrpc_message_start_struct (msg); return; } void xmlrpc_end_struct_member (SoupXmlrpcMessage *msg) { soup_xmlrpc_message_end_struct (msg); soup_xmlrpc_message_end_member (msg); return; } void xmlrpc_end (SoupXmlrpcMessage *msg) { soup_xmlrpc_message_end_call (msg); soup_xmlrpc_message_persist (msg); return; } void xmlrpc_end_with_struct (SoupXmlrpcMessage *msg) { soup_xmlrpc_message_end_struct (msg); soup_xmlrpc_message_end_param (msg); soup_xmlrpc_message_end_call (msg); soup_xmlrpc_message_persist (msg); return; } drivel-3.0.5/src/atom.h0000644000175000017500000000254611552103110011621 00000000000000/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * Copyright 2005 Todd Kulesza * * Authors: * Todd Kulesza */ #ifndef _ATOM_H_ #define _ATOM_H_ #include typedef struct _AtomEntry AtomEntry; struct _AtomEntry { gchar *content; gchar *id; gchar *issued; gchar *link; gchar *title; }; /* Create a new AtomEntry item */ AtomEntry* atom_entry_new (void); /* Free an AtomEntry item */ void atom_entry_free (AtomEntry *entry); /* Build an XML packet from the AtomEntry data */ gchar* atom_build_packet (AtomEntry *entry); /* Parse an XML packet into an AtomEntry */ AtomEntry* atom_entry_parse (xmlDocPtr doc, xmlNodePtr node); #endif /* _ATOM_H_ */ drivel-3.0.5/INSTALL0000644000175000017500000003660512155041134010764 00000000000000Installation Instructions ************************* Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. HP-UX `make' updates targets which have the same time stamps as their prerequisites, which makes it generally unusable when shipped generated files such as `configure' are involved. Use GNU `make' instead. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf limitation. Until the limitation is lifted, you can use this workaround: CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. drivel-3.0.5/omf.make0000644000175000017500000000456112161410720011345 00000000000000# # No modifications of this Makefile should be necessary. # # This file contains the build instructions for installing OMF files. It is # generally called from the makefiles for particular formats of documentation. # # Note that you must configure your package with --localstatedir=/var # so that the scrollkeeper-update command below will update the database # in the standard scrollkeeper directory. # # If it is impossible to configure with --localstatedir=/var, then # modify the definition of scrollkeeper_localstate_dir so that # it points to the correct location. Note that you must still use # $(localstatedir) in this or when people build RPMs it will update # the real database on their system instead of the one under RPM_BUILD_ROOT. # # Note: This make file is not incorporated into xmldocs.make because, in # general, there will be other documents install besides XML documents # and the makefiles for these formats should also include this file. # # About this file: # This file was derived from scrollkeeper_example2, a package # illustrating how to install documentation and OMF files for use with # ScrollKeeper 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.3 (last updated: March 20, 2002) # omf_dest_dir=$(datadir)/omf/@PACKAGE@ scrollkeeper_localstate_dir = $(localstatedir)/scrollkeeper # At some point, it may be wise to change to something like this: # scrollkeeper_localstate_dir = @SCROLLKEEPER_STATEDIR@ omf: omf_timestamp omf_timestamp: $(omffile) -for file in $(omffile); do \ absfile=$(srcdir)/$$file; \ test -r $$file && absfile=$$file; \ scrollkeeper-preinstall $(docdir)/$(docname).xml $$absfile $$file.out; \ done; \ touch omf_timestamp install-data-hook-omf: $(mkinstalldirs) $(DESTDIR)$(omf_dest_dir) for file in $(omffile); do \ absfile=$(srcdir)/$$file.out; \ test -r $$file.out && absfile=$$file.out; \ $(INSTALL_DATA) $$absfile $(DESTDIR)$(omf_dest_dir)/$$file; \ done -scrollkeeper-update -p $(DESTDIR)$(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir) uninstall-local-omf: -for file in $(omffile); do \ basefile=`basename $$file`; \ rm -f $(DESTDIR)$(omf_dest_dir)/$$basefile; \ done -rmdir $(DESTDIR)$(omf_dest_dir) -scrollkeeper-update -p $(DESTDIR)$(scrollkeeper_localstate_dir) clean-local-omf: -for file in $(omffile); do \ rm -f $$file.out; \ done drivel-3.0.5/MAINTAINERS0000644000175000017500000000006511552103112011412 00000000000000Email: todd@dropline.net Email: linux@codehelp.co.uk drivel-3.0.5/m4/0000755000175000017500000000000012164124027010324 500000000000000drivel-3.0.5/m4/libtool.m40000644000175000017500000106000712161410720012151 00000000000000# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ]) # serial 57 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. m4_defun([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_WITH_SYSROOT])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PREPARE_SED_QUOTE_VARS # -------------------------- # Define a few sed substitution that help us do robust quoting. m4_defun([_LT_PREPARE_SED_QUOTE_VARS], [# Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ]) # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from `configure', and `config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # `config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain="$ac_aux_dir/ltmain.sh" ])# _LT_PROG_LTMAIN ## ------------------------------------- ## ## Accumulate code for creating libtool. ## ## ------------------------------------- ## # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the `libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) ## ------------------------ ## ## FIXME: Eliminate VARNAME ## ## ------------------------ ## # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to `config.status' so that its # declaration there will have the same value as in `configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags="_LT_TAGS"dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the `libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into `config.status', and then the shell code to quote escape them in # for loops in `config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$[]1 _LTECHO_EOF' } # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done _LT_OUTPUT_LIBTOOL_INIT ]) # _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) # ------------------------------------ # Generate a child script FILE with all initialization necessary to # reuse the environment learned by the parent script, and make the # file executable. If COMMENT is supplied, it is inserted after the # `#!' sequence but before initialization text begins. After this # macro, additional text can be appended to FILE to form the body of # the child script. The macro ends with non-zero status if the # file could not be fully written (such as if the disk is full). m4_ifdef([AS_INIT_GENERATED], [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], [m4_defun([_LT_GENERATED_FILE_INIT], [m4_require([AS_PREPARE])]dnl [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl [lt_write_fail=0 cat >$1 <<_ASEOF || lt_write_fail=1 #! $SHELL # Generated by $as_me. $2 SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$1 <<\_ASEOF || lt_write_fail=1 AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 _ASEOF test $lt_write_fail = 0 && chmod +x $1[]dnl m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) _LT_GENERATED_FILE_INIT(["$CONFIG_LT"], [# Run this file to recreate a libtool stub with the current configuration.]) cat >>"$CONFIG_LT" <<\_LTEOF lt_cl_silent=false exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ \`$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2011 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test $[#] != 0 do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try \`$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try \`$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. lt_cl_success=: test "$silent" = yes && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # _LT_COPYING _LT_LIBTOOL_TAGS # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) _LT_PROG_REPLACE_SHELLFNS mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Go], [_LT_LANG(GO)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG m4_ifndef([AC_PROG_GO], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_GO. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_GO], [AC_LANG_PUSH(Go)dnl AC_ARG_VAR([GOC], [Go compiler command])dnl AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl _AC_ARG_VAR_LDFLAGS()dnl AC_CHECK_TOOL(GOC, gccgo) if test -z "$GOC"; then if test -n "$ac_tool_prefix"; then AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) fi fi if test -z "$GOC"; then AC_CHECK_PROG(GOC, gccgo, gccgo, false) fi ])#m4_defun ])#m4_ifndef # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([AC_PROG_GO], [LT_LANG(GO)], [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) dnl AC_DEFUN([AC_LIBTOOL_RC], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS="$save_LDFLAGS" ]) AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], [lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[[012]]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES([TAG]) # --------------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported if test "$lt_cv_ld_force_load" = "yes"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" m4_if([$1], [CXX], [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX([TAGNAME]) # ---------------------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. # Store the results from the different compilers for each TAGNAME. # Allow to override them for all tags through lt_cv_aix_libpath. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ lt_aix_libpath_sed='[ /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }]' _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" fi ]) aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [m4_divert_text([M4SH-INIT], [$1 ])])# _LT_SHELL_INIT # _LT_PROG_ECHO_BACKSLASH # ----------------------- # Find how we can fake an echo command that does not interpret backslash. # In particular, with Autoconf 2.60 or later we add some code to the start # of the generated configure script which will find a shell with a builtin # printf (which we can use as an echo command). m4_defun([_LT_PROG_ECHO_BACKSLASH], [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO AC_MSG_CHECKING([how to print strings]) # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $[]1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } case "$ECHO" in printf*) AC_MSG_RESULT([printf]) ;; print*) AC_MSG_RESULT([print -r]) ;; *) AC_MSG_RESULT([cat]) ;; esac m4_ifdef([_AS_DETECT_SUGGESTED], [_AS_DETECT_SUGGESTED([ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test "X`printf %s $ECHO`" = "X$ECHO" \ || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [ --with-sysroot[=DIR] Search for dependent libraries within DIR (or the compiler's sysroot if not specified).], [], [with_sysroot=no]) dnl lt_sysroot will always be passed unquoted. We quote it here dnl in case the user passed a directory name. lt_sysroot= case ${with_sysroot} in #( yes) if test "$GCC" = yes; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) AC_MSG_RESULT([${with_sysroot}]) AC_MSG_ERROR([The sysroot must be an absolute path.]) ;; esac AC_MSG_RESULT([${lt_sysroot:-no}]) _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl [dependent libraries, and in which our libraries should be installed.])]) # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) case `/usr/bin/file conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; *) LD="${LD-ld} -m elf_i386" ;; esac ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; *-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD="${LD-ld}_sol2" fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" ])# _LT_ENABLE_LOCK # _LT_PROG_AR # ----------- m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} : ${AR_FLAGS=cru} _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([lt_ar_try]) if test "$ac_status" -eq 0; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a AC_TRY_EVAL([lt_ar_try]) if test "$ac_status" -ne 0; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a ]) ]) if test "x$lt_cv_ar_at_file" = xno; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi _LT_DECL([], [archiver_list_spec], [1], [How to feed a file listing to the archiver]) ])# _LT_PROG_AR # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [_LT_PROG_AR AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) _LT_DECL([], [lock_old_archive_extraction], [0], [Whether to use a lock for old archive extraction]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $RM conftest* ]) if test x"[$]$2" = xyes; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" ]) if test x"[$]$2" = xyes; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len" && \ test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "$cross_compiling" = yes; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen="dlopen"], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) ]) ]) ]) ]) ]) ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links="nottested" if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test "$hard_links" = no; then AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", [Define to the sub-directory in which libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then # We can hardcode non-existent directories. if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; *) lt_sed_strip_eq="s,=/,/,g" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[[4-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[23]].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[[3-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], [lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [lt_cv_shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir ]) shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[[89]] | openbsd2.[[89]].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [install_override_mode], [1], [Permission mode override for installation of shared libraries]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([], [sys_lib_dlsearch_path_spec], [2], [Run-time system search path for libraries]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program which can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program which can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PROG_ECHO_BACKSLASH])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method = "file_magic"]) _LT_DECL([], [file_magic_glob], [1], [How to find potential files when deplibs_check_method = "file_magic"]) _LT_DECL([], [want_nocaseglob], [1], [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi]) if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols" ;; *) DUMPBIN=: ;; esac fi AC_SUBST([DUMPBIN]) if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # _LT_CHECK_SHAREDLIB_FROM_LINKLIB # -------------------------------- # how to determine the name of the shared library # associated with a specific link library. # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) m4_require([_LT_DECL_DLLTOOL]) AC_CACHE_CHECK([how to associate runtime and link libraries], lt_cv_sharedlib_from_linklib_cmd, [lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh # decide which to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd="$ECHO" ;; esac ]) sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO _LT_DECL([], [sharedlib_from_linklib_cmd], [1], [Command to associate shared and link libraries]) ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB # _LT_PATH_MANIFEST_TOOL # ---------------------- # locate the manifest tool m4_defun([_LT_PATH_MANIFEST_TOOL], [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], [lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&AS_MESSAGE_LOG_FD if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest*]) if test "x$lt_cv_path_mainfest_tool" != xyes; then MANIFEST_TOOL=: fi _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl ])# _LT_PATH_MANIFEST_TOOL # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM="-lm") ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then case $cc_basename in nvcc*) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; *) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; esac _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT@&t@_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT@&t@_DLSYM_CONST #else # define LT@&t@_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT@&t@_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then nm_file_list_spec='@' fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) _LT_DECL([], [nm_file_list_spec], [1], [Specify filename containing input files for $NM]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL 8.0, 9.0 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; *Sun\ F* | *Sun*Fortran*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Intel*\ [[CF]]*Compiler*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; *Portland\ Group*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_CACHE_CHECK([for $compiler option to produce PIC], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global defined # symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] ;; esac ;; linux* | k*bsd*-gnu | gnu*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi _LT_TAGVAR(link_all_deplibs, $1)=no else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) m4_if($1, [], [ # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) _LT_LINKER_OPTION([if $CC understands -b], _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) ;; esac fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], [lt_cv_irix_exported_symbol], [save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" AC_LINK_IFELSE( [AC_LANG_SOURCE( [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], [C++], [[int foo (void) { return 0; }]], [Fortran 77], [[ subroutine foo end]], [Fortran], [[ subroutine foo end]])])], [lt_cv_irix_exported_symbol=yes], [lt_cv_irix_exported_symbol=no]) LDFLAGS="$save_LDFLAGS"]) if test "$lt_cv_irix_exported_symbol" = yes; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else case $host_os in openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_CACHE_CHECK([whether -lc should be explicitly linked in], [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), [$RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no else lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ]) _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting ${shlibpath_var} if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [postlink_cmds], [2], [Commands necessary for finishing linking programs]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC="$CC" AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report which library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC="$lt_save_CC" ])# _LT_LANG_C_CONFIG # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes fi AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared # libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ func_to_tool_file "$lt_outputfile"~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd2*) # C++ shared libraries are fairly broken _LT_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ '"$_LT_TAGVAR(old_archive_cmds, $1)" _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ '"$_LT_TAGVAR(reload_cmds, $1)" ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(GCC, $1)="$GXX" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_FUNC_STRIPNAME_CNF # ---------------------- # func_stripname_cnf prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # # This function is identical to the (non-XSI) version of func_stripname, # except this one can be used by m4 code that may be executed by configure, # rather than the libtool script. m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl AC_REQUIRE([_LT_DECL_SED]) AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) func_stripname_cnf () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname_cnf ])# _LT_FUNC_STRIPNAME_CNF # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF package foo func foo() { } _LT_EOF ]) _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case ${prev}${p} in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" || test $p = "-R"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test "$pre_test_object_deps_done" = no; then case ${prev} in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)="${prev}${p}" else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)="$p" else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)="$p" else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_LANG_PUSH(Fortran 77) if test -z "$F77" || test "X$F77" = "Xno"; then _lt_disable_F77=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_F77" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${F77-"f77"} CFLAGS=$FFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$G77" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" CFLAGS="$lt_save_CFLAGS" fi # test "$_lt_disable_F77" != yes AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_LANG_PUSH(Fortran) if test -z "$FC" || test "X$FC" = "Xno"; then _lt_disable_FC=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_FC" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${FC-"f95"} CFLAGS=$FCFLAGS compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test "$_lt_disable_FC" != yes AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} CFLAGS=$GCJFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_GO_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Go compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GO_CONFIG], [AC_REQUIRE([LT_PROG_GO])dnl AC_LANG_SAVE # Source file extension for Go test sources. ac_ext=go # Object file extension for compiled Go test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="package main; func main() { }" # Code to be used in simple link tests lt_simple_link_test_code='package main; func main() { }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GOC-"gccgo"} CFLAGS=$GOFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # Go did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GO_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC= CC=${RC-"windres"} CFLAGS= compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_GO # ---------- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) ]) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_DLLTOOL # ---------------- # Ensure DLLTOOL variable is set. m4_defun([_LT_DECL_DLLTOOL], [AC_CHECK_TOOL(DLLTOOL, dlltool, false) test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) AC_SUBST([DLLTOOL]) ]) # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [AC_MSG_CHECKING([whether the shell understands some XSI constructs]) # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,b/c, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes AC_MSG_RESULT([$xsi_shell]) _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) AC_MSG_CHECKING([whether the shell understands "+="]) lt_shell_append=no ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes AC_MSG_RESULT([$lt_shell_append]) _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) # ------------------------------------------------------ # In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and # '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. m4_defun([_LT_PROG_FUNCTION_REPLACE], [dnl { sed -e '/^$1 ()$/,/^} # $1 /c\ $1 ()\ {\ m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) } # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: ]) # _LT_PROG_REPLACE_SHELLFNS # ------------------------- # Replace existing portable implementations of several shell functions with # equivalent extended shell implementations where those features are available.. m4_defun([_LT_PROG_REPLACE_SHELLFNS], [if test x"$xsi_shell" = xyes; then _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac]) _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl func_basename_result="${1##*/}"]) _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}"]) _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"}]) _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl func_split_long_opt_name=${1%%=*} func_split_long_opt_arg=${1#*=}]) _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl func_split_short_opt_arg=${1#??} func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac]) _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) fi if test x"$lt_shell_append" = xyes; then _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl func_quote_for_eval "${2}" dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) # Save a `func_append' function call where possible by direct use of '+=' sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: else # Save a `func_append' function call even when '+=' is not available sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$_lt_function_replace_fail" = x":"; then AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) fi ]) # _LT_PATH_CONVERSION_FUNCTIONS # ----------------------------- # Determine which file name conversion functions should be used by # func_to_host_file (and, implicitly, by func_to_host_path). These are needed # for certain cross-compile configurations and native mingw. m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_MSG_CHECKING([how to convert $build file names to $host format]) AC_CACHE_VAL(lt_cv_to_host_file_cmd, [case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac ]) to_host_file_cmd=$lt_cv_to_host_file_cmd AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], [0], [convert $build file names to $host format])dnl AC_MSG_CHECKING([how to convert $build file names to toolchain format]) AC_CACHE_VAL(lt_cv_to_tool_file_cmd, [#assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac ]) to_tool_file_cmd=$lt_cv_to_tool_file_cmd AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], [0], [convert $build files to toolchain format])dnl ])# _LT_PATH_CONVERSION_FUNCTIONS drivel-3.0.5/m4/intltool.m40000644000175000017500000002772412161410720012361 00000000000000## intltool.m4 - Configure intltool for the target system. -*-Shell-script-*- ## Copyright (C) 2001 Eazel, Inc. ## Author: Maciej Stachowiak ## Kenneth Christiansen ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program; if not, write to the Free Software ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ## ## As a special exception to the GNU General Public License, if you ## distribute this file as part of a program that contains a ## configuration script generated by Autoconf, you may include it under ## the same distribution terms that you use for the rest of that program. dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) # serial 42 IT_PROG_INTLTOOL AC_DEFUN([IT_PROG_INTLTOOL], [ AC_PREREQ([2.50])dnl AC_REQUIRE([AM_NLS])dnl case "$am__api_version" in 1.[01234]) AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) ;; *) ;; esac INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` if test -n "$1"; then AC_MSG_CHECKING([for intltool >= $1]) AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.]) fi AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.]) fi if test -z "$AM_DEFAULT_VERBOSITY"; then AM_DEFAULT_VERBOSITY=1 fi AC_SUBST([AM_DEFAULT_VERBOSITY]) INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))' INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))' INTLTOOL__v_MERGE_0='@echo " ITMRG " [$]@;' AC_SUBST(INTLTOOL_V_MERGE) AC_SUBST(INTLTOOL__v_MERGE_) AC_SUBST(INTLTOOL__v_MERGE_0) INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))' intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))' intltool__v_merge_options_0='-q' AC_SUBST(INTLTOOL_V_MERGE_OPTIONS) AC_SUBST(intltool__v_merge_options_) AC_SUBST(intltool__v_merge_options_0) INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< [$]@' INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< [$]@' else INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.[$][$]RANDOM && mkdir [$][$]_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u [$][$]_it_tmp_dir $< [$]@ && rmdir [$][$]_it_tmp_dir' fi INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' _IT_SUBST(INTLTOOL_DESKTOP_RULE) _IT_SUBST(INTLTOOL_DIRECTORY_RULE) _IT_SUBST(INTLTOOL_KEYS_RULE) _IT_SUBST(INTLTOOL_PROP_RULE) _IT_SUBST(INTLTOOL_OAF_RULE) _IT_SUBST(INTLTOOL_PONG_RULE) _IT_SUBST(INTLTOOL_SERVER_RULE) _IT_SUBST(INTLTOOL_SHEET_RULE) _IT_SUBST(INTLTOOL_SOUNDLIST_RULE) _IT_SUBST(INTLTOOL_UI_RULE) _IT_SUBST(INTLTOOL_XAM_RULE) _IT_SUBST(INTLTOOL_KBD_RULE) _IT_SUBST(INTLTOOL_XML_RULE) _IT_SUBST(INTLTOOL_XML_NOMERGE_RULE) _IT_SUBST(INTLTOOL_CAVES_RULE) _IT_SUBST(INTLTOOL_SCHEMAS_RULE) _IT_SUBST(INTLTOOL_THEME_RULE) _IT_SUBST(INTLTOOL_SERVICE_RULE) _IT_SUBST(INTLTOOL_POLICY_RULE) # Check the gettext tools to make sure they are GNU AC_PATH_PROG(XGETTEXT, xgettext) AC_PATH_PROG(MSGMERGE, msgmerge) AC_PATH_PROG(MSGFMT, msgfmt) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) fi xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) fi AC_PATH_PROG(INTLTOOL_PERL, perl) if test -z "$INTLTOOL_PERL"; then AC_MSG_ERROR([perl not found]) fi AC_MSG_CHECKING([for perl >= 5.8.1]) $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 if test $? -ne 0; then AC_MSG_ERROR([perl 5.8.1 is required for intltool]) else IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"` AC_MSG_RESULT([$IT_PERL_VERSION]) fi if test "x$2" != "xno-xml"; then AC_MSG_CHECKING([for XML::Parser]) if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then AC_MSG_RESULT([ok]) else AC_MSG_ERROR([XML::Parser perl module is required for intltool]) fi fi # Substitute ALL_LINGUAS so we can use it in po/Makefile AC_SUBST(ALL_LINGUAS) # Set DATADIRNAME correctly if it is not set yet # (copied from glib-gettext.m4) if test -z "$DATADIRNAME"; then AC_LINK_IFELSE( [AC_LANG_PROGRAM([[]], [[extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr]])], [DATADIRNAME=share], [case $host in *-*-solaris*) dnl On Solaris, if bind_textdomain_codeset is in libc, dnl GNU format message catalog is always supported, dnl since both are added to the libc all together. dnl Hence, we'd like to go with DATADIRNAME=share dnl in this case. AC_CHECK_FUNC(bind_textdomain_codeset, [DATADIRNAME=share], [DATADIRNAME=lib]) ;; *) [DATADIRNAME=lib] ;; esac]) fi AC_SUBST(DATADIRNAME) IT_PO_SUBDIR([po]) ]) # IT_PO_SUBDIR(DIRNAME) # --------------------- # All po subdirs have to be declared with this macro; the subdir "po" is # declared by IT_PROG_INTLTOOL. # AC_DEFUN([IT_PO_SUBDIR], [AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. dnl dnl The following CONFIG_COMMANDS should be executed at the very end dnl of config.status. AC_CONFIG_COMMANDS_PRE([ AC_CONFIG_COMMANDS([$1/stamp-it], [ if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) fi rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" >"$1/stamp-it.tmp" [sed '/^#/d s/^[[].*] *// /^[ ]*$/d '"s|^| $ac_top_srcdir/|" \ "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" ] [sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r $1/POTFILES } ' "$1/Makefile.in" >"$1/Makefile"] rm -f "$1/Makefile.tmp" mv "$1/stamp-it.tmp" "$1/stamp-it" ]) ])dnl ]) # _IT_SUBST(VARIABLE) # ------------------- # Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST # AC_DEFUN([_IT_SUBST], [ AC_SUBST([$1]) m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) ] ) # deprecated macros AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) # A hint is needed for aclocal from Automake <= 1.9.4: # AC_DEFUN([AC_PROG_INTLTOOL], ...) drivel-3.0.5/m4/ltsugar.m40000644000175000017500000001042412161410720012163 00000000000000# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # lt_join(SEP, ARG1, [ARG2...]) # ----------------------------- # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their # associated separator. # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier # versions in m4sugar had bugs. m4_define([lt_join], [m4_if([$#], [1], [], [$#], [2], [[$2]], [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) m4_define([_lt_join], [m4_if([$#$2], [2], [], [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) # lt_car(LIST) # lt_cdr(LIST) # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support # Autoconf-2.59 which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], [$#], 1, [], [m4_dquote(m4_shift($@))])]) m4_define([lt_unquote], $1) # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ # Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different # than defined and empty). # # This macro is needed until we can rely on Autoconf 2.62, since earlier # versions of m4sugar mistakenly expanded SEPARATOR but not STRING. m4_define([lt_append], [m4_define([$1], m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. # Needed until we can rely on m4_combine added in Autoconf 2.62. m4_define([lt_combine], [m4_if(m4_eval([$# > 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) drivel-3.0.5/m4/lt~obsolete.m40000644000175000017500000001375612161410720013067 00000000000000# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 5 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) drivel-3.0.5/m4/gnome-doc-utils.m40000644000175000017500000000357212161410720013516 00000000000000dnl Do not call GNOME_DOC_DEFINES directly. It is split out from dnl GNOME_DOC_INIT to allow gnome-doc-utils to bootstrap off itself. AC_DEFUN([GNOME_DOC_DEFINES], [ AC_ARG_WITH([help-dir], AC_HELP_STRING([--with-help-dir=DIR], [path to help docs]),, [with_help_dir='${datadir}/gnome/help']) HELP_DIR="$with_help_dir" AC_SUBST(HELP_DIR) AC_ARG_WITH([omf-dir], AC_HELP_STRING([--with-omf-dir=DIR], [path to OMF files]),, [with_omf_dir='${datadir}/omf']) OMF_DIR="$with_omf_dir" AC_SUBST(OMF_DIR) AC_ARG_WITH([help-formats], AC_HELP_STRING([--with-help-formats=FORMATS], [list of formats]),, [with_help_formats='']) DOC_USER_FORMATS="$with_help_formats" AC_SUBST(DOC_USER_FORMATS) AC_ARG_ENABLE([scrollkeeper], [AC_HELP_STRING([--disable-scrollkeeper], [do not make updates to the scrollkeeper database])],, enable_scrollkeeper=yes) AM_CONDITIONAL([ENABLE_SK],[test "$gdu_cv_have_gdu" = "yes" -a "$enable_scrollkeeper" = "yes"]) dnl disable scrollkeeper automatically for distcheck DISTCHECK_CONFIGURE_FLAGS="--disable-scrollkeeper $DISTCHECK_CONFIGURE_FLAGS" AC_SUBST(DISTCHECK_CONFIGURE_FLAGS) AM_CONDITIONAL([HAVE_GNOME_DOC_UTILS],[test "$gdu_cv_have_gdu" = "yes"]) ]) # GNOME_DOC_INIT ([MINIMUM-VERSION],[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) # AC_DEFUN([GNOME_DOC_INIT], [AC_REQUIRE([AC_PROG_LN_S])dnl if test -z "$AM_DEFAULT_VERBOSITY"; then AM_DEFAULT_VERBOSITY=1 fi AC_SUBST([AM_DEFAULT_VERBOSITY]) ifelse([$1],,[gdu_cv_version_required=0.3.2],[gdu_cv_version_required=$1]) AC_MSG_CHECKING([gnome-doc-utils >= $gdu_cv_version_required]) PKG_CHECK_EXISTS([gnome-doc-utils >= $gdu_cv_version_required], [gdu_cv_have_gdu=yes],[gdu_cv_have_gdu=no]) if test "$gdu_cv_have_gdu" = "yes"; then AC_MSG_RESULT([yes]) ifelse([$2],,[:],[$2]) else AC_MSG_RESULT([no]) ifelse([$3],,[AC_MSG_ERROR([gnome-doc-utils >= $gdu_cv_version_required not found])],[$3]) fi GNOME_DOC_DEFINES ]) drivel-3.0.5/m4/ltoptions.m40000644000175000017500000003007312161410720012537 00000000000000# Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, # Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 7 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option `$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl `shared' nor `disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) ]) ])# _LT_SET_OPTIONS ## --------------------------------- ## ## Macros to handle LT_INIT options. ## ## --------------------------------- ## # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [1], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the `shared' and # `disable-shared' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the `static' and # `disable-static' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the `fast-install' # and `disable-fast-install' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the `pic-only' and `no-pic' # LT_INIT options. # MODE is either `yes' or `no'. If omitted, it defaults to `both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for lt_pkg in $withval; do IFS="$lt_save_ifs" if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS="$lt_save_ifs" ;; esac], [pic_mode=default]) test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) ## ----------------- ## ## LTDL_INIT Options ## ## ----------------- ## m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) drivel-3.0.5/m4/ltversion.m40000644000175000017500000000126212161410720012527 00000000000000# ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # @configure_input@ # serial 3337 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.4.2]) m4_define([LT_PACKAGE_REVISION], [1.3337]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.2' macro_revision='1.3337' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) drivel-3.0.5/configure0000755000175000017500000232614412161412430011642 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for Drivel 3.0.5. # # Report bugs to . # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: http://bugs.gnome.org about your system, including any $0: error possibly output before this message. Then install $0: a modern shell, or manually run the script under such a $0: shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" SHELL=${CONFIG_SHELL-/bin/sh} test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Drivel' PACKAGE_TARNAME='drivel' PACKAGE_VERSION='3.0.5' PACKAGE_STRING='Drivel 3.0.5' PACKAGE_BUGREPORT='http://bugs.gnome.org' PACKAGE_URL='' ac_unique_file="src/drivel.h" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_header_list= ac_func_list= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS WARN_CFLAGS MKINSTALLDIRS POSUB POFILES PO_IN_DATADIR_FALSE PO_IN_DATADIR_TRUE INTLLIBS INSTOBJEXT GMOFILES CATOBJEXT CATALOGS MSGFMT_OPTS GETTEXT_PACKAGE DISABLE_DEPRECATED_CFLAGS GCONF_SCHEMAS_INSTALL_FALSE GCONF_SCHEMAS_INSTALL_TRUE GCONF_SCHEMA_FILE_DIR GCONF_SCHEMA_CONFIG_SOURCE GCONFTOOL SCROLLKEEPER_CONFIG HAVE_NEW_DESKTOP_FALSE HAVE_NEW_DESKTOP_TRUE UPDATE_DESKTOP_DATABASE HAVE_NEW_MIME_FALSE HAVE_NEW_MIME_TRUE UPDATE_MIME_DATABASE DRIVEL_LIBS DRIVEL_CFLAGS HAVE_DBUS_FALSE HAVE_DBUS_TRUE LIBXML_REQUIRED LIBSOUP_REQUIRED GTKSOURCEVIEW_REQUIRED GTK_REQUIRED GNOME_VFS_REQUIRED GLIB_REQUIRED GCONF_REQUIRED LIBOBJS DATADIRNAME ALL_LINGUAS INTLTOOL_PERL GMSGFMT MSGFMT MSGMERGE XGETTEXT INTLTOOL_POLICY_RULE INTLTOOL_SERVICE_RULE INTLTOOL_THEME_RULE INTLTOOL_SCHEMAS_RULE INTLTOOL_CAVES_RULE INTLTOOL_XML_NOMERGE_RULE INTLTOOL_XML_RULE INTLTOOL_KBD_RULE INTLTOOL_XAM_RULE INTLTOOL_UI_RULE INTLTOOL_SOUNDLIST_RULE INTLTOOL_SHEET_RULE INTLTOOL_SERVER_RULE INTLTOOL_PONG_RULE INTLTOOL_OAF_RULE INTLTOOL_PROP_RULE INTLTOOL_KEYS_RULE INTLTOOL_DIRECTORY_RULE INTLTOOL_DESKTOP_RULE intltool__v_merge_options_0 intltool__v_merge_options_ INTLTOOL_V_MERGE_OPTIONS INTLTOOL__v_MERGE_0 INTLTOOL__v_MERGE_ INTLTOOL_V_MERGE INTLTOOL_EXTRACT INTLTOOL_MERGE INTLTOOL_UPDATE USE_NLS CXXCPP OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL MANIFEST_TOOL RANLIB ac_ct_AR AR DLLTOOL OBJDUMP NM ac_ct_DUMPBIN DUMPBIN LD FGREP EGREP GREP SED host_os host_vendor host_cpu host build_os build_vendor build_cpu build LIBTOOL CPP am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE ac_ct_CC CFLAGS CC am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CXX CPPFLAGS LDFLAGS CXXFLAGS CXX AM_BACKSLASH AM_DEFAULT_V AM_V am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM HAVE_GNOME_DOC_UTILS_FALSE HAVE_GNOME_DOC_UTILS_TRUE DISTCHECK_CONFIGURE_FLAGS ENABLE_SK_FALSE ENABLE_SK_TRUE DOC_USER_FORMATS OMF_DIR HELP_DIR PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG AM_DEFAULT_VERBOSITY LN_S ACLOCAL_AMFLAGS target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking with_help_dir with_omf_dir with_help_formats enable_scrollkeeper enable_silent_rules enable_dependency_tracking enable_shared enable_static with_pic enable_fast_install with_gnu_ld with_sysroot enable_libtool_lock enable_nls with_gtkspell with_dbus enable_mime_update enable_desktop_update with_gconf_source with_gconf_schema_file_dir enable_schemas_install enable_deprecations enable_error_on_warning enable_compile_warnings ' ac_precious_vars='build_alias host_alias target_alias PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR CXX CXXFLAGS LDFLAGS LIBS CPPFLAGS CCC CC CFLAGS CPP CXXCPP DRIVEL_CFLAGS DRIVEL_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures Drivel 3.0.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/drivel] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of Drivel 3.0.5:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-scrollkeeper do not make updates to the scrollkeeper database --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --disable-nls do not use Native Language Support --disable-mime-update Disable the MIME database update --disable-desktop-update Disable the desktop database update --disable-schemas-install Disable the schemas installation --enable-deprecations warn about deprecated usages default=no --disable-error-on-warning disable treating compile warnings as errors --enable-compile-warnings Enable extra compiler warnings (default=no) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-help-dir=DIR path to help docs --with-omf-dir=DIR path to OMF files --with-help-formats=FORMATS list of formats --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot=DIR Search for dependent libraries within DIR (or the compiler's sysroot if not specified). --with-gtkspell Compile with GtkSpell support (default=autodetect) --with-dbus Compile with D-Bus support (default=autodetect) --with-gconf-source=sourceaddress Config database for installing schema files. --with-gconf-schema-file-dir=dir Directory for installing schema files. Some influential environment variables: PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path CXX C++ compiler command CXXFLAGS C++ compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CC C compiler command CFLAGS C compiler flags CPP C preprocessor CXXCPP C++ preprocessor DRIVEL_CFLAGS C compiler flags for DRIVEL, overriding pkg-config DRIVEL_LIBS linker flags for DRIVEL, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF Drivel configure 3.0.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_cxx_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_cxx_try_cpp LINENO # ------------------------ # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_cpp # ac_fn_cxx_try_link LINENO # ------------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_link # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## ------------------------------------ ## ## Report this to http://bugs.gnome.org ## ## ------------------------------------ ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache # variable VAR accordingly. ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof ($2)) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof (($2))) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else eval "$3=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by Drivel $as_me 3.0.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi as_fn_append ac_header_list " sys/time.h" as_fn_append ac_header_list " unistd.h" as_fn_append ac_func_list " alarm" # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}" if test -n "$ac_macro_dir"; then ACLOCAL_AMFLAGS="-I $ac_macro_dir $ACLOCAL_AMFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi if test -z "$AM_DEFAULT_VERBOSITY"; then AM_DEFAULT_VERBOSITY=1 fi gdu_cv_version_required=0.3.2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking gnome-doc-utils >= $gdu_cv_version_required" >&5 $as_echo_n "checking gnome-doc-utils >= $gdu_cv_version_required... " >&6; } if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnome-doc-utils >= \$gdu_cv_version_required\""; } >&5 ($PKG_CONFIG --exists --print-errors "gnome-doc-utils >= $gdu_cv_version_required") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then gdu_cv_have_gdu=yes else gdu_cv_have_gdu=no fi if test "$gdu_cv_have_gdu" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } : else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "gnome-doc-utils >= $gdu_cv_version_required not found" "$LINENO" 5 fi # Check whether --with-help-dir was given. if test "${with_help_dir+set}" = set; then : withval=$with_help_dir; else with_help_dir='${datadir}/gnome/help' fi HELP_DIR="$with_help_dir" # Check whether --with-omf-dir was given. if test "${with_omf_dir+set}" = set; then : withval=$with_omf_dir; else with_omf_dir='${datadir}/omf' fi OMF_DIR="$with_omf_dir" # Check whether --with-help-formats was given. if test "${with_help_formats+set}" = set; then : withval=$with_help_formats; else with_help_formats='' fi DOC_USER_FORMATS="$with_help_formats" # Check whether --enable-scrollkeeper was given. if test "${enable_scrollkeeper+set}" = set; then : enableval=$enable_scrollkeeper; else enable_scrollkeeper=yes fi if test "$gdu_cv_have_gdu" = "yes" -a "$enable_scrollkeeper" = "yes"; then ENABLE_SK_TRUE= ENABLE_SK_FALSE='#' else ENABLE_SK_TRUE='#' ENABLE_SK_FALSE= fi DISTCHECK_CONFIGURE_FLAGS="--disable-scrollkeeper $DISTCHECK_CONFIGURE_FLAGS" if test "$gdu_cv_have_gdu" = "yes"; then HAVE_GNOME_DOC_UTILS_TRUE= HAVE_GNOME_DOC_UTILS_FALSE='#' else HAVE_GNOME_DOC_UTILS_TRUE='#' HAVE_GNOME_DOC_UTILS_FALSE= fi ac_config_headers="$ac_config_headers config.h" am__api_version='1.13' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='drivel' VERSION='3.0.5' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar pax cpio none' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' # Checks for programs. ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 $as_echo_n "checking whether the C++ compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C++ compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 $as_echo_n "checking for C++ compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu case `pwd` in *\ * | *\ *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.4.2' macro_revision='1.3337' ltmain="$ac_aux_dir/ltmain.sh" # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 $as_echo_n "checking how to print strings... " >&6; } # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "" } case "$ECHO" in printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 $as_echo "printf" >&6; } ;; print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 $as_echo "print -r" >&6; } ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 $as_echo "cat" >&6; } ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if ${ac_cv_path_FGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else if test -n "$ac_tool_prefix"; then for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols" ;; *) DUMPBIN=: ;; esac fi if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if ${lt_cv_nm_interface+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if ${lt_cv_sys_max_cmd_len+:} false; then : $as_echo_n "(cached) " >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len" && \ test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,b/c, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 $as_echo "$xsi_shell" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } lt_shell_append=no ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 $as_echo "$lt_shell_append" >&6; } if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 $as_echo_n "checking how to convert $build file names to $host format... " >&6; } if ${lt_cv_to_host_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac fi to_host_file_cmd=$lt_cv_to_host_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 $as_echo "$lt_cv_to_host_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 $as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } if ${lt_cv_to_tool_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 $as_echo "$lt_cv_to_tool_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if ${lt_cv_ld_reload_flag+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in cygwin* | mingw* | pw32* | cegcc*) if test "$GCC" != yes; then reload_cmds=false fi ;; darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if ${lt_cv_deplibs_check_method+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 $as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 $as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi test -z "$DLLTOOL" && DLLTOOL=dlltool { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 $as_echo_n "checking how to associate runtime and link libraries... " >&6; } if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh # decide which to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd="$ECHO" ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO if test -n "$ac_tool_prefix"; then for ac_prog in ar do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AR" && break done fi if test -z "$AR"; then ac_ct_AR=$AR for ac_prog in ar do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_AR" && break done if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi fi : ${AR=ar} : ${AR_FLAGS=cru} { $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 $as_echo_n "checking for archiver @FILE support... " >&6; } if ${lt_cv_ar_at_file+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -ne 0; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 $as_echo "$lt_cv_ar_at_file" >&6; } if test "x$lt_cv_ar_at_file" = xno; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then nm_file_list_spec='@' fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 $as_echo_n "checking for sysroot... " >&6; } # Check whether --with-sysroot was given. if test "${with_sysroot+set}" = set; then : withval=$with_sysroot; else with_sysroot=no fi lt_sysroot= case ${with_sysroot} in #( yes) if test "$GCC" = yes; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 $as_echo "${with_sysroot}" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 $as_echo "${lt_sysroot:-no}" >&6; } # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) case `/usr/bin/file conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; *) LD="${LD-ld} -m elf_i386" ;; esac ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_cc_needs_belf=yes else lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; *-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD="${LD-ld}_sol2" fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. set dummy ${ac_tool_prefix}mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 $as_echo "$MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_MANIFEST_TOOL"; then ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL # Extract the first word of "mt", so it can be a program name with args. set dummy mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 $as_echo "$ac_ct_MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_MANIFEST_TOOL" = x; then MANIFEST_TOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL fi else MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" fi test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 $as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } if ${lt_cv_path_mainfest_tool+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&5 if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 $as_echo "$lt_cv_path_mainfest_tool" >&6; } if test "x$lt_cv_path_mainfest_tool" != xyes; then MANIFEST_TOOL=: fi case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LIPO="lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL="otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL64="otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if ${lt_cv_apple_cc_single_mod+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&5 # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if ${lt_cv_ld_exported_symbols_list+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_ld_exported_symbols_list=yes else lt_cv_ld_exported_symbols_list=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 $as_echo_n "checking for -force_load linker flag... " >&6; } if ${lt_cv_ld_force_load+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 echo "$AR cru libconftest.a conftest.o" >&5 $AR cru libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&5 elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&5 fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 $as_echo "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[012]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do : ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF fi done func_stripname_cnf () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname_cnf # Set options enable_dlopen=no enable_win32_dll=no # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac else enable_static=yes fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : withval=$with_pic; lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for lt_pkg in $withval; do IFS="$lt_save_ifs" if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS="$lt_save_ifs" ;; esac else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if ${lt_cv_objdir+:} false; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF #define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then case $cc_basename in nvcc*) lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; *) lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl='-Xlinker ' if test -n "$lt_prog_compiler_pic"; then lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; *Sun\ F* | *Sun*Fortran*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Intel*\ [CF]*Compiler*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; *Portland\ Group*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if ${lt_cv_prog_compiler_pic+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic=$lt_prog_compiler_pic fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 $as_echo "$lt_cv_prog_compiler_pic" >&6; } lt_prog_compiler_pic=$lt_cv_prog_compiler_pic # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if ${lt_cv_prog_compiler_pic_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) link_all_deplibs=no ;; esac ld_shlibs=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; *\ \(GNU\ Binutils\)\ [3-9]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' export_dynamic_flag_spec='${wl}--export-all-symbols' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; haiku*) archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' link_all_deplibs=yes ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi link_all_deplibs=no else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' fi archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes file_list_spec='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' postlink_cmds='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' enable_shared_with_static_runtimes=yes ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported if test "$lt_cv_ld_force_load" = "yes"; then whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec='' fi link_all_deplibs=yes allow_undefined_flag="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 $as_echo_n "checking if $CC understands -b... " >&6; } if ${lt_cv_prog_compiler__b+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler__b=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler__b=yes fi else lt_cv_prog_compiler__b=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 $as_echo "$lt_cv_prog_compiler__b" >&6; } if test x"$lt_cv_prog_compiler__b" = xyes; then archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } if ${lt_cv_irix_exported_symbol+:} false; then : $as_echo_n "(cached) " >&6 else save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_irix_exported_symbol=yes else lt_cv_irix_exported_symbol=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 $as_echo "$lt_cv_irix_exported_symbol" >&6; } if test "$lt_cv_irix_exported_symbol" = yes; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='${wl}-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } if ${lt_cv_archive_cmds_need_lc+:} false; then : $as_echo_n "(cached) " >&6 else $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc=no else lt_cv_archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 $as_echo "$lt_cv_archive_cmds_need_lc" >&6; } archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; *) lt_sed_strip_eq="s,=/,/,g" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's,/\([A-Za-z]:\),\1,g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if ${lt_cv_shlibpath_overrides_runpath+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink || test "$inherit_rpath" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes; then : lt_cv_dlopen="shl_load" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes; then : lt_cv_dlopen="dlopen" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if ${ac_cv_lib_svld_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_svld_dlopen=yes else ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if ${ac_cv_lib_dld_dld_link+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_dld_link=yes else ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes; then : lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self_static+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report which library types will actually be built { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if ${ac_cv_prog_CXXCPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 $as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu else _lt_caught_CXX_error=yes fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= compiler_needs_object_CXX=no export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_direct_absolute_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no inherit_rpath_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds reload_flag_CXX=$reload_flag reload_cmds_CXX=$reload_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC compiler_CXX=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_CXX= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes file_list_spec_CXX='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct_CXX=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec_CXX='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. always_export_symbols_CXX=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty # executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath__CXX+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath__CXX fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath__CXX+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath__CXX fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_CXX=' ${wl}-bernotok' allow_undefined_flag_CXX=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' fi archive_cmds_need_lc_CXX=yes # This is similar to how AIX traditionally builds its shared # libraries. archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec_CXX=' ' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=yes file_list_spec_CXX='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' enable_shared_with_static_runtimes_CXX=yes # Don't use ranlib old_postinstall_cmds_CXX='chmod 644 $oldlib' postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ func_to_tool_file "$lt_outputfile"~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' export_dynamic_flag_spec_CXX='${wl}--export-all-symbols' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported if test "$lt_cv_ld_force_load" = "yes"; then whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec_CXX='' fi link_all_deplibs_CXX=yes allow_undefined_flag_CXX="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" if test "$lt_cv_apple_cc_single_mod" != "yes"; then archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi else ld_shlibs_CXX=no fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; haiku*) archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' link_all_deplibs_CXX=yes ;; hpux9*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='${wl}-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: inherit_rpath_CXX=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [1-5].* | *pgcpp\ [1-5].*) prelink_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' old_archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object_CXX=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) ld_shlibs_CXX=yes ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no hardcode_direct_absolute_CXX=yes archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else ld_shlibs_CXX=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) case $host in osf3*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' ;; *) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' ;; esac hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then no_undefined_flag_CXX=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='${wl}-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ '"$old_archive_cmds_CXX" reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ '"$reload_cmds_CXX" ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case ${prev}${p} in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" || test $p = "-R"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test "$pre_test_object_deps_done" = no; then case ${prev} in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX="${prev}${p}" else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$postdeps_CXX"; then postdeps_CXX="${prev}${p}" else postdeps_CXX="${postdeps_CXX} ${prev}${p}" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$predep_objects_CXX"; then predep_objects_CXX="$p" else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX="$p" else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken case $host_os in interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac compiler_lib_search_dirs_CXX= if test -n "${compiler_lib_search_path_CXX}"; then compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic_CXX='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac else case $host_os in aix[4-9]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) # IBM XL 8.0, 9.0 on PPC and BlueGene lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-qpic' lt_prog_compiler_static_CXX='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if ${lt_cv_prog_compiler_pic_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 $as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works_CXX=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works_CXX=yes fi else lt_cv_prog_compiler_static_works_CXX=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' case $host_os in aix[4-9]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global defined # symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl*) exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' ;; esac ;; linux* | k*bsd*-gnu | gnu*) link_all_deplibs_CXX=no ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no with_gnu_ld_CXX=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : $as_echo_n "(cached) " >&6 else $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc_CXX=no else lt_cv_archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 $as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if ${lt_cv_shlibpath_overrides_runpath+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || test -n "$runpath_var_CXX" || test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct_CXX" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 $as_echo "$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = relink || test "$inherit_rpath_CXX" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_commands="$ac_config_commands libtool" # Only expand once: { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } case "$am__api_version" in 1.01234) as_fn_error $? "Automake 1.5 or newer is required to use intltool" "$LINENO" 5 ;; *) ;; esac INTLTOOL_REQUIRED_VERSION_AS_INT=`echo 0.21 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` if test -n "0.21"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intltool >= 0.21" >&5 $as_echo_n "checking for intltool >= 0.21... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_APPLIED_VERSION found" >&5 $as_echo "$INTLTOOL_APPLIED_VERSION found" >&6; } test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || as_fn_error $? "Your intltool is too old. You need intltool 0.21 or later." "$LINENO" 5 fi # Extract the first word of "intltool-update", so it can be a program name with args. set dummy intltool-update; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_UPDATE+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_UPDATE in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_UPDATE="$INTLTOOL_UPDATE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_UPDATE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_UPDATE=$ac_cv_path_INTLTOOL_UPDATE if test -n "$INTLTOOL_UPDATE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_UPDATE" >&5 $as_echo "$INTLTOOL_UPDATE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "intltool-merge", so it can be a program name with args. set dummy intltool-merge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_MERGE+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_MERGE in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_MERGE="$INTLTOOL_MERGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_MERGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_MERGE=$ac_cv_path_INTLTOOL_MERGE if test -n "$INTLTOOL_MERGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_MERGE" >&5 $as_echo "$INTLTOOL_MERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "intltool-extract", so it can be a program name with args. set dummy intltool-extract; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_EXTRACT+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_EXTRACT in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_EXTRACT="$INTLTOOL_EXTRACT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_EXTRACT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_EXTRACT=$ac_cv_path_INTLTOOL_EXTRACT if test -n "$INTLTOOL_EXTRACT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_EXTRACT" >&5 $as_echo "$INTLTOOL_EXTRACT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then as_fn_error $? "The intltool scripts were not found. Please install intltool." "$LINENO" 5 fi if test -z "$AM_DEFAULT_VERBOSITY"; then AM_DEFAULT_VERBOSITY=1 fi INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))' INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))' INTLTOOL__v_MERGE_0='@echo " ITMRG " $@;' INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))' intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))' intltool__v_merge_options_0='-q' INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< $@' INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< $@' else INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.$$RANDOM && mkdir $$_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u $$_it_tmp_dir $< $@ && rmdir $$_it_tmp_dir' fi INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' # Check the gettext tools to make sure they are GNU # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case $XGETTEXT in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi XGETTEXT=$ac_cv_path_XGETTEXT if test -n "$XGETTEXT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGMERGE+:} false; then : $as_echo_n "(cached) " >&6 else case $MSGMERGE in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MSGMERGE=$ac_cv_path_MSGMERGE if test -n "$MSGMERGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $MSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MSGFMT=$ac_cv_path_MSGFMT if test -n "$MSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 fi xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 fi # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_PERL+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_PERL in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_PERL="$INTLTOOL_PERL" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL if test -n "$INTLTOOL_PERL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_PERL" >&5 $as_echo "$INTLTOOL_PERL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$INTLTOOL_PERL"; then as_fn_error $? "perl not found" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl >= 5.8.1" >&5 $as_echo_n "checking for perl >= 5.8.1... " >&6; } $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 if test $? -ne 0; then as_fn_error $? "perl 5.8.1 is required for intltool" "$LINENO" 5 else IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IT_PERL_VERSION" >&5 $as_echo "$IT_PERL_VERSION" >&6; } fi if test "x" != "xno-xml"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML::Parser" >&5 $as_echo_n "checking for XML::Parser... " >&6; } if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } else as_fn_error $? "XML::Parser perl module is required for intltool" "$LINENO" 5 fi fi # Substitute ALL_LINGUAS so we can use it in po/Makefile # Set DATADIRNAME correctly if it is not set yet # (copied from glib-gettext.m4) if test -z "$DATADIRNAME"; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : DATADIRNAME=share else case $host in *-*-solaris*) ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : DATADIRNAME=share else DATADIRNAME=lib fi ;; *) DATADIRNAME=lib ;; esac fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi # Checks for header files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi for ac_header in fcntl.h libintl.h stdlib.h string.h strings.h \ sys/time.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done # Checks for typedefs, structures, and compiler characteristics. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __cplusplus /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this sort of thing. */ char tx; char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; } bx; struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_const=yes else ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then $as_echo "#define const /**/" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" if test "x$ac_cv_type_mode_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define mode_t int _ACEOF fi ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" if test "x$ac_cv_type_off_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define off_t long int _ACEOF fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { struct tm tm; int *p = &tm.tm_sec; return !p; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_struct_tm=time.h else ac_cv_struct_tm=sys/time.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 $as_echo "$ac_cv_struct_tm" >&6; } if test $ac_cv_struct_tm = sys/time.h; then $as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h fi # Checks for library functions. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } if ${ac_cv_header_time+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main () { if ((struct tm *) 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_time=yes else ac_cv_header_time=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 $as_echo "$ac_cv_header_time" >&6; } if test $ac_cv_header_time = yes; then $as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h fi for ac_header in $ac_header_list do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in $ac_func_list do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mktime" >&5 $as_echo_n "checking for working mktime... " >&6; } if ${ac_cv_func_working_mktime+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_working_mktime=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Test program from Paul Eggert and Tony Leneis. */ #ifdef TIME_WITH_SYS_TIME # include # include #else # ifdef HAVE_SYS_TIME_H # include # else # include # endif #endif #include #include #ifdef HAVE_UNISTD_H # include #endif #ifndef HAVE_ALARM # define alarm(X) /* empty */ #endif /* Work around redefinition to rpl_putenv by other config tests. */ #undef putenv static time_t time_t_max; static time_t time_t_min; /* Values we'll use to set the TZ environment variable. */ static const char *tz_strings[] = { (const char *) 0, "TZ=GMT0", "TZ=JST-9", "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" }; #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) /* Return 0 if mktime fails to convert a date in the spring-forward gap. Based on a problem report from Andreas Jaeger. */ static int spring_forward_gap () { /* glibc (up to about 1998-10-07) failed this test. */ struct tm tm; /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" instead of "TZ=America/Vancouver" in order to detect the bug even on systems that don't support the Olson extension, or don't have the full zoneinfo tables installed. */ putenv ((char*) "TZ=PST8PDT,M4.1.0,M10.5.0"); tm.tm_year = 98; tm.tm_mon = 3; tm.tm_mday = 5; tm.tm_hour = 2; tm.tm_min = 0; tm.tm_sec = 0; tm.tm_isdst = -1; return mktime (&tm) != (time_t) -1; } static int mktime_test1 (time_t now) { struct tm *lt; return ! (lt = localtime (&now)) || mktime (lt) == now; } static int mktime_test (time_t now) { return (mktime_test1 (now) && mktime_test1 ((time_t) (time_t_max - now)) && mktime_test1 ((time_t) (time_t_min + now))); } static int irix_6_4_bug () { /* Based on code from Ariel Faigon. */ struct tm tm; tm.tm_year = 96; tm.tm_mon = 3; tm.tm_mday = 0; tm.tm_hour = 0; tm.tm_min = 0; tm.tm_sec = 0; tm.tm_isdst = -1; mktime (&tm); return tm.tm_mon == 2 && tm.tm_mday == 31; } static int bigtime_test (int j) { struct tm tm; time_t now; tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j; now = mktime (&tm); if (now != (time_t) -1) { struct tm *lt = localtime (&now); if (! (lt && lt->tm_year == tm.tm_year && lt->tm_mon == tm.tm_mon && lt->tm_mday == tm.tm_mday && lt->tm_hour == tm.tm_hour && lt->tm_min == tm.tm_min && lt->tm_sec == tm.tm_sec && lt->tm_yday == tm.tm_yday && lt->tm_wday == tm.tm_wday && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) return 0; } return 1; } static int year_2050_test () { /* The correct answer for 2050-02-01 00:00:00 in Pacific time, ignoring leap seconds. */ unsigned long int answer = 2527315200UL; struct tm tm; time_t t; tm.tm_year = 2050 - 1900; tm.tm_mon = 2 - 1; tm.tm_mday = 1; tm.tm_hour = tm.tm_min = tm.tm_sec = 0; tm.tm_isdst = -1; /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" instead of "TZ=America/Vancouver" in order to detect the bug even on systems that don't support the Olson extension, or don't have the full zoneinfo tables installed. */ putenv ((char*) "TZ=PST8PDT,M4.1.0,M10.5.0"); t = mktime (&tm); /* Check that the result is either a failure, or close enough to the correct answer that we can assume the discrepancy is due to leap seconds. */ return (t == (time_t) -1 || (0 < t && answer - 120 <= t && t <= answer + 120)); } int main () { time_t t, delta; int i, j; /* This test makes some buggy mktime implementations loop. Give up after 60 seconds; a mktime slower than that isn't worth using anyway. */ alarm (60); for (;;) { t = (time_t_max << 1) + 1; if (t <= time_t_max) break; time_t_max = t; } time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max; delta = time_t_max / 997; /* a suitable prime number */ for (i = 0; i < N_STRINGS; i++) { if (tz_strings[i]) putenv ((char*) tz_strings[i]); for (t = 0; t <= time_t_max - delta; t += delta) if (! mktime_test (t)) return 1; if (! (mktime_test ((time_t) 1) && mktime_test ((time_t) (60 * 60)) && mktime_test ((time_t) (60 * 60 * 24)))) return 1; for (j = 1; ; j <<= 1) if (! bigtime_test (j)) return 1; else if (INT_MAX / 2 < j) break; if (! bigtime_test (INT_MAX)) return 1; } return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ()); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_working_mktime=yes else ac_cv_func_working_mktime=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_working_mktime" >&5 $as_echo "$ac_cv_func_working_mktime" >&6; } if test $ac_cv_func_working_mktime = no; then case " $LIBOBJS " in *" mktime.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS mktime.$ac_objext" ;; esac fi for ac_func in strftime do : ac_fn_c_check_func "$LINENO" "strftime" "ac_cv_func_strftime" if test "x$ac_cv_func_strftime" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRFTIME 1 _ACEOF else # strftime is in -lintl on SCO UNIX. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strftime in -lintl" >&5 $as_echo_n "checking for strftime in -lintl... " >&6; } if ${ac_cv_lib_intl_strftime+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char strftime (); int main () { return strftime (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_strftime=yes else ac_cv_lib_intl_strftime=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_strftime" >&5 $as_echo "$ac_cv_lib_intl_strftime" >&6; } if test "x$ac_cv_lib_intl_strftime" = xyes; then : $as_echo "#define HAVE_STRFTIME 1" >>confdefs.h LIBS="-lintl $LIBS" fi fi done for ac_func in ftruncate gethostname localtime_r memset strcasecmp \ strerror strstr strtol do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # Pkg-config checks GCONF_REQUIRED=2.0.0 GLIB_REQUIRED=2.16.6 GNOME_VFS_REQUIRED=2.6.0 # need 2.16 for GtkBuilder GTK_REQUIRED=2.16.5 GTKSOURCEVIEW_REQUIRED=2.2.2 LIBSOUP_REQUIRED=2.4.1 LIBXML_REQUIRED=2.4.0 MODULES=" glib-2.0 >= $GLIB_REQUIRED gmodule-2.0 >= $GLIB_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gconf-2.0 >= $GCONF_REQUIRED gnome-vfs-2.0 >= $GNOME_VFS_REQUIRED gtksourceview-2.0 >= $GTKSOURCEVIEW_REQUIRED libsoup-2.4 >= $LIBSOUP_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED " # Make sure we have pkg-config installed # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Append GtkSpell to the pkg-config module list if desired HAVE_GTKSPELL=no # Check whether --with-gtkspell was given. if test "${with_gtkspell+set}" = set; then : withval=$with_gtkspell; with_gtkspell=yes else with_gtkspell=yes fi if test "$with_gtkspell" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtkspell-2.0" >&5 $as_echo_n "checking for gtkspell-2.0... " >&6; } if $PKG_CONFIG --exists "gtkspell-2.0" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } HAVE_GTKSPELL=yes $as_echo "#define HAVE_GTKSPELL 1" >>confdefs.h MODULES="$MODULES gtkspell-2.0 " else { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 $as_echo "not found" >&6; } fi fi # Append DBUS to the pkg-config module list if desired HAVE_DBUS=no # Check whether --with-dbus was given. if test "${with_dbus+set}" = set; then : withval=$with_dbus; with_dbus=yes else with_dbus=yes fi if test "$with_dbus" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for D-Bus" >&5 $as_echo_n "checking for D-Bus... " >&6; } if $PKG_CONFIG --exists "dbus-glib-1" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } HAVE_DBUS=yes $as_echo "#define HAVE_DBUS 1" >>confdefs.h MODULES="$MODULES dbus-glib-1 " else { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 $as_echo "not found" >&6; } fi fi if test x$HAVE_DBUS = "xyes"; then HAVE_DBUS_TRUE= HAVE_DBUS_FALSE='#' else HAVE_DBUS_TRUE='#' HAVE_DBUS_FALSE= fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DRIVEL" >&5 $as_echo_n "checking for DRIVEL... " >&6; } if test -n "$DRIVEL_CFLAGS"; then pkg_cv_DRIVEL_CFLAGS="$DRIVEL_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$MODULES\""; } >&5 ($PKG_CONFIG --exists --print-errors "$MODULES") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_DRIVEL_CFLAGS=`$PKG_CONFIG --cflags "$MODULES" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$DRIVEL_LIBS"; then pkg_cv_DRIVEL_LIBS="$DRIVEL_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$MODULES\""; } >&5 ($PKG_CONFIG --exists --print-errors "$MODULES") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_DRIVEL_LIBS=`$PKG_CONFIG --libs "$MODULES" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then DRIVEL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$MODULES" 2>&1` else DRIVEL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$MODULES" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$DRIVEL_PKG_ERRORS" >&5 as_fn_error $? "Package requirements ($MODULES) were not met: $DRIVEL_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables DRIVEL_CFLAGS and DRIVEL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables DRIVEL_CFLAGS and DRIVEL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else DRIVEL_CFLAGS=$pkg_cv_DRIVEL_CFLAGS DRIVEL_LIBS=$pkg_cv_DRIVEL_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi # # allow the user to disable the mime database update # # Extract the first word of "update-mime-database", so it can be a program name with args. set dummy update-mime-database; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_UPDATE_MIME_DATABASE+:} false; then : $as_echo_n "(cached) " >&6 else case $UPDATE_MIME_DATABASE in [\\/]* | ?:[\\/]*) ac_cv_path_UPDATE_MIME_DATABASE="$UPDATE_MIME_DATABASE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_UPDATE_MIME_DATABASE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_UPDATE_MIME_DATABASE" && ac_cv_path_UPDATE_MIME_DATABASE="no" ;; esac fi UPDATE_MIME_DATABASE=$ac_cv_path_UPDATE_MIME_DATABASE if test -n "$UPDATE_MIME_DATABASE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UPDATE_MIME_DATABASE" >&5 $as_echo "$UPDATE_MIME_DATABASE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi HAVE_NEW_MIME=no # Check whether --enable-mime-update was given. if test "${enable_mime_update+set}" = set; then : enableval=$enable_mime_update; disable_mime=yes else disable_mime=no fi if test "x$disable_mime" = "xno"; then if test "x$UPDATE_MIME_DATABASE" != "xno"; then HAVE_NEW_MIME=yes $as_echo "#define HAVE_NEW_MIME 1" >>confdefs.h fi fi if test x$HAVE_NEW_MIME = xyes; then HAVE_NEW_MIME_TRUE= HAVE_NEW_MIME_FALSE='#' else HAVE_NEW_MIME_TRUE='#' HAVE_NEW_MIME_FALSE= fi # # allow the user to disable the desktop database update # # Extract the first word of "update-desktop-database", so it can be a program name with args. set dummy update-desktop-database; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_UPDATE_DESKTOP_DATABASE+:} false; then : $as_echo_n "(cached) " >&6 else case $UPDATE_DESKTOP_DATABASE in [\\/]* | ?:[\\/]*) ac_cv_path_UPDATE_DESKTOP_DATABASE="$UPDATE_DESKTOP_DATABASE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_UPDATE_DESKTOP_DATABASE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_UPDATE_DESKTOP_DATABASE" && ac_cv_path_UPDATE_DESKTOP_DATABASE="no" ;; esac fi UPDATE_DESKTOP_DATABASE=$ac_cv_path_UPDATE_DESKTOP_DATABASE if test -n "$UPDATE_DESKTOP_DATABASE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UPDATE_DESKTOP_DATABASE" >&5 $as_echo "$UPDATE_DESKTOP_DATABASE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi HAVE_NEW_DESKTOP=no # Check whether --enable-desktop-update was given. if test "${enable_desktop_update+set}" = set; then : enableval=$enable_desktop_update; disable_desktop=yes else disable_desktop=no fi if test "x$disable_desktop" = "xno"; then if test "x$UPDATE_DESKTOP_DATABASE" != "xno"; then HAVE_NEW_DESKTOP=yes $as_echo "#define HAVE_NEW_DESKTOP 1" >>confdefs.h fi fi if test x$HAVE_NEW_DESKTOP = xyes; then HAVE_NEW_DESKTOP_TRUE= HAVE_NEW_DESKTOP_FALSE='#' else HAVE_NEW_DESKTOP_TRUE='#' HAVE_NEW_DESKTOP_FALSE= fi # # Check for Scrollkeeper # # Extract the first word of "scrollkeeper-config", so it can be a program name with args. set dummy scrollkeeper-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_SCROLLKEEPER_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $SCROLLKEEPER_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_SCROLLKEEPER_CONFIG="$SCROLLKEEPER_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_SCROLLKEEPER_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_SCROLLKEEPER_CONFIG" && ac_cv_path_SCROLLKEEPER_CONFIG="no" ;; esac fi SCROLLKEEPER_CONFIG=$ac_cv_path_SCROLLKEEPER_CONFIG if test -n "$SCROLLKEEPER_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SCROLLKEEPER_CONFIG" >&5 $as_echo "$SCROLLKEEPER_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test x$SCROLLKEEPER_CONFIG = xno; then as_fn_error please install the scrollkeeper package "Could not find scrollkeeper-config" "$LINENO" 5 fi # # GConf related settings # # Extract the first word of "gconftool-2", so it can be a program name with args. set dummy gconftool-2; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GCONFTOOL+:} false; then : $as_echo_n "(cached) " >&6 else case $GCONFTOOL in [\\/]* | ?:[\\/]*) ac_cv_path_GCONFTOOL="$GCONFTOOL" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GCONFTOOL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GCONFTOOL" && ac_cv_path_GCONFTOOL="no" ;; esac fi GCONFTOOL=$ac_cv_path_GCONFTOOL if test -n "$GCONFTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCONFTOOL" >&5 $as_echo "$GCONFTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test x"$GCONFTOOL" = xno; then as_fn_error $? "gconftool-2 executable not found in your path - should be installed with GConf" "$LINENO" 5 fi if test "x$GCONF_SCHEMA_INSTALL_SOURCE" = "x"; then GCONF_SCHEMA_CONFIG_SOURCE=`gconftool-2 --get-default-source` else GCONF_SCHEMA_CONFIG_SOURCE=$GCONF_SCHEMA_INSTALL_SOURCE fi # Check whether --with-gconf-source was given. if test "${with_gconf_source+set}" = set; then : withval=$with_gconf_source; GCONF_SCHEMA_CONFIG_SOURCE="$withval" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation" >&5 $as_echo "Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation" >&6; } if test "x$GCONF_SCHEMA_FILE_DIR" = "x"; then GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/schemas' fi # Check whether --with-gconf-schema-file-dir was given. if test "${with_gconf_schema_file_dir+set}" = set; then : withval=$with_gconf_schema_file_dir; GCONF_SCHEMA_FILE_DIR="$withval" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files" >&5 $as_echo "Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files" >&6; } # Check whether --enable-schemas-install was given. if test "${enable_schemas_install+set}" = set; then : enableval=$enable_schemas_install; case ${enableval} in yes|no) ;; *) as_fn_error $? "bad value ${enableval} for --enable-schemas-install" "$LINENO" 5 ;; esac fi if test "$enable_schemas_install" != no; then GCONF_SCHEMAS_INSTALL_TRUE= GCONF_SCHEMAS_INSTALL_FALSE='#' else GCONF_SCHEMAS_INSTALL_TRUE='#' GCONF_SCHEMAS_INSTALL_FALSE= fi # # Allow the user to turn on/off checks for deprecated methods # # Check whether --enable-deprecations was given. if test "${enable_deprecations+set}" = set; then : enableval=$enable_deprecations; else enable_deprecations=no fi if test "x$enable_deprecations" = "xyes"; then DISABLE_DEPRECATED_CFLAGS="\ -DG_DISABLE_DEPRECATED \ -DGDK_DISABLE_DEPRECATED \ -DGTK_DISABLE_DEPRECATED \ -DGDK_PIXBUF_DISABLE_DEPRECATED \ -DGNOME_DISABLE_DEPRECATED" fi # # Gettext support # GETTEXT_PACKAGE=drivel cat >>confdefs.h <<_ACEOF #define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" _ACEOF for ac_header in locale.h do : ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default" if test "x$ac_cv_header_locale_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LOCALE_H 1 _ACEOF fi done if test $ac_cv_header_locale_h = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5 $as_echo_n "checking for LC_MESSAGES... " >&6; } if ${am_cv_val_LC_MESSAGES+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return LC_MESSAGES ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_val_LC_MESSAGES=yes else am_cv_val_LC_MESSAGES=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_val_LC_MESSAGES" >&5 $as_echo "$am_cv_val_LC_MESSAGES" >&6; } if test $am_cv_val_LC_MESSAGES = yes; then $as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h fi fi USE_NLS=yes gt_cv_have_gettext=no CATOBJEXT=NONE XGETTEXT=: INTLLIBS= ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default" if test "x$ac_cv_header_libintl_h" = xyes; then : gt_cv_func_dgettext_libintl="no" libintl_extra_libs="" # # First check in libc # { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in libc" >&5 $as_echo_n "checking for ngettext in libc... " >&6; } if ${gt_cv_func_ngettext_libc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return !ngettext ("","", 1) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_ngettext_libc=yes else gt_cv_func_ngettext_libc=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_ngettext_libc" >&5 $as_echo "$gt_cv_func_ngettext_libc" >&6; } if test "$gt_cv_func_ngettext_libc" = "yes" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in libc" >&5 $as_echo_n "checking for dgettext in libc... " >&6; } if ${gt_cv_func_dgettext_libc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return !dgettext ("","") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_dgettext_libc=yes else gt_cv_func_dgettext_libc=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_dgettext_libc" >&5 $as_echo "$gt_cv_func_dgettext_libc" >&6; } fi if test "$gt_cv_func_ngettext_libc" = "yes" ; then for ac_func in bind_textdomain_codeset do : ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BIND_TEXTDOMAIN_CODESET 1 _ACEOF fi done fi # # If we don't have everything we want, check in libintl # if test "$gt_cv_func_dgettext_libc" != "yes" \ || test "$gt_cv_func_ngettext_libc" != "yes" \ || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bindtextdomain in -lintl" >&5 $as_echo_n "checking for bindtextdomain in -lintl... " >&6; } if ${ac_cv_lib_intl_bindtextdomain+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char bindtextdomain (); int main () { return bindtextdomain (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_bindtextdomain=yes else ac_cv_lib_intl_bindtextdomain=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_bindtextdomain" >&5 $as_echo "$ac_cv_lib_intl_bindtextdomain" >&6; } if test "x$ac_cv_lib_intl_bindtextdomain" = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5 $as_echo_n "checking for ngettext in -lintl... " >&6; } if ${ac_cv_lib_intl_ngettext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char ngettext (); int main () { return ngettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_ngettext=yes else ac_cv_lib_intl_ngettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5 $as_echo "$ac_cv_lib_intl_ngettext" >&6; } if test "x$ac_cv_lib_intl_ngettext" = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in -lintl" >&5 $as_echo_n "checking for dgettext in -lintl... " >&6; } if ${ac_cv_lib_intl_dgettext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dgettext (); int main () { return dgettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_dgettext=yes else ac_cv_lib_intl_dgettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dgettext" >&5 $as_echo "$ac_cv_lib_intl_dgettext" >&6; } if test "x$ac_cv_lib_intl_dgettext" = xyes; then : gt_cv_func_dgettext_libintl=yes fi fi fi if test "$gt_cv_func_dgettext_libintl" != "yes" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -liconv is needed to use gettext" >&5 $as_echo_n "checking if -liconv is needed to use gettext... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5 $as_echo_n "checking for ngettext in -lintl... " >&6; } if ${ac_cv_lib_intl_ngettext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl -liconv $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char ngettext (); int main () { return ngettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_ngettext=yes else ac_cv_lib_intl_ngettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5 $as_echo "$ac_cv_lib_intl_ngettext" >&6; } if test "x$ac_cv_lib_intl_ngettext" = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dcgettext in -lintl" >&5 $as_echo_n "checking for dcgettext in -lintl... " >&6; } if ${ac_cv_lib_intl_dcgettext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl -liconv $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dcgettext (); int main () { return dcgettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_dcgettext=yes else ac_cv_lib_intl_dcgettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dcgettext" >&5 $as_echo "$ac_cv_lib_intl_dcgettext" >&6; } if test "x$ac_cv_lib_intl_dcgettext" = xyes; then : gt_cv_func_dgettext_libintl=yes libintl_extra_libs=-liconv else : fi else : fi fi # # If we found libintl, then check in it for bind_textdomain_codeset(); # we'll prefer libc if neither have bind_textdomain_codeset(), # and both have dgettext and ngettext # if test "$gt_cv_func_dgettext_libintl" = "yes" ; then glib_save_LIBS="$LIBS" LIBS="$LIBS -lintl $libintl_extra_libs" unset ac_cv_func_bind_textdomain_codeset for ac_func in bind_textdomain_codeset do : ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BIND_TEXTDOMAIN_CODESET 1 _ACEOF fi done LIBS="$glib_save_LIBS" if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then gt_cv_func_dgettext_libc=no else if test "$gt_cv_func_dgettext_libc" = "yes" \ && test "$gt_cv_func_ngettext_libc" = "yes"; then gt_cv_func_dgettext_libintl=no fi fi fi fi if test "$gt_cv_func_dgettext_libc" = "yes" \ || test "$gt_cv_func_dgettext_libintl" = "yes"; then gt_cv_have_gettext=yes fi if test "$gt_cv_func_dgettext_libintl" = "yes"; then INTLLIBS="-lintl $libintl_extra_libs" fi if test "$gt_cv_have_gettext" = "yes"; then $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in /*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then ac_cv_path_MSGFMT="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != "no"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "$MSGFMT" != "no"; then glib_save_LIBS="$LIBS" LIBS="$LIBS $INTLLIBS" for ac_func in dcgettext do : ac_fn_c_check_func "$LINENO" "dcgettext" "ac_cv_func_dcgettext" if test "x$ac_cv_func_dcgettext" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DCGETTEXT 1 _ACEOF fi done MSGFMT_OPTS= { $as_echo "$as_me:${as_lineno-$LINENO}: checking if msgfmt accepts -c" >&5 $as_echo_n "checking if msgfmt accepts -c... " >&6; } cat >conftest.foo <<_ACEOF msgid "" msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Project-Id-Version: test 1.0\n" "PO-Revision-Date: 2007-02-15 12:01+0100\n" "Last-Translator: test \n" "Language-Team: C \n" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" _ACEOF if { { $as_echo "$as_me:${as_lineno-$LINENO}: \$MSGFMT -c -o /dev/null conftest.foo"; } >&5 ($MSGFMT -c -o /dev/null conftest.foo) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then MSGFMT_OPTS=-c; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } echo "$as_me: failed input was:" >&5 sed 's/^/| /' conftest.foo >&5 fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in /*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then ac_cv_path_XGETTEXT="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : CATOBJEXT=.gmo DATADIRNAME=share else case $host in *-*-solaris*) ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : CATOBJEXT=.gmo DATADIRNAME=share else CATOBJEXT=.mo DATADIRNAME=lib fi ;; *-*-openbsd*) CATOBJEXT=.mo DATADIRNAME=share ;; *) CATOBJEXT=.mo DATADIRNAME=lib ;; esac fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$glib_save_LIBS" INSTOBJEXT=.mo else gt_cv_have_gettext=no fi fi fi if test "$gt_cv_have_gettext" = "yes" ; then $as_echo "#define ENABLE_NLS 1" >>confdefs.h fi if test "$XGETTEXT" != ":"; then if $XGETTEXT --omit-header /dev/null 2> /dev/null; then : ; else { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5 $as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; } XGETTEXT=":" fi fi # We need to process the po/ directory. POSUB=po ac_config_commands="$ac_config_commands default-1" for lang in $ALL_LINGUAS; do GMOFILES="$GMOFILES $lang.gmo" POFILES="$POFILES $lang.po" done if test "$gt_cv_have_gettext" = "yes"; then if test "x$ALL_LINGUAS" = "x"; then LINGUAS= else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for catalogs to be installed" >&5 $as_echo_n "checking for catalogs to be installed... " >&6; } NEW_LINGUAS= for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then NEW_LINGUAS="$NEW_LINGUAS $presentlang" fi done LINGUAS=$NEW_LINGUAS { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINGUAS" >&5 $as_echo "$LINGUAS" >&6; } fi if test -n "$LINGUAS"; then for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done fi fi MKINSTALLDIRS= if test -n "$ac_aux_dir"; then MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi test -d po || mkdir po if test "x$srcdir" != "x."; then if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then posrcprefix="$srcdir/" else posrcprefix="../$srcdir/" fi else posrcprefix="../" fi rm -f po/POTFILES sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ < $srcdir/po/POTFILES.in > po/POTFILES glib_save_prefix="$prefix" glib_save_exec_prefix="$exec_prefix" glib_save_datarootdir="$datarootdir" test "x$prefix" = xNONE && prefix=$ac_default_prefix test "x$exec_prefix" = xNONE && exec_prefix=$prefix datarootdir=`eval echo "${datarootdir}"` if test "x$CATOBJEXT" = "x.mo" ; then localedir=`eval echo "${libdir}/locale"` else localedir=`eval echo "${datadir}/locale"` fi prefix="$glib_save_prefix" exec_prefix="$glib_save_exec_prefix" datarootdir="$glib_save_datarootdir" cat >>confdefs.h <<_ACEOF #define GNOMELOCALEDIR "$localedir" _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking what extra warning flags to pass to the C compiler" >&5 $as_echo_n "checking what extra warning flags to pass to the C compiler... " >&6; } if test ${GCC}x = yesx; then WARN_CFLAGS="$WARN_CFLAGS -Wall -Wmissing-prototypes \ -Wnested-externs -Wpointer-arith" CFLAGS="${CFLAGS} -g2 -Wall" # Check whether --enable-error-on-warning was given. if test "${enable_error_on_warning+set}" = set; then : enableval=$enable_error_on_warning; case "${enableval}" in yes) WARN_CFLAGS="${WARN_CFLAGS} -Werror" ;; no) ;; *) as_fn_error $? "bad value ${enableval} for --enable-error-on-warning" "$LINENO" 5 ;; esac else WARN_CFLAGS="${WARN_CFLAGS}" fi GCC_VERSION=`${CC} -dumpversion` if test `echo ${GCC_VERSION} | cut -d. -f1` -ge 3; then # This is gcc >= 3.x.x if test `echo ${GCC_VERSION} | cut -d. -f2` -ge 4; then # This is gcc >= 3.4.x WARN_CFLAGS="${WARN_CFLAGS} -Wdeclaration-after-statement" else if test `echo ${GCC_VERSION} | cut -d. -f1` -ge 4; then # This is gcc == 4.x.x WARN_CFLAGS="${WARN_CFLAGS} -Wdeclaration-after-statement -Wno-pointer-sign" fi fi fi else WARN_CFLAGS= fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WARN_CFLAGS" >&5 $as_echo "$WARN_CFLAGS" >&6; } # -Wcast-align breaks on sparc and mipsel due to # weaknesses in GObject <-> GtkSpinButton casts. # Check whether --enable-compile-warnings was given. if test "${enable_compile_warnings+set}" = set; then : enableval=$enable_compile_warnings; enable_extra_warn=yes else enable_extra_warn=no fi if test "$enable_extra_warn" = "yes"; then if test "$GCC" = "yes"; then WARN_CFLAGS="$WARN_CFLAGS -Wsign-compare \ -Wmissing-declarations -Werror -Wmissing-include-dirs \ -Winline -Wmissing-field-initializers" LDFLAGS="$LDFLAGS -Wl,--no-add-needed" fi fi # # Pass user-specified flags on to our Makefiles # # # Build the Makefiles (finally!) # ac_config_files="$ac_config_files Makefile data/Makefile data/drivel.spec data/mime/Makefile help/Makefile pixmaps/Makefile po/Makefile.in src/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${ENABLE_SK_TRUE}" && test -z "${ENABLE_SK_FALSE}"; then as_fn_error $? "conditional \"ENABLE_SK\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_GNOME_DOC_UTILS_TRUE}" && test -z "${HAVE_GNOME_DOC_UTILS_FALSE}"; then as_fn_error $? "conditional \"HAVE_GNOME_DOC_UTILS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 $as_echo_n "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 $as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi ac_config_commands="$ac_config_commands po/stamp-it" if test -z "${HAVE_DBUS_TRUE}" && test -z "${HAVE_DBUS_FALSE}"; then as_fn_error $? "conditional \"HAVE_DBUS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_NEW_MIME_TRUE}" && test -z "${HAVE_NEW_MIME_FALSE}"; then as_fn_error $? "conditional \"HAVE_NEW_MIME\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_NEW_DESKTOP_TRUE}" && test -z "${HAVE_NEW_DESKTOP_FALSE}"; then as_fn_error $? "conditional \"HAVE_NEW_DESKTOP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GCONF_SCHEMAS_INSTALL_TRUE}" && test -z "${GCONF_SCHEMAS_INSTALL_FALSE}"; then as_fn_error $? "conditional \"GCONF_SCHEMAS_INSTALL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by Drivel $as_me 3.0.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ Drivel config.status 3.0.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } # Quote evaled strings. for var in SHELL \ ECHO \ PATH_SEPARATOR \ SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ nm_file_list_spec \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_pic \ lt_prog_compiler_wl \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ MANIFEST_TOOL \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_separator \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ install_override_mode \ finish_eval \ old_striplib \ striplib \ compiler_lib_search_dirs \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ LD_CXX \ reload_flag_CXX \ compiler_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_static_CXX \ lt_cv_prog_compiler_c_o_CXX \ export_dynamic_flag_spec_CXX \ whole_archive_flag_spec_CXX \ compiler_needs_object_CXX \ with_gnu_ld_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_separator_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX \ file_list_spec_CXX \ compiler_lib_search_dirs_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postlink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ sys_lib_dlsearch_path_spec \ reload_cmds_CXX \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ export_symbols_cmds_CXX \ prelink_cmds_CXX \ postlink_cmds_CXX; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done ac_aux_dir='$ac_aux_dir' xsi_shell='$xsi_shell' lt_shell_append='$lt_shell_append' # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;; "data/drivel.spec") CONFIG_FILES="$CONFIG_FILES data/drivel.spec" ;; "data/mime/Makefile") CONFIG_FILES="$CONFIG_FILES data/mime/Makefile" ;; "help/Makefile") CONFIG_FILES="$CONFIG_FILES help/Makefile" ;; "pixmaps/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "libtool":C) # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # The names of the tagged configurations supported by this script. available_tags="CXX " # ### BEGIN LIBTOOL CONFIG # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that protects backslashes. ECHO=$lt_ECHO # The PATH separator for the build system. PATH_SEPARATOR=$lt_PATH_SEPARATOR # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # convert \$build file names to \$host format. to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd # An object symbol dumper. OBJDUMP=$lt_OBJDUMP # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method = "file_magic". file_magic_cmd=$lt_file_magic_cmd # How to find potential files when deplibs_check_method = "file_magic". file_magic_glob=$lt_file_magic_glob # Find potential files using nocaseglob when deplibs_check_method = "file_magic". want_nocaseglob=$lt_want_nocaseglob # DLL creation program. DLLTOOL=$lt_DLLTOOL # Command to associate shared and link libraries. sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR # Flags to create an archive. AR_FLAGS=$lt_AR_FLAGS # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Whether to use a lock for old archive extraction. lock_old_archive_extraction=$lock_old_archive_extraction # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # Specify filename containing input files for \$NM. nm_file_list_spec=$lt_nm_file_list_spec # The root where to search for dependent libraries,and in which our libraries should be installed. lt_sysroot=$lt_sysroot # The name of the directory that contains temporary libtool files. objdir=$objdir # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Manifest tool. MANIFEST_TOOL=$lt_MANIFEST_TOOL # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Permission mode override for installation of shared libraries. install_override_mode=$lt_install_override_mode # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects postdep_objects=$lt_postdep_objects predeps=$lt_predeps postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain="$ac_aux_dir/ltmain.sh" # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) if test x"$xsi_shell" = xyes; then sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ func_dirname ()\ {\ \ case ${1} in\ \ */*) func_dirname_result="${1%/*}${2}" ;;\ \ * ) func_dirname_result="${3}" ;;\ \ esac\ } # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_basename ()$/,/^} # func_basename /c\ func_basename ()\ {\ \ func_basename_result="${1##*/}"\ } # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ func_dirname_and_basename ()\ {\ \ case ${1} in\ \ */*) func_dirname_result="${1%/*}${2}" ;;\ \ * ) func_dirname_result="${3}" ;;\ \ esac\ \ func_basename_result="${1##*/}"\ } # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ func_stripname ()\ {\ \ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ \ # positional parameters, so assign one to ordinary parameter first.\ \ func_stripname_result=${3}\ \ func_stripname_result=${func_stripname_result#"${1}"}\ \ func_stripname_result=${func_stripname_result%"${2}"}\ } # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ func_split_long_opt ()\ {\ \ func_split_long_opt_name=${1%%=*}\ \ func_split_long_opt_arg=${1#*=}\ } # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ func_split_short_opt ()\ {\ \ func_split_short_opt_arg=${1#??}\ \ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ } # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ func_lo2o ()\ {\ \ case ${1} in\ \ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ \ *) func_lo2o_result=${1} ;;\ \ esac\ } # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_xform ()$/,/^} # func_xform /c\ func_xform ()\ {\ func_xform_result=${1%.*}.lo\ } # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_arith ()$/,/^} # func_arith /c\ func_arith ()\ {\ func_arith_result=$(( $* ))\ } # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_len ()$/,/^} # func_len /c\ func_len ()\ {\ func_len_result=${#1}\ } # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$lt_shell_append" = xyes; then sed -e '/^func_append ()$/,/^} # func_append /c\ func_append ()\ {\ eval "${1}+=\\${2}"\ } # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ func_append_quoted ()\ {\ \ func_quote_for_eval "${2}"\ \ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ } # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: # Save a `func_append' function call where possible by direct use of '+=' sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: else # Save a `func_append' function call even when '+=' is not available sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$_lt_function_replace_fail" = x":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 $as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} fi mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" cat <<_LT_EOF >> "$ofile" # ### BEGIN LIBTOOL TAG CONFIG: CXX # The linker used to build libraries. LD=$lt_LD_CXX # How to create reloadable object files. reload_flag=$lt_reload_flag_CXX reload_cmds=$lt_reload_cmds_CXX # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds_CXX # A language specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU compiler? with_gcc=$GCC_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_CXX # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_CXX # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object_CXX # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld_CXX # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_CXX # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_CXX # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic_CXX # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath_CXX # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_CXX # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds_CXX # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds_CXX # Specify filename containing input files. file_list_spec=$lt_file_list_spec_CXX # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_CXX # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects_CXX postdep_objects=$lt_postdep_objects_CXX predeps=$lt_predeps_CXX postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # ### END LIBTOOL TAG CONFIG: CXX _LT_EOF ;; "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac ;; "po/stamp-it":C) if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" > /dev/null ; then as_fn_error $? "po/Makefile.in.in was not created by intltoolize." "$LINENO" 5 fi rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp" >"po/stamp-it.tmp" sed '/^#/d s/^[[].*] *// /^[ ]*$/d '"s|^| $ac_top_srcdir/|" \ "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES" sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r po/POTFILES } ' "po/Makefile.in" >"po/Makefile" rm -f "po/Makefile.tmp" mv "po/stamp-it.tmp" "po/stamp-it" ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi echo " drivel-$VERSION: Prefix: ${prefix} Source code location: ${srcdir} Compiler: ${CC} Warnings: ${WARN_CFLAGS} Using gtkspell: $HAVE_GTKSPELL Music player D-Bus interface: $HAVE_DBUS Update MIME database: $HAVE_NEW_MIME Update desktop database: $HAVE_NEW_DESKTOP " drivel-3.0.5/README.translators0000644000175000017500000000153711552103112013155 00000000000000 Translating drivel ================== The main program messages already have PO support, so use the po/drivel.pot file for new translations and po/$lang.po for updating existing ones. The Drivel source also contains help/drivel-help.pot which can be used to create new translations of the Drivel Manual. Copy the POT file as .po. Translate .po as normal. To test the translation, follow the instructions from GNOME: http://live.gnome.org/GnomeDocUtils To translate a manual which uses gnome-doc-utils, go to the directory which contains the manual, (help/ in drivel) and create directory and add /.po file there. Figures need to go to /figures (this can be configured to not to be "figures", check from Makefile.am). When adding new translation, also add langcode to DOC_LINGUAS in Makefile.am drivel-3.0.5/config.h.in0000644000175000017500000000762212161412440011752 00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* always defined to indicate that i18n is enabled */ #undef ENABLE_NLS /* "definition of GETTEXT_PACKAGE" */ #undef GETTEXT_PACKAGE /* Define the location where the catalogs will be installed */ #undef GNOMELOCALEDIR /* Define to 1 if you have the `alarm' function. */ #undef HAVE_ALARM /* Define to 1 if you have the `bind_textdomain_codeset' function. */ #undef HAVE_BIND_TEXTDOMAIN_CODESET /* do we have D-Bus? */ #undef HAVE_DBUS /* Define to 1 if you have the `dcgettext' function. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have the `ftruncate' function. */ #undef HAVE_FTRUNCATE /* Define to 1 if you have the `gethostname' function. */ #undef HAVE_GETHOSTNAME /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* do we have gtkspell? */ #undef HAVE_GTKSPELL /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define if your file defines LC_MESSAGES. */ #undef HAVE_LC_MESSAGES /* Define to 1 if you have the header file. */ #undef HAVE_LIBINTL_H /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H /* Define to 1 if you have the `localtime_r' function. */ #undef HAVE_LOCALTIME_R /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET /* update desktop database? */ #undef HAVE_NEW_DESKTOP /* update mime database? */ #undef HAVE_NEW_MIME /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `strcasecmp' function. */ #undef HAVE_STRCASECMP /* Define to 1 if you have the `strerror' function. */ #undef HAVE_STRERROR /* Define to 1 if you have the `strftime' function. */ #undef HAVE_STRFTIME /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strstr' function. */ #undef HAVE_STRSTR /* Define to 1 if you have the `strtol' function. */ #undef HAVE_STRTOL /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME /* Define to 1 if your declares `struct tm'. */ #undef TM_IN_SYS_TIME /* Version number of package */ #undef VERSION /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to `int' if does not define. */ #undef mode_t /* Define to `long int' if does not define. */ #undef off_t /* Define to `unsigned int' if does not define. */ #undef size_t drivel-3.0.5/mkinstalldirs0000755000175000017500000000672212155041134012536 00000000000000#! /bin/sh # mkinstalldirs --- make directory hierarchy scriptversion=2009-04-28.21; # UTC # Original author: Noah Friedman # Created: 1993-05-16 # Public domain. # # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' IFS=" "" $nl" errstatus=0 dirmode= usage="\ Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... Create each directory DIR (with mode MODE, if specified), including all leading file name components. Report bugs to ." # process command line arguments while test $# -gt 0 ; do case $1 in -h | --help | --h*) # -h for help echo "$usage" exit $? ;; -m) # -m PERM arg shift test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } dirmode=$1 shift ;; --version) echo "$0 $scriptversion" exit $? ;; --) # stop option processing shift break ;; -*) # unknown option echo "$usage" 1>&2 exit 1 ;; *) # first non-opt arg break ;; esac done for file do if test -d "$file"; then shift else break fi done case $# in 0) exit 0 ;; esac # Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and # mkdir -p a/c at the same time, both will detect that a is missing, # one will create a, then the other will try to create a and die with # a "File exists" error. This is a problem when calling mkinstalldirs # from a parallel make. We use --version in the probe to restrict # ourselves to GNU mkdir, which is thread-safe. case $dirmode in '') if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" else # On NextStep and OpenStep, the 'mkdir' command does not # recognize any option. It will interpret all options as # directories to create, and then abort because '.' already # exists. test -d ./-p && rmdir ./-p test -d ./--version && rmdir ./--version fi ;; *) if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && test ! -d ./--version; then echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" else # Clean up after NextStep and OpenStep mkdir. for d in ./-m ./-p ./--version "./$dirmode"; do test -d $d && rmdir $d done fi ;; esac for file do case $file in /*) pathcomp=/ ;; *) pathcomp= ;; esac oIFS=$IFS IFS=/ set fnord $file shift IFS=$oIFS for d do test "x$d" = x && continue pathcomp=$pathcomp$d case $pathcomp in -*) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr else if test ! -z "$dirmode"; then echo "chmod $dirmode $pathcomp" lasterr= chmod "$dirmode" "$pathcomp" || lasterr=$? if test ! -z "$lasterr"; then errstatus=$lasterr fi fi fi fi pathcomp=$pathcomp/ done done exit $errstatus # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: drivel-3.0.5/AUTHORS0000644000175000017500000000047211552103112010767 00000000000000:: Author :: Todd Kulesza Neil Williams :: Contributers :: Grahame Bowland Geoff King <0glk@qlink.queensu.ca> Davyd Madeley Evan Martin Ari Pollak Maxime DOYEN drivel-3.0.5/install-sh0000755000175000017500000003325512155041134011735 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2011-11-20.07; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: drivel-3.0.5/ltmain.sh0000644000175000017500000105202612161410720011545 00000000000000 # libtool (GNU libtool) 2.4.2 # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, # or obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Usage: $progname [OPTION]... [MODE-ARG]... # # Provide generalized library-building support services. # # --config show all configuration variables # --debug enable verbose shell tracing # -n, --dry-run display commands without modifying any files # --features display basic configuration information and exit # --mode=MODE use operation mode MODE # --preserve-dup-deps don't remove duplicate dependency libraries # --quiet, --silent don't print informational messages # --no-quiet, --no-silent # print informational messages (default) # --no-warn don't display warning messages # --tag=TAG use configuration variables from tag TAG # -v, --verbose print more informational messages than default # --no-verbose don't print the extra informational messages # --version print version information # -h, --help, --help-all print short, long, or detailed help message # # MODE must be one of the following: # # clean remove files from the build directory # compile compile a source file into a libtool object # execute automatically set library path, then run a program # finish complete the installation of libtool libraries # install install libraries or executables # link create a library or an executable # uninstall remove libraries from an installed directory # # MODE-ARGS vary depending on the MODE. When passed as first option, # `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. # Try `$progname --help --mode=MODE' for a more detailed description of MODE. # # When reporting a bug, please describe a test case to reproduce it and # include the following information: # # host-triplet: $host # shell: $SHELL # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) # $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.2 # automake: $automake_version # autoconf: $autoconf_version # # Report bugs to . # GNU libtool home page: . # General help using GNU software: . PROGRAM=libtool PACKAGE=libtool VERSION="2.4.2 Debian-2.4.2-1.2" TIMESTAMP="" package_revision=1.3337 # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } # NLS nuisances: We save the old values to restore during execute mode. lt_user_locale= lt_safe_locale= for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${$lt_var+set}\" = set; then save_$lt_var=\$$lt_var $lt_var=C export $lt_var lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" fi" done LC_ALL=C LANGUAGE=C export LANGUAGE LC_ALL $lt_unset CDPATH # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" : ${CP="cp -f"} test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. exit_status=$EXIT_SUCCESS # Make sure IFS has a sensible default lt_nl=' ' IFS=" $lt_nl" dirname="s,/[^/]*$,," basename="s,^.*/,," # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_dirname may be replaced by extended shell implementation # func_basename file func_basename () { func_basename_result=`$ECHO "${1}" | $SED "$basename"` } # func_basename may be replaced by extended shell implementation # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` } # func_dirname_and_basename may be replaced by extended shell implementation # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname may be replaced by extended shell implementation # These SED scripts presuppose an absolute path with a trailing slash. pathcar='s,^/\([^/]*\).*$,\1,' pathcdr='s,^/[^/]*,,' removedotparts=':dotsl s@/\./@/@g t dotsl s,/\.$,/,' collapseslashes='s@/\{1,\}@/@g' finalslash='s,/*$,/,' # func_normal_abspath PATH # Remove doubled-up and trailing slashes, "." path components, # and cancel out any ".." path components in PATH after making # it an absolute path. # value returned in "$func_normal_abspath_result" func_normal_abspath () { # Start from root dir and reassemble the path. func_normal_abspath_result= func_normal_abspath_tpath=$1 func_normal_abspath_altnamespace= case $func_normal_abspath_tpath in "") # Empty path, that just means $cwd. func_stripname '' '/' "`pwd`" func_normal_abspath_result=$func_stripname_result return ;; # The next three entries are used to spot a run of precisely # two leading slashes without using negated character classes; # we take advantage of case's first-match behaviour. ///*) # Unusual form of absolute path, do nothing. ;; //*) # Not necessarily an ordinary path; POSIX reserves leading '//' # and for example Cygwin uses it to access remote file shares # over CIFS/SMB, so we conserve a leading double slash if found. func_normal_abspath_altnamespace=/ ;; /*) # Absolute path, do nothing. ;; *) # Relative path, prepend $cwd. func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath ;; esac # Cancel out all the simple stuff to save iterations. We also want # the path to end with a slash for ease of parsing, so make sure # there is one (and only one) here. func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` while :; do # Processed it all yet? if test "$func_normal_abspath_tpath" = / ; then # If we ascended to the root using ".." the result may be empty now. if test -z "$func_normal_abspath_result" ; then func_normal_abspath_result=/ fi break fi func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$pathcar"` func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$pathcdr"` # Figure out what to do with it case $func_normal_abspath_tcomponent in "") # Trailing empty path component, ignore it. ;; ..) # Parent dir; strip last assembled component from result. func_dirname "$func_normal_abspath_result" func_normal_abspath_result=$func_dirname_result ;; *) # Actual path component, append it. func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent ;; esac done # Restore leading double-slash if one was found on entry. func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result } # func_relative_path SRCDIR DSTDIR # generates a relative path from SRCDIR to DSTDIR, with a trailing # slash if non-empty, suitable for immediately appending a filename # without needing to append a separator. # value returned in "$func_relative_path_result" func_relative_path () { func_relative_path_result= func_normal_abspath "$1" func_relative_path_tlibdir=$func_normal_abspath_result func_normal_abspath "$2" func_relative_path_tbindir=$func_normal_abspath_result # Ascend the tree starting from libdir while :; do # check if we have found a prefix of bindir case $func_relative_path_tbindir in $func_relative_path_tlibdir) # found an exact match func_relative_path_tcancelled= break ;; $func_relative_path_tlibdir*) # found a matching prefix func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" func_relative_path_tcancelled=$func_stripname_result if test -z "$func_relative_path_result"; then func_relative_path_result=. fi break ;; *) func_dirname $func_relative_path_tlibdir func_relative_path_tlibdir=${func_dirname_result} if test "x$func_relative_path_tlibdir" = x ; then # Have to descend all the way to the root! func_relative_path_result=../$func_relative_path_result func_relative_path_tcancelled=$func_relative_path_tbindir break fi func_relative_path_result=../$func_relative_path_result ;; esac done # Now calculate path; take care to avoid doubling-up slashes. func_stripname '' '/' "$func_relative_path_result" func_relative_path_result=$func_stripname_result func_stripname '/' '/' "$func_relative_path_tcancelled" if test "x$func_stripname_result" != x ; then func_relative_path_result=${func_relative_path_result}/${func_stripname_result} fi # Normalisation. If bindir is libdir, return empty string, # else relative path ending with a slash; either way, target # file name can be directly appended. if test ! -z "$func_relative_path_result"; then func_stripname './' '' "$func_relative_path_result/" func_relative_path_result=$func_stripname_result fi } # The name of this program: func_dirname_and_basename "$progpath" progname=$func_basename_result # Make sure we have an absolute path for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=$func_dirname_result progdir=`cd "$progdir" && pwd` progpath="$progdir/$progname" ;; *) save_IFS="$IFS" IFS=${PATH_SEPARATOR-:} for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break done IFS="$save_IFS" test -n "$progdir" || progdir=`pwd` progpath="$progdir/$progname" ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([`"$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution that turns a string into a regex matching for the # string literally. sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' # Sed substitution that converts a w32 file name or path # which contains forward slashes, into one that contains # (escaped) backslashes. A very naive implementation. lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Re-`\' parameter expansions in output of double_quote_subst that were # `\'-ed in input to the same. If an odd number of `\' preceded a '$' # in input to double_quote_subst, that '$' was protected from expansion. # Since each input `\' is now two `\'s, look for any number of runs of # four `\'s followed by two `\'s and then a '$'. `\' that '$'. bs='\\' bs2='\\\\' bs4='\\\\\\\\' dollar='\$' sed_double_backslash="\ s/$bs4/&\\ /g s/^$bs2$dollar/$bs&/ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g s/\n//g" # Standard options: opt_dry_run=false opt_help=false opt_quiet=false opt_verbose=false opt_warning=: # func_echo arg... # Echo program name prefixed message, along with the current mode # name if it has been set yet. func_echo () { $ECHO "$progname: ${opt_mode+$opt_mode: }$*" } # func_verbose arg... # Echo program name prefixed message in verbose mode only. func_verbose () { $opt_verbose && func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } # func_error arg... # Echo program name prefixed message to standard error. func_error () { $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 } # func_warning arg... # Echo program name prefixed warning message to standard error. func_warning () { $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 # bash bug again: : } # func_fatal_error arg... # Echo program name prefixed message to standard error, and exit. func_fatal_error () { func_error ${1+"$@"} exit $EXIT_FAILURE } # func_fatal_help arg... # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { func_error ${1+"$@"} func_fatal_error "$help" } help="Try \`$progname --help' for more information." ## default # func_grep expression filename # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $GREP "$1" "$2" >/dev/null 2>&1 } # func_mkdir_p directory-path # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { my_directory_path="$1" my_dir_list= if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then # Protect directory names starting with `-' case $my_directory_path in -*) my_directory_path="./$my_directory_path" ;; esac # While some portion of DIR does not yet exist... while test ! -d "$my_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. my_dir_list="$my_directory_path:$my_dir_list" # If the last portion added has no slash in it, the list is done case $my_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` done my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` save_mkdir_p_IFS="$IFS"; IFS=':' for my_dir in $my_dir_list; do IFS="$save_mkdir_p_IFS" # mkdir can fail with a `File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$my_dir" 2>/dev/null || : done IFS="$save_mkdir_p_IFS" # Bail out if we (or some other process) failed to create a directory. test -d "$my_directory_path" || \ func_fatal_error "Failed to create \`$1'" fi } # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $MKDIR "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || \ func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi $ECHO "$my_tmpdir" } # func_quote_for_eval arg # Aesthetically quote ARG to be evaled later. # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT # is double-quoted, suitable for a subsequent eval, whereas # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters # which are still active within double quotes backslashified. func_quote_for_eval () { case $1 in *[\\\`\"\$]*) func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; *) func_quote_for_eval_unquoted_result="$1" ;; esac case $func_quote_for_eval_unquoted_result in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and and variable # expansion for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" ;; *) func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" esac } # func_quote_for_expand arg # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { case $1 in *[\\\`\"]*) my_arg=`$ECHO "$1" | $SED \ -e "$double_quote_subst" -e "$sed_double_backslash"` ;; *) my_arg="$1" ;; esac case $my_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") my_arg="\"$my_arg\"" ;; esac func_quote_for_expand_result="$my_arg" } # func_show_eval cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$my_cmd" my_status=$? if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_show_eval_locale cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$lt_user_locale $my_cmd" my_status=$? eval "$lt_safe_locale" if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_tr_sh # Turn $1 into a string suitable for a shell variable name. # Result is stored in $func_tr_sh_result. All characters # not in the set a-zA-Z0-9_ are replaced with '_'. Further, # if $1 begins with a digit, a '_' is prepended as well. func_tr_sh () { case $1 in [0-9]* | *[!a-zA-Z0-9_]*) func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` ;; * ) func_tr_sh_result=$1 ;; esac } # func_version # Echo version message to standard output and exit. func_version () { $opt_debug $SED -n '/(C)/!b go :more /\./!{ N s/\n# / / b more } :go /^# '$PROGRAM' (GNU /,/# warranty; / { s/^# // s/^# *$// s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ p }' < "$progpath" exit $? } # func_usage # Echo short help message to standard output and exit. func_usage () { $opt_debug $SED -n '/^# Usage:/,/^# *.*--help/ { s/^# // s/^# *$// s/\$progname/'$progname'/ p }' < "$progpath" echo $ECHO "run \`$progname --help | more' for full usage" exit $? } # func_help [NOEXIT] # Echo long help message to standard output and exit, # unless 'noexit' is passed as argument. func_help () { $opt_debug $SED -n '/^# Usage:/,/# Report bugs to/ { :print s/^# // s/^# *$// s*\$progname*'$progname'* s*\$host*'"$host"'* s*\$SHELL*'"$SHELL"'* s*\$LTCC*'"$LTCC"'* s*\$LTCFLAGS*'"$LTCFLAGS"'* s*\$LD*'"$LD"'* s/\$with_gnu_ld/'"$with_gnu_ld"'/ s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ p d } /^# .* home page:/b print /^# General help using/b print ' < "$progpath" ret=$? if test -z "$1"; then exit $ret fi } # func_missing_arg argname # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { $opt_debug func_error "missing argument for $1." exit_cmd=exit } # func_split_short_opt shortopt # Set func_split_short_opt_name and func_split_short_opt_arg shell # variables after splitting SHORTOPT after the 2nd character. func_split_short_opt () { my_sed_short_opt='1s/^\(..\).*$/\1/;q' my_sed_short_rest='1s/^..\(.*\)$/\1/;q' func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` } # func_split_short_opt may be replaced by extended shell implementation # func_split_long_opt longopt # Set func_split_long_opt_name and func_split_long_opt_arg shell # variables after splitting LONGOPT at the `=' sign. func_split_long_opt () { my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^--[^=]*=//' func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` } # func_split_long_opt may be replaced by extended shell implementation exit_cmd=: magic="%%%MAGIC variable%%%" magic_exe="%%%MAGIC EXE variable%%%" # Global variables. nonopt= preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 # If this variable is set in any of the actions, the command in it # will be execed at the end. This prevents here-documents from being # left over by shells. exec_cmd= # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "${1}=\$${1}\${2}" } # func_append may be replaced by extended shell implementation # func_append_quoted var value # Quote VALUE and append to the end of shell variable VAR, separated # by a space. func_append_quoted () { func_quote_for_eval "${2}" eval "${1}=\$${1}\\ \$func_quote_for_eval_result" } # func_append_quoted may be replaced by extended shell implementation # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "${@}"` } # func_arith may be replaced by extended shell implementation # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` } # func_len may be replaced by extended shell implementation # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` } # func_lo2o may be replaced by extended shell implementation # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` } # func_xform may be replaced by extended shell implementation # func_fatal_configuration arg... # Echo program name prefixed message to standard error, followed by # a configuration failure hint, and exit. func_fatal_configuration () { func_error ${1+"$@"} func_error "See the $PACKAGE documentation for more information." func_fatal_error "Fatal configuration error." } # func_config # Display the configuration for all the tags in this script. func_config () { re_begincf='^# ### BEGIN LIBTOOL' re_endcf='^# ### END LIBTOOL' # Default configuration. $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" # Now print the configurations for the tags. for tagname in $taglist; do $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" done exit $? } # func_features # Display the features supported by this script. func_features () { echo "host: $host" if test "$build_libtool_libs" = yes; then echo "enable shared libraries" else echo "disable shared libraries" fi if test "$build_old_libs" = yes; then echo "enable static libraries" else echo "disable static libraries" fi exit $? } # func_enable_tag tagname # Verify that TAGNAME is valid, and either flag an error and exit, or # enable the TAGNAME tag. We also add TAGNAME to the global $taglist # variable here. func_enable_tag () { # Global variable: tagname="$1" re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" sed_extractcf="/$re_begincf/,/$re_endcf/p" # Validate tagname. case $tagname in *[!-_A-Za-z0-9,/]*) func_fatal_error "invalid tag name: $tagname" ;; esac # Don't test for the "default" C tag, as we know it's # there but not specially marked. case $tagname in CC) ;; *) if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then taglist="$taglist $tagname" # Evaluate the configuration. Be careful to quote the path # and the sed script, to avoid splitting on whitespace, but # also don't use non-portable quotes within backquotes within # quotes we have to do it in 2 steps: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` eval "$extractedcf" else func_error "ignoring unknown tag $tagname" fi ;; esac } # func_check_version_match # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { if test "$package_revision" != "$macro_revision"; then if test "$VERSION" != "$macro_version"; then if test -z "$macro_version"; then cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF fi else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF fi exit $EXIT_MISMATCH fi } # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; install|instal|insta|inst|ins|in|i) shift; set dummy --mode install ${1+"$@"}; shift ;; link|lin|li|l) shift; set dummy --mode link ${1+"$@"}; shift ;; uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; esac # Option defaults: opt_debug=: opt_dry_run=false opt_config=false opt_preserve_dup_deps=false opt_features=false opt_finish=false opt_help=false opt_help_all=false opt_silent=: opt_warning=: opt_verbose=: opt_silent=false opt_verbose=false # Parse options once, thoroughly. This comes as soon as possible in the # script to make things like `--version' happen as quickly as we can. { # this just eases exit handling while test $# -gt 0; do opt="$1" shift case $opt in --debug|-x) opt_debug='set -x' func_echo "enabling shell trace mode" $opt_debug ;; --dry-run|--dryrun|-n) opt_dry_run=: ;; --config) opt_config=: func_config ;; --dlopen|-dlopen) optarg="$1" opt_dlopen="${opt_dlopen+$opt_dlopen }$optarg" shift ;; --preserve-dup-deps) opt_preserve_dup_deps=: ;; --features) opt_features=: func_features ;; --finish) opt_finish=: set dummy --mode finish ${1+"$@"}; shift ;; --help) opt_help=: ;; --help-all) opt_help_all=: opt_help=': help-all' ;; --mode) test $# = 0 && func_missing_arg $opt && break optarg="$1" opt_mode="$optarg" case $optarg in # Valid mode arguments: clean|compile|execute|finish|install|link|relink|uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $opt" exit_cmd=exit break ;; esac shift ;; --no-silent|--no-quiet) opt_silent=false func_append preserve_args " $opt" ;; --no-warning|--no-warn) opt_warning=false func_append preserve_args " $opt" ;; --no-verbose) opt_verbose=false func_append preserve_args " $opt" ;; --silent|--quiet) opt_silent=: func_append preserve_args " $opt" opt_verbose=false ;; --verbose|-v) opt_verbose=: func_append preserve_args " $opt" opt_silent=false ;; --tag) test $# = 0 && func_missing_arg $opt && break optarg="$1" opt_tag="$optarg" func_append preserve_args " $opt $optarg" func_enable_tag "$optarg" shift ;; -\?|-h) func_usage ;; --help) func_help ;; --version) func_version ;; # Separate optargs to long options: --*=*) func_split_long_opt "$opt" set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} shift ;; # Separate non-argument short options: -\?*|-h*|-n*|-v*) func_split_short_opt "$opt" set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} shift ;; --) break ;; -*) func_fatal_help "unrecognized option \`$opt'" ;; *) set dummy "$opt" ${1+"$@"}; shift; break ;; esac done # Validate options: # save first non-option argument if test "$#" -gt 0; then nonopt="$opt" shift fi # preserve --debug test "$opt_debug" = : || func_append preserve_args " --debug" case $host in *cygwin* | *mingw* | *pw32* | *cegcc*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; *) opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps ;; esac $opt_help || { # Sanity checks first: func_check_version_match if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then func_fatal_configuration "not configured to build any kind of library" fi # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$opt_dlopen" && test "$opt_mode" != execute; then func_error "unrecognized option \`-dlopen'" $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" help="Try \`$progname --help --mode=$opt_mode' for more information." } # Bail if the options were screwed $exit_cmd $EXIT_FAILURE } ## ----------- ## ## Main. ## ## ----------- ## # func_lalib_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && $SED -e 4q "$1" 2>/dev/null \ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # func_lalib_unsafe_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be # fatal anyway. Works if `file' does not exist. func_lalib_unsafe_p () { lalib_p=no if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then for lalib_p_l in 1 2 3 4 do read lalib_p_line case "$lalib_p_line" in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi test "$lalib_p" = yes } # func_ltwrapper_script_p file # True iff FILE is a libtool wrapper script # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_script_p () { func_lalib_p "$1" } # func_ltwrapper_executable_p file # True iff FILE is a libtool wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_executable_p () { func_ltwrapper_exec_suffix= case $1 in *.exe) ;; *) func_ltwrapper_exec_suffix=.exe ;; esac $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 } # func_ltwrapper_scriptname file # Assumes file is an ltwrapper_executable # uses $file to determine the appropriate filename for a # temporary ltwrapper_script. func_ltwrapper_scriptname () { func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" } # func_ltwrapper_p file # True iff FILE is a libtool wrapper script or wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_p () { func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" } # func_execute_cmds commands fail_cmd # Execute tilde-delimited COMMANDS. # If FAIL_CMD is given, eval that upon failure. # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { $opt_debug save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$save_ifs eval cmd=\"$cmd\" func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs } # func_source file # Source FILE, adding directory component if necessary. # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. func_source () { $opt_debug case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; esac } # func_resolve_sysroot PATH # Replace a leading = in PATH with a sysroot. Store the result into # func_resolve_sysroot_result func_resolve_sysroot () { func_resolve_sysroot_result=$1 case $func_resolve_sysroot_result in =*) func_stripname '=' '' "$func_resolve_sysroot_result" func_resolve_sysroot_result=$lt_sysroot$func_stripname_result ;; esac } # func_replace_sysroot PATH # If PATH begins with the sysroot, replace it with = and # store the result into func_replace_sysroot_result. func_replace_sysroot () { case "$lt_sysroot:$1" in ?*:"$lt_sysroot"*) func_stripname "$lt_sysroot" '' "$1" func_replace_sysroot_result="=$func_stripname_result" ;; *) # Including no sysroot. func_replace_sysroot_result=$1 ;; esac } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { $opt_debug if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case "$@ " in " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" func_fatal_error "specify a tag with \`--tag'" # else # func_verbose "using $tagname tagged configuration" fi ;; esac fi } # func_write_libtool_object output_name pic_name nonpic_name # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. func_write_libtool_object () { write_libobj=${1} if test "$build_libtool_libs" = yes; then write_lobj=\'${2}\' else write_lobj=none fi if test "$build_old_libs" = yes; then write_oldobj=\'${3}\' else write_oldobj=none fi $opt_dry_run || { cat >${write_libobj}T </dev/null` if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | $SED -e "$lt_sed_naive_backslashify"` else func_convert_core_file_wine_to_w32_result= fi fi } # end: func_convert_core_file_wine_to_w32 # func_convert_core_path_wine_to_w32 ARG # Helper function used by path conversion functions when $build is *nix, and # $host is mingw, cygwin, or some other w32 environment. Relies on a correctly # configured wine environment available, with the winepath program in $build's # $PATH. Assumes ARG has no leading or trailing path separator characters. # # ARG is path to be converted from $build format to win32. # Result is available in $func_convert_core_path_wine_to_w32_result. # Unconvertible file (directory) names in ARG are skipped; if no directory names # are convertible, then the result may be empty. func_convert_core_path_wine_to_w32 () { $opt_debug # unfortunately, winepath doesn't convert paths, only file names func_convert_core_path_wine_to_w32_result="" if test -n "$1"; then oldIFS=$IFS IFS=: for func_convert_core_path_wine_to_w32_f in $1; do IFS=$oldIFS func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" if test -n "$func_convert_core_file_wine_to_w32_result" ; then if test -z "$func_convert_core_path_wine_to_w32_result"; then func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" else func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" fi fi done IFS=$oldIFS fi } # end: func_convert_core_path_wine_to_w32 # func_cygpath ARGS... # Wrapper around calling the cygpath program via LT_CYGPATH. This is used when # when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) # $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or # (2), returns the Cygwin file name or path in func_cygpath_result (input # file name or path is assumed to be in w32 format, as previously converted # from $build's *nix or MSYS format). In case (3), returns the w32 file name # or path in func_cygpath_result (input file name or path is assumed to be in # Cygwin format). Returns an empty string on error. # # ARGS are passed to cygpath, with the last one being the file name or path to # be converted. # # Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH # environment variable; do not put it in $PATH. func_cygpath () { $opt_debug if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` if test "$?" -ne 0; then # on failure, ensure result is empty func_cygpath_result= fi else func_cygpath_result= func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" fi } #end: func_cygpath # func_convert_core_msys_to_w32 ARG # Convert file name or path ARG from MSYS format to w32 format. Return # result in func_convert_core_msys_to_w32_result. func_convert_core_msys_to_w32 () { $opt_debug # awkward: cmd appends spaces to result func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` } #end: func_convert_core_msys_to_w32 # func_convert_file_check ARG1 ARG2 # Verify that ARG1 (a file name in $build format) was converted to $host # format in ARG2. Otherwise, emit an error message, but continue (resetting # func_to_host_file_result to ARG1). func_convert_file_check () { $opt_debug if test -z "$2" && test -n "$1" ; then func_error "Could not determine host file name corresponding to" func_error " \`$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: func_to_host_file_result="$1" fi } # end func_convert_file_check # func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH # Verify that FROM_PATH (a path in $build format) was converted to $host # format in TO_PATH. Otherwise, emit an error message, but continue, resetting # func_to_host_file_result to a simplistic fallback value (see below). func_convert_path_check () { $opt_debug if test -z "$4" && test -n "$3"; then func_error "Could not determine the host path corresponding to" func_error " \`$3'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This is a deliberately simplistic "conversion" and # should not be "improved". See libtool.info. if test "x$1" != "x$2"; then lt_replace_pathsep_chars="s|$1|$2|g" func_to_host_path_result=`echo "$3" | $SED -e "$lt_replace_pathsep_chars"` else func_to_host_path_result="$3" fi fi } # end func_convert_path_check # func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG # Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT # and appending REPL if ORIG matches BACKPAT. func_convert_path_front_back_pathsep () { $opt_debug case $4 in $1 ) func_to_host_path_result="$3$func_to_host_path_result" ;; esac case $4 in $2 ) func_append func_to_host_path_result "$3" ;; esac } # end func_convert_path_front_back_pathsep ################################################## # $build to $host FILE NAME CONVERSION FUNCTIONS # ################################################## # invoked via `$to_host_file_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # Result will be available in $func_to_host_file_result. # func_to_host_file ARG # Converts the file name ARG from $build format to $host format. Return result # in func_to_host_file_result. func_to_host_file () { $opt_debug $to_host_file_cmd "$1" } # end func_to_host_file # func_to_tool_file ARG LAZY # converts the file name ARG from $build format to toolchain format. Return # result in func_to_tool_file_result. If the conversion in use is listed # in (the comma separated) LAZY, no conversion takes place. func_to_tool_file () { $opt_debug case ,$2, in *,"$to_tool_file_cmd",*) func_to_tool_file_result=$1 ;; *) $to_tool_file_cmd "$1" func_to_tool_file_result=$func_to_host_file_result ;; esac } # end func_to_tool_file # func_convert_file_noop ARG # Copy ARG to func_to_host_file_result. func_convert_file_noop () { func_to_host_file_result="$1" } # end func_convert_file_noop # func_convert_file_msys_to_w32 ARG # Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_file_result. func_convert_file_msys_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_to_host_file_result="$func_convert_core_msys_to_w32_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_w32 # func_convert_file_cygwin_to_w32 ARG # Convert file name ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_file_cygwin_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then # because $build is cygwin, we call "the" cygpath in $PATH; no need to use # LT_CYGPATH in this case. func_to_host_file_result=`cygpath -m "$1"` fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_cygwin_to_w32 # func_convert_file_nix_to_w32 ARG # Convert file name ARG from *nix to w32 format. Requires a wine environment # and a working winepath. Returns result in func_to_host_file_result. func_convert_file_nix_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_file_wine_to_w32 "$1" func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_w32 # func_convert_file_msys_to_cygwin ARG # Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_file_msys_to_cygwin () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_cygpath -u "$func_convert_core_msys_to_w32_result" func_to_host_file_result="$func_cygpath_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_cygwin # func_convert_file_nix_to_cygwin ARG # Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed # in a wine environment, working winepath, and LT_CYGPATH set. Returns result # in func_to_host_file_result. func_convert_file_nix_to_cygwin () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. func_convert_core_file_wine_to_w32 "$1" func_cygpath -u "$func_convert_core_file_wine_to_w32_result" func_to_host_file_result="$func_cygpath_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_cygwin ############################################# # $build to $host PATH CONVERSION FUNCTIONS # ############################################# # invoked via `$to_host_path_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # The result will be available in $func_to_host_path_result. # # Path separators are also converted from $build format to $host format. If # ARG begins or ends with a path separator character, it is preserved (but # converted to $host format) on output. # # All path conversion functions are named using the following convention: # file name conversion function : func_convert_file_X_to_Y () # path conversion function : func_convert_path_X_to_Y () # where, for any given $build/$host combination the 'X_to_Y' value is the # same. If conversion functions are added for new $build/$host combinations, # the two new functions must follow this pattern, or func_init_to_host_path_cmd # will break. # func_init_to_host_path_cmd # Ensures that function "pointer" variable $to_host_path_cmd is set to the # appropriate value, based on the value of $to_host_file_cmd. to_host_path_cmd= func_init_to_host_path_cmd () { $opt_debug if test -z "$to_host_path_cmd"; then func_stripname 'func_convert_file_' '' "$to_host_file_cmd" to_host_path_cmd="func_convert_path_${func_stripname_result}" fi } # func_to_host_path ARG # Converts the path ARG from $build format to $host format. Return result # in func_to_host_path_result. func_to_host_path () { $opt_debug func_init_to_host_path_cmd $to_host_path_cmd "$1" } # end func_to_host_path # func_convert_path_noop ARG # Copy ARG to func_to_host_path_result. func_convert_path_noop () { func_to_host_path_result="$1" } # end func_convert_path_noop # func_convert_path_msys_to_w32 ARG # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_path_result. func_convert_path_msys_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # Remove leading and trailing path separator characters from ARG. MSYS # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; # and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result="$func_convert_core_msys_to_w32_result" func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_msys_to_w32 # func_convert_path_cygwin_to_w32 ARG # Convert path ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_path_cygwin_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_cygwin_to_w32 # func_convert_path_nix_to_w32 ARG # Convert path ARG from *nix to w32 format. Requires a wine environment and # a working winepath. Returns result in func_to_host_file_result. func_convert_path_nix_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_nix_to_w32 # func_convert_path_msys_to_cygwin ARG # Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_path_msys_to_cygwin () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_msys_to_w32_result" func_to_host_path_result="$func_cygpath_result" func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_msys_to_cygwin # func_convert_path_nix_to_cygwin ARG # Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a # a wine environment, working winepath, and LT_CYGPATH set. Returns result in # func_to_host_file_result. func_convert_path_nix_to_cygwin () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them # into '.;' and ';.', and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" func_to_host_path_result="$func_cygpath_result" func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_nix_to_cygwin # func_mode_compile arg... func_mode_compile () { $opt_debug # Get the compilation command and the source file. base_compile= srcfile="$nonopt" # always keep a non-empty value in "srcfile" suppress_opt=yes suppress_output= arg_mode=normal libobj= later= pie_flag= for arg do case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile lastarg="$arg" arg_mode=normal ;; target ) libobj="$arg" arg_mode=normal continue ;; normal ) # Accept any command-line options. case $arg in -o) test -n "$libobj" && \ func_fatal_error "you cannot specify \`-o' more than once" arg_mode=target continue ;; -pie | -fpie | -fPIE) func_append pie_flag " $arg" continue ;; -shared | -static | -prefer-pic | -prefer-non-pic) func_append later " $arg" continue ;; -no-suppress) suppress_opt=no continue ;; -Xcompiler) arg_mode=arg # the next one goes into the "base_compile" arg list continue # The current "srcfile" will either be retained or ;; # replaced later. I would guess that would be a bug. -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result lastarg= save_ifs="$IFS"; IFS=',' for arg in $args; do IFS="$save_ifs" func_append_quoted lastarg "$arg" done IFS="$save_ifs" func_stripname ' ' '' "$lastarg" lastarg=$func_stripname_result # Add the arguments to base_compile. func_append base_compile " $lastarg" continue ;; *) # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # lastarg="$srcfile" srcfile="$arg" ;; esac # case $arg ;; esac # case $arg_mode # Aesthetically quote the previous argument. func_append_quoted base_compile "$lastarg" done # for arg case $arg_mode in arg) func_fatal_error "you must specify an argument for -Xcompile" ;; target) func_fatal_error "you must specify a target with \`-o'" ;; *) # Get the name of the library object. test -z "$libobj" && { func_basename "$srcfile" libobj="$func_basename_result" } ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo case $libobj in *.[cCFSifmso] | \ *.ada | *.adb | *.ads | *.asm | \ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) func_xform "$libobj" libobj=$func_xform_result ;; esac case $libobj in *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; *) func_fatal_error "cannot determine name of library object from \`$libobj'" ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no continue ;; -static) build_libtool_libs=no build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done func_quote_for_eval "$libobj" test "X$libobj" != "X$func_quote_for_eval_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name \`$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" objname="$func_basename_result" xdir="$func_dirname_result" lobj=${xdir}$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test "$build_old_libs" = yes; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi func_append removelist " $output_obj" $ECHO "$srcfile" > "$lockfile" fi $opt_dry_run || $RM $removelist func_append removelist " $lockfile" trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test "$pic_mode" != no; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir func_append command " -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test "$suppress_opt" = yes; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then if test "$pic_mode" != yes; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test "$compiler_c_o" = yes; then func_append command " -o $obj" fi # Suppress compiler output if we already did a PIC compilation. func_append command "$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test "$need_locks" != no; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test "$opt_mode" = compile && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $opt_mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $ECHO \ "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to build PIC objects only -prefer-non-pic try to build non-PIC objects only -shared do not build a \`.o' file suitable for static linking -static only build a \`.o' file suitable for static linking -Wc,FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix \`.c' with the library object suffix, \`.lo'." ;; execute) $ECHO \ "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to \`-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $ECHO \ "Usage: $progname [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the \`--dry-run' option if you just want to see what would be executed." ;; install) $ECHO \ "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the \`install' or \`cp' program. The following components of INSTALL-COMMAND are treated specially: -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -bindir BINDIR specify path to binaries directory (for systems where libraries must be found in the PATH setting at runtime) -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) All other options (arguments beginning with \`-') are ignored. Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $ECHO \ "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode \`$opt_mode'" ;; esac echo $ECHO "Try \`$progname --help' for more information about other modes." } # Now that we've collected a possible --mode arg, show help if necessary if $opt_help; then if test "$opt_help" = :; then func_mode_help else { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do func_mode_help done } | sed -n '1p; 2,$s/^Usage:/ or: /p' { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do echo func_mode_help done } | sed '1d /^When reporting/,/^Report/{ H d } $x /information about other modes/d /more detailed .*MODE/d s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' fi exit $? fi # func_mode_execute arg... func_mode_execute () { $opt_debug # The first argument is the command name. cmd="$nonopt" test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $opt_dlopen; do test -f "$file" \ || func_fatal_help "\`$file' is not a file" dir= case $file in *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$lib' is not a valid libtool archive" # Read the libtool library. dlname= library_names= func_source "$file" # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ func_warning "\`$file' was not linked with \`-export-dynamic'" continue fi func_dirname "$file" "" "." dir="$func_dirname_result" if test -f "$dir/$objdir/$dlname"; then func_append dir "/$objdir" else if test ! -f "$dir/$dlname"; then func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" fi fi ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir="$func_dirname_result" ;; *) func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # Check if any of the arguments is a wrapper script. args= for file do case $file in -* | *.la | *.lo ) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. file="$progdir/$program" elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. file="$progdir/$program" fi ;; esac # Quote arguments (to preserve shell metacharacters). func_append_quoted args "$file" done if test "X$opt_dry_run" = Xfalse; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var else $lt_unset $lt_var fi" done # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" echo "export $shlibpath_var" fi $ECHO "$cmd$args" exit $EXIT_SUCCESS fi } test "$opt_mode" = execute && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $opt_debug libs= libdirs= admincmds= for opt in "$nonopt" ${1+"$@"} do if test -d "$opt"; then func_append libdirs " $opt" elif test -f "$opt"; then if func_lalib_unsafe_p "$opt"; then func_append libs " $opt" else func_warning "\`$opt' is not a valid libtool archive" fi else func_fatal_error "invalid argument \`$opt'" fi done if test -n "$libs"; then if test -n "$lt_sysroot"; then sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" else sysroot_cmd= fi # Remove sysroot references if $opt_dry_run; then for lib in $libs; do echo "removing references to $lt_sysroot and \`=' prefixes from $lib" done else tmpdir=`func_mktempdir` for lib in $libs; do sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ > $tmpdir/tmp-la mv -f $tmpdir/tmp-la $lib done ${RM}r "$tmpdir" fi fi if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. func_execute_cmds "$finish_cmds" 'admincmds="$admincmds '"$cmd"'"' fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $opt_dry_run || eval "$cmds" || func_append admincmds " $cmds" fi done fi # Exit here if they wanted silent mode. $opt_silent && exit $EXIT_SUCCESS if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then echo "----------------------------------------------------------------------" echo "Libraries have been installed in:" for libdir in $libdirs; do $ECHO " $libdir" done echo echo "If you ever happen to want to link against installed libraries" echo "in a given directory, LIBDIR, you must either use libtool, and" echo "specify the full pathname of the library, or use the \`-LLIBDIR'" echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then echo " - add LIBDIR to the \`$shlibpath_var' environment variable" echo " during execution" fi if test -n "$runpath_var"; then echo " - add LIBDIR to the \`$runpath_var' environment variable" echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $ECHO " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi echo echo "See any operating system documentation about shared libraries for" case $host in solaris2.[6789]|solaris2.1[0-9]) echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" echo "pages." ;; *) echo "more information, such as the ld(1) and ld.so(8) manual pages." ;; esac echo "----------------------------------------------------------------------" fi exit $EXIT_SUCCESS } test "$opt_mode" = finish && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $opt_debug # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. case $nonopt in *shtool*) :;; *) false;; esac; then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " arg=$1 shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. func_quote_for_eval "$arg" func_append install_prog "$func_quote_for_eval_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; *) install_cp=false ;; esac # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=no stripme= no_mode=: for arg do arg2= if test -n "$dest"; then func_append files " $dest" dest=$arg continue fi case $arg in -d) isdir=yes ;; -f) if $install_cp; then :; else prev=$arg fi ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then if test "x$prev" = x-m && test -n "$install_override_mode"; then arg2=$install_override_mode no_mode=false fi prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. func_quote_for_eval "$arg" func_append install_prog " $func_quote_for_eval_result" if test -n "$arg2"; then func_quote_for_eval "$arg2" fi func_append install_shared_prog " $func_quote_for_eval_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the \`$prev' option requires an argument" if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else func_quote_for_eval "$install_override_mode" func_append install_shared_prog " -m $func_quote_for_eval_result" fi fi if test -z "$files"; then if test -z "$dest"; then func_fatal_help "no file or destination specified" else func_fatal_help "you must specify a destination" fi fi # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # Check to see that the destination is a directory. test -d "$dest" && isdir=yes if test "$isdir" = yes; then destdir="$dest" destname= else func_dirname_and_basename "$dest" "" "." destdir="$func_dirname_result" destname="$func_basename_result" # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ func_fatal_help "\`$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "\`$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. func_append staticlibs " $file" ;; *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$file' is not a valid libtool archive" library_names= old_library= relink_command= func_source "$file" # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) func_append current_libdirs " $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) func_append future_libdirs " $libdir" ;; esac fi func_dirname "$file" "/" "" dir="$func_dirname_result" func_append dir "$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi func_warning "relinking \`$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then realname="$1" shift srcname="$realname" test -n "$relink_command" && srcname="$realname"T # Install the shared library and build the symlinks. func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ 'exit $?' tstripme="$stripme" case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme="" ;; esac ;; esac if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" 'exit $?' fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib="$destdir/$realname" func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" name="$func_basename_result" instname="$dir/$name"i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. test -n "$old_library" && func_append staticlibs " $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) func_lo2o "$destfile" staticdest=$func_lo2o_result ;; *.$objext) staticdest="$destfile" destfile= ;; *) func_fatal_help "cannot copy a libtool object to \`$destfile'" ;; esac # Install the libtool object if requested. test -n "$destfile" && \ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext="" case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result stripped_ext=".exe" fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result else func_stripname '' '.exe' "$file" wrapper=$func_stripname_result fi ;; *) wrapper=$file ;; esac if func_ltwrapper_script_p "$wrapper"; then notinst_deplibs= relink_command= func_source "$wrapper" # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ func_fatal_error "invalid libtool wrapper script \`$wrapper'" finalize=yes for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test if test -n "$libdir" && test ! -f "$libfile"; then func_warning "\`$lib' has not been installed in \`$libdir'" finalize=no fi done relink_command= func_source "$wrapper" outputname= if test "$fast_install" = no && test -n "$relink_command"; then $opt_dry_run || { if test "$finalize" = yes; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" file="$func_basename_result" outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_silent || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else func_error "error: relink \`$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi file="$outputname" else func_warning "cannot relink \`$file'" fi } else # Install the binary that we compiled earlier. file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) func_stripname '' '.exe' "$destfile" destfile=$func_stripname_result ;; esac ;; esac func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name="$func_basename_result" # Set up the ranlib parameters. oldlib="$destdir/$name" func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then func_show_eval "$old_striplib $tool_oldlib" 'exit $?' fi # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run \`$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } test "$opt_mode" = install && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p # Extract symbols from dlprefiles and create ${outputname}S.o with # a dlpreopen symbol table. func_generate_dlsyms () { $opt_debug my_outputname="$1" my_originator="$2" my_pic_p="${3-no}" my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then my_dlsyms="${my_outputname}S.c" else func_error "not configured to extract global symbols from dlpreopened files" fi fi if test -n "$my_dlsyms"; then case $my_dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist="$output_objdir/${my_outputname}.nm" func_show_eval "$RM $nlist ${nlist}S ${nlist}T" # Parse the name list into a source file. func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif #if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) #pragma GCC diagnostic ignored \"-Wstrict-prototypes\" #endif /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif /* External symbol declarations for the compiler. */\ " if test "$dlself" = yes; then func_verbose "generating symbol list for \`$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` for progfile in $progfiles; do func_to_tool_file "$progfile" func_convert_file_msys_to_w32 func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $opt_dry_run || { eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi if test -n "$export_symbols_regex"; then $opt_dry_run || { eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$output_objdir/$outputname.exp" $opt_dry_run || { $RM $export_symbols eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac } else $opt_dry_run || { eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac } fi fi for dlprefile in $dlprefiles; do func_verbose "extracting global C symbols from \`$dlprefile'" func_basename "$dlprefile" name="$func_basename_result" case $host in *cygwin* | *mingw* | *cegcc* ) # if an import library, we need to obtain dlname if func_win32_import_lib_p "$dlprefile"; then func_tr_sh "$dlprefile" eval "curr_lafile=\$libfile_$func_tr_sh_result" dlprefile_dlbasename="" if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then # Use subshell, to avoid clobbering current variable values dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` if test -n "$dlprefile_dlname" ; then func_basename "$dlprefile_dlname" dlprefile_dlbasename="$func_basename_result" else # no lafile. user explicitly requested -dlpreopen . $sharedlib_from_linklib_cmd "$dlprefile" dlprefile_dlbasename=$sharedlib_from_linklib_result fi fi $opt_dry_run || { if test -n "$dlprefile_dlbasename" ; then eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' else func_warning "Could not compute DLL name from $name" eval '$ECHO ": $name " >> "$nlist"' fi func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" } else # not an import lib $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } fi ;; *) $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } ;; esac done $opt_dry_run || { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $MV "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else $GREP -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' else echo '/* NONE */' >> "$output_objdir/$my_dlsyms" fi echo >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ typedef struct { const char *name; void *address; } lt_dlsymlist; extern LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[]; LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = {\ { \"$my_originator\", (void *) 0 }," case $need_lib_prefix in no) eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac echo >> "$output_objdir/$my_dlsyms" "\ {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_${my_prefix}_LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " } # !$opt_dry_run pic_flag_for_symtable= case "$compile_command " in *" -static "*) ;; *) case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) if test "X$my_pic_p" != Xno; then pic_flag_for_symtable=" $pic_flag" fi ;; esac ;; esac symtab_cflags= for arg in $LTCFLAGS; do case $arg in -pie | -fpie | -fPIE) ;; *) func_append symtab_cflags " $arg" ;; esac done # Now compile the dynamic symbol file. func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' # Transform the symbol file into the correct name. symfileobj="$output_objdir/${my_outputname}S.$objext" case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` fi ;; *) compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` ;; esac ;; *) func_fatal_error "unknown suffix for \`$my_dlsyms'" ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` fi } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. # Despite the name, also deal with 64 bit binaries. func_win32_libid () { $opt_debug win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then func_to_tool_file "$1" func_convert_file_msys_to_w32 win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | $SED -n -e ' 1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $ECHO "$win32_libid_type" } # func_cygming_dll_for_implib ARG # # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib () { $opt_debug sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` } # func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs # # The is the core of a fallback implementation of a # platform-specific function to extract the name of the # DLL associated with the specified import library LIBNAME. # # SECTION_NAME is either .idata$6 or .idata$7, depending # on the platform and compiler that created the implib. # # Echos the name of the DLL associated with the # specified import library. func_cygming_dll_for_implib_fallback_core () { $opt_debug match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` $OBJDUMP -s --section "$1" "$2" 2>/dev/null | $SED '/^Contents of section '"$match_literal"':/{ # Place marker at beginning of archive member dllname section s/.*/====MARK====/ p d } # These lines can sometimes be longer than 43 characters, but # are always uninteresting /:[ ]*file format pe[i]\{,1\}-/d /^In archive [^:]*:/d # Ensure marker is printed /^====MARK====/p # Remove all lines with less than 43 characters /^.\{43\}/!d # From remaining lines, remove first 43 characters s/^.\{43\}//' | $SED -n ' # Join marker and all lines until next marker into a single line /^====MARK====/ b para H $ b para b :para x s/\n//g # Remove the marker s/^====MARK====// # Remove trailing dots and whitespace s/[\. \t]*$// # Print /./p' | # we now have a list, one entry per line, of the stringified # contents of the appropriate section of all members of the # archive which possess that section. Heuristic: eliminate # all those which have a first or second character that is # a '.' (that is, objdump's representation of an unprintable # character.) This should work for all archives with less than # 0x302f exports -- but will fail for DLLs whose name actually # begins with a literal '.' or a single character followed by # a '.'. # # Of those that remain, print the first one. $SED -e '/^\./d;/^.\./d;q' } # func_cygming_gnu_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is a GNU/binutils-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_gnu_implib_p () { $opt_debug func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` test -n "$func_cygming_gnu_implib_tmp" } # func_cygming_ms_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is an MS-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_ms_implib_p () { $opt_debug func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` test -n "$func_cygming_ms_implib_tmp" } # func_cygming_dll_for_implib_fallback ARG # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # # This fallback implementation is for use when $DLLTOOL # does not support the --identify-strict option. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib_fallback () { $opt_debug if func_cygming_gnu_implib_p "$1" ; then # binutils import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` elif func_cygming_ms_implib_p "$1" ; then # ms-generated import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` else # unknown sharedlib_from_linklib_result="" fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { $opt_debug f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" if test "$lock_old_archive_extraction" = yes; then lockfile=$f_ex_an_ar_oldlib.lock until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done fi func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ 'stat=$?; rm -f "$lockfile"; exit $stat' if test "$lock_old_archive_extraction" = yes; then $opt_dry_run || rm -f "$lockfile" fi if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" fi } # func_extract_archives gentop oldlib ... func_extract_archives () { $opt_debug my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" my_xlib="$func_basename_result" my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) func_arith $extracted_serial + 1 extracted_serial=$func_arith_result my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" func_mkdir_p "$my_xdir" case $host in *-darwin*) func_verbose "Extracting $my_xabs" # Do not bother doing anything if just a dry run $opt_dry_run || { darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`basename "$darwin_archive"` darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` $LIPO -create -output "$darwin_file" $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd "$darwin_orig_dir" else cd $darwin_orig_dir func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches } # !$opt_dry_run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # func_emit_wrapper [arg=no] # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to # incorporate the script contents within a cygwin/mingw # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory in which it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () { func_emit_wrapper_arg1=${1-no} $ECHO "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='$sed_quote_subst' # Be Bourne compatible if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variables: generated_by_libtool_version='$macro_version' notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$ECHO are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` $ECHO "\ # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } ECHO=\"$qECHO\" fi # Very basic option parsing. These options are (a) specific to # the libtool wrapper, (b) are identical between the wrapper # /script/ and the wrapper /executable/ which is used only on # windows platforms, and (c) all begin with the string "--lt-" # (application programs are unlikely to have options which match # this pattern). # # There are only two supported options: --lt-debug and # --lt-dump-script. There is, deliberately, no --lt-help. # # The first argument to this parsing function should be the # script's $0 value, followed by "$@". lt_option_debug= func_parse_lt_options () { lt_script_arg0=\$0 shift for lt_opt do case \"\$lt_opt\" in --lt-debug) lt_option_debug=1 ;; --lt-dump-script) lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` cat \"\$lt_dump_D/\$lt_dump_F\" exit 0 ;; --lt-*) \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 exit 1 ;; esac done # Print the debug banner immediately: if test -n \"\$lt_option_debug\"; then echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 fi } # Used when --lt-debug. Prints its arguments to stdout # (redirection is the responsibility of the caller) func_lt_dump_args () { lt_dump_args_N=1; for lt_arg do \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` done } # Core function for launching the target application func_exec_program_core () { " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $ECHO "\ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 exit 1 } # A function to encapsulate launching the target application # Strips options in the --lt-* namespace from \$@ and # launches target application with the remaining arguments. func_exec_program () { case \" \$* \" in *\\ --lt-*) for lt_wr_arg do case \$lt_wr_arg in --lt-*) ;; *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; esac shift done ;; esac func_exec_program_core \${1+\"\$@\"} } # Parse options func_parse_lt_options \"\$0\" \${1+\"\$@\"} # Find the directory that this script lives in. thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then # special case for '.' if test \"\$thisdir\" = \".\"; then thisdir=\`pwd\` fi # remove .libs from thisdir case \"\$thisdir\" in *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; $objdir ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else $ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi fi $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $RM \"\$progdir/\$program\"; $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } $RM \"\$progdir/\$file\" fi" else $ECHO "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $ECHO "\ if test -f \"\$progdir/\$program\"; then" # fixup the dll searchpath if we need to. # # Fix the DLL searchpath if we need to. Do this before prepending # to shlibpath, because on Windows, both are PATH and uninstalled # libraries must come first. if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi # Export our shlibpath_var if we have one. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` export $shlibpath_var " fi $ECHO "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. func_exec_program \${1+\"\$@\"} fi else # The program doesn't exist. \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " } # func_emit_cwrapperexe_src # emit the source code for a wrapper executable on stdout # Must ONLY be called from within func_mode_link because # it depends on a number of variable set therein. func_emit_cwrapperexe_src () { cat < #include #ifdef _MSC_VER # include # include # include #else # include # include # ifdef __CYGWIN__ # include # endif #endif #include #include #include #include #include #include #include #include /* declarations of non-ANSI functions */ #if defined(__MINGW32__) # ifdef __STRICT_ANSI__ int _putenv (const char *); # endif #elif defined(__CYGWIN__) # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif /* #elif defined (other platforms) ... */ #endif /* portability defines, excluding path handling macros */ #if defined(_MSC_VER) # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv # define S_IXUSR _S_IEXEC # ifndef _INTPTR_T_DEFINED # define _INTPTR_T_DEFINED # define intptr_t int # endif #elif defined(__MINGW32__) # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv #elif defined(__CYGWIN__) # define HAVE_SETENV # define FOPEN_WB "wb" /* #elif defined (other platforms) ... */ #endif #if defined(PATH_MAX) # define LT_PATHMAX PATH_MAX #elif defined(MAXPATHLEN) # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif /* path handling portability macros */ #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ defined (__OS2__) # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #ifndef FOPEN_WB # define FOPEN_WB "w" #endif #ifndef _O_BINARY # define _O_BINARY 0 #endif #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) #if defined(LT_DEBUGWRAPPER) static int lt_debug = 1; #else static int lt_debug = 0; #endif const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ void *xmalloc (size_t num); char *xstrdup (const char *string); const char *base_name (const char *name); char *find_executable (const char *wrapper); char *chase_symlinks (const char *pathspec); int make_executable (const char *path); int check_executable (const char *path); char *strendzap (char *str, const char *pat); void lt_debugprintf (const char *file, int line, const char *fmt, ...); void lt_fatal (const char *file, int line, const char *message, ...); static const char *nonnull (const char *s); static const char *nonempty (const char *s); void lt_setenv (const char *name, const char *value); char *lt_extend_str (const char *orig_value, const char *add, int to_end); void lt_update_exe_path (const char *name, const char *value); void lt_update_lib_path (const char *name, const char *value); char **prepare_spawn (char **argv); void lt_dump_script (FILE *f); EOF cat <= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", nonempty (path)); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise Does not chase symlinks, even on platforms that support them. */ char * find_executable (const char *wrapper) { int has_slash = 0; const char *p; const char *p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char *concat_name; lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", nonempty (wrapper)); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char *path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char *q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR (*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); return NULL; } char * chase_symlinks (const char *pathspec) { #ifndef S_ISLNK return xstrdup (pathspec); #else char buf[LT_PATHMAX]; struct stat s; char *tmp_pathspec = xstrdup (pathspec); char *p; int has_symlinks = 0; while (strlen (tmp_pathspec) && !has_symlinks) { lt_debugprintf (__FILE__, __LINE__, "checking path component for symlinks: %s\n", tmp_pathspec); if (lstat (tmp_pathspec, &s) == 0) { if (S_ISLNK (s.st_mode) != 0) { has_symlinks = 1; break; } /* search backwards for last DIR_SEPARATOR */ p = tmp_pathspec + strlen (tmp_pathspec) - 1; while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) p--; if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) { /* no more DIR_SEPARATORS left */ break; } *p = '\0'; } else { lt_fatal (__FILE__, __LINE__, "error accessing file \"%s\": %s", tmp_pathspec, nonnull (strerror (errno))); } } XFREE (tmp_pathspec); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal (__FILE__, __LINE__, "could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (strcmp (str, pat) == 0) *str = '\0'; } return str; } void lt_debugprintf (const char *file, int line, const char *fmt, ...) { va_list args; if (lt_debug) { (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); va_start (args, fmt); (void) vfprintf (stderr, fmt, args); va_end (args); } } static void lt_error_core (int exit_status, const char *file, int line, const char *mode, const char *message, va_list ap) { fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *file, int line, const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); va_end (ap); } static const char * nonnull (const char *s) { return s ? s : "(null)"; } static const char * nonempty (const char *s) { return (s && !*s) ? "(empty)" : nonnull (s); } void lt_setenv (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_setenv) setting '%s' to '%s'\n", nonnull (name), nonnull (value)); { #ifdef HAVE_SETENV /* always make a copy, for consistency with !HAVE_SETENV */ char *str = xstrdup (value); setenv (name, str, 1); #else int len = strlen (name) + 1 + strlen (value) + 1; char *str = XMALLOC (char, len); sprintf (str, "%s=%s", name, value); if (putenv (str) != EXIT_SUCCESS) { XFREE (str); } #endif } } char * lt_extend_str (const char *orig_value, const char *add, int to_end) { char *new_value; if (orig_value && *orig_value) { int orig_value_len = strlen (orig_value); int add_len = strlen (add); new_value = XMALLOC (char, add_len + orig_value_len + 1); if (to_end) { strcpy (new_value, orig_value); strcpy (new_value + orig_value_len, add); } else { strcpy (new_value, add); strcpy (new_value + add_len, orig_value); } } else { new_value = xstrdup (add); } return new_value; } void lt_update_exe_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); /* some systems can't cope with a ':'-terminated path #' */ int len = strlen (new_value); while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[len-1] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); } } void lt_update_lib_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF case $host_os in mingw*) cat <<"EOF" /* Prepares an argument vector before calling spawn(). Note that spawn() does not by itself call the command interpreter (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&v); v.dwPlatformId == VER_PLATFORM_WIN32_NT; }) ? "cmd.exe" : "command.com"). Instead it simply concatenates the arguments, separated by ' ', and calls CreateProcess(). We must quote the arguments since Win32 CreateProcess() interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a special way: - Space and tab are interpreted as delimiters. They are not treated as delimiters if they are surrounded by double quotes: "...". - Unescaped double quotes are removed from the input. Their only effect is that within double quotes, space and tab are treated like normal characters. - Backslashes not followed by double quotes are not special. - But 2*n+1 backslashes followed by a double quote become n backslashes followed by a double quote (n >= 0): \" -> " \\\" -> \" \\\\\" -> \\" */ #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" char ** prepare_spawn (char **argv) { size_t argc; char **new_argv; size_t i; /* Count number of arguments. */ for (argc = 0; argv[argc] != NULL; argc++) ; /* Allocate new argument vector. */ new_argv = XMALLOC (char *, argc + 1); /* Put quoted arguments into the new argument vector. */ for (i = 0; i < argc; i++) { const char *string = argv[i]; if (string[0] == '\0') new_argv[i] = xstrdup ("\"\""); else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) { int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); size_t length; unsigned int backslashes; const char *s; char *quoted_string; char *p; length = 0; backslashes = 0; if (quote_around) length++; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') length += backslashes + 1; length++; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) length += backslashes + 1; quoted_string = XMALLOC (char, length + 1); p = quoted_string; backslashes = 0; if (quote_around) *p++ = '"'; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') { unsigned int j; for (j = backslashes + 1; j > 0; j--) *p++ = '\\'; } *p++ = c; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) { unsigned int j; for (j = backslashes; j > 0; j--) *p++ = '\\'; *p++ = '"'; } *p = '\0'; new_argv[i] = quoted_string; } else new_argv[i] = (char *) string; } new_argv[argc] = NULL; return new_argv; } EOF ;; esac cat <<"EOF" void lt_dump_script (FILE* f) { EOF func_emit_wrapper yes | $SED -n -e ' s/^\(.\{79\}\)\(..*\)/\1\ \2/ h s/\([\\"]\)/\\\1/g s/$/\\n/ s/\([^\n]*\).*/ fputs ("\1", f);/p g D' cat <<"EOF" } EOF } # end: func_emit_cwrapperexe_src # func_win32_import_lib_p ARG # True if ARG is an import lib, as indicated by $file_magic_cmd func_win32_import_lib_p () { $opt_debug case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in *import*) : ;; *) false ;; esac } # func_mode_link arg... func_mode_link () { $opt_debug case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # which system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll which has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args=$nonopt base_compile="$nonopt $@" compile_command=$nonopt finalize_command=$nonopt compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= new_inherited_linker_flags= avoid_version=no bindir= dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=no prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no weak_libs= single_module="${wl}-single_module" func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) func_append compile_command " @OUTPUT@" func_append finalize_command " @OUTPUT@" ;; esac case $prev in bindir) bindir="$arg" prev= continue ;; dlfiles|dlprefiles) if test "$preload" = no; then # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=yes fi case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test "$dlself" = no; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test "$prev" = dlprefiles; then dlself=yes elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test "$prev" = dlfiles; then func_append dlfiles " $arg" else func_append dlprefiles " $arg" fi prev= continue ;; esac ;; expsyms) export_symbols="$arg" test -f "$arg" \ || func_fatal_error "symbol file \`$arg' does not exist" prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; framework) case $host in *-*-darwin*) case "$deplibs " in *" $qarg.ltframework "*) ;; *) func_append deplibs " $qarg.ltframework" # this is fixed later ;; esac ;; esac prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat "$save_arg"` do # func_append moreargs " $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi done else func_fatal_error "link input file \`$arg' does not exist" fi arg=$save_arg prev= continue ;; precious_regex) precious_files_regex="$arg" prev= continue ;; release) release="-$arg" prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; *) func_append rpath " $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) func_append xrpath " $arg" ;; esac fi prev= continue ;; shrext) shrext_cmds="$arg" prev= continue ;; weak) func_append weak_libs " $arg" prev= continue ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xcompiler) func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xlinker) func_append linker_flags " $qarg" func_append compiler_flags " $wl$qarg" prev= func_append compile_command " $wl$qarg" func_append finalize_command " $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg="$arg" case $arg in -all-static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" func_append finalize_command " $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "\`-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -bindir) prev=bindir continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -L*) func_stripname "-L" '' "$arg" if test -z "$func_stripname_result"; then if test "$#" -gt 0; then func_fatal_error "require no space between \`-L' and \`$1'" else func_fatal_error "need path for \`-L' option" fi fi func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of \`$dir'" dir="$absdir" ;; esac case "$deplibs " in *" -L$dir "* | *" $arg "*) # Will only happen for absolute or sysroot arguments ;; *) # Preserve sysroot, but never include relative directories case $dir in [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; *) func_append deplibs " -L$dir" ;; esac func_append lib_search_path " $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; ::) dllsearchpath=$dir;; *) func_append dllsearchpath ":$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework func_append deplibs " System.ltframework" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi func_append deplibs " $arg" continue ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot|--sysroot) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) func_append new_inherited_linker_flags " $arg" ;; esac continue ;; -multi_module) single_module="${wl}-multi_module" continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "\`-no-install' is ignored for $host" func_warning "assuming \`-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) func_stripname '-R' '' "$arg" dir=$func_stripname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; =*) func_stripname '=' '' "$dir" dir=$lt_sysroot$func_stripname_result ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac continue ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" func_append arg " $func_quote_for_eval_result" func_append compiler_flags " $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" func_append arg " $wl$func_quote_for_eval_result" func_append compiler_flags " $wl$func_quote_for_eval_result" func_append linker_flags " $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; # Flags to be passed through unchanged, with rationale: # -64, -mips[0-9] enable 64-bit mode for the SGI compiler # -r[0-9][0-9]* specify processor for the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler # +DA*, +DD* enable 64-bit mode for the HP compiler # -q* compiler args for the IBM compiler # -m*, -t[45]*, -txscale* architecture-specific flags for GCC # -F/path path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* profiling flags for GCC # @file GCC response files # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-flto*|-fwhopr*|-fuse-linker-plugin) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" continue ;; # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; *.$objext) # A standard object. func_append objs " $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi ;; *.$libext) # An archive. func_append deplibs " $arg" func_append old_deplibs " $arg" continue ;; *.la) # A libtool-controlled library. func_resolve_sysroot "$arg" if test "$prev" = dlfiles; then # This library was specified with -dlopen. func_append dlfiles " $func_resolve_sysroot_result" prev= elif test "$prev" = dlprefiles; then # The library was specified with -dlpreopen. func_append dlprefiles " $func_resolve_sysroot_result" prev= else func_append deplibs " $func_resolve_sysroot_result" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then func_append compile_command " $arg" func_append finalize_command " $arg" fi done # argument parsing loop test -n "$prev" && \ func_fatal_help "the \`$prevarg' option requires an argument" if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" fi oldlibs= # calculate the name of the file, without its directory func_basename "$output" outputname="$func_basename_result" libobjs_save="$libobjs" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" func_dirname "$output" "/" "" output_objdir="$func_dirname_result$objdir" func_to_tool_file "$output_objdir/" tool_output_objdir=$func_to_tool_file_result # Create the object directory. func_mkdir_p "$output_objdir" # Determine the type of output case $output in "") func_fatal_help "you must specify an output file" ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if $opt_preserve_dup_deps ; then case "$libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append libs " $deplib" done if test "$linkmode" = lib; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if $opt_duplicate_compiler_generated_deps; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; esac func_append pre_post_deps " $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv dlpreopen link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=no newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... if test "$linkmode,$pass" = "lib,link"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done deplibs="$tmp_deplibs" fi if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" deplibs= fi if test "$linkmode" = prog; then case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS%" test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" ;; esac fi if test "$linkmode,$pass" = "lib,dlpreopen"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs dependency_libs= func_resolve_sysroot "$lib" case $lib in *.la) func_source "$func_resolve_sysroot_result" ;; esac # Collect preopened libtool deplibs, except any this library # has declared as weak libs for deplib in $dependency_libs; do func_basename "$deplib" deplib_base=$func_basename_result case " $weak_libs " in *" $deplib_base "*) ;; *) func_append deplibs " $deplib" ;; esac done done libs="$dlprefiles" fi if test "$pass" = dlopen; then # Collect dlpreopened libraries save_deplibs="$deplibs" deplibs= fi for deplib in $libs; do lib= found=no case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append compiler_flags " $deplib" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then func_warning "\`-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test "$linkmode" = lib; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib="$searchdir/lib${name}${search_ext}" if test -f "$lib"; then if test "$search_ext" = ".la"; then found=yes else found=no fi break 2 fi done done if test "$found" != yes; then # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue else # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then library_names= old_library= func_source "$lib" for l in $old_library $library_names; do ll="$l" done if test "X$ll" = "X$old_library" ; then # only static version available found=no func_dirname "$lib" "" "." ladir="$func_dirname_result" lib=$ladir/$old_library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi fi ;; # -l *.ltframework) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; prog) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi if test "$pass" = scan; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; *) func_warning "\`-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) if test "$pass" = link; then func_stripname '-R' '' "$deplib" func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) func_resolve_sysroot "$deplib" lib=$func_resolve_sysroot_result ;; *.$libext) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) # Linking convenience modules into shared libraries is allowed, # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; then echo $ECHO "*** Warning: Trying to link with static lib archive $deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because the file extensions .$libext of this argument makes me believe" echo "*** that it is just a static archive that I should not use here." else echo $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi ;; esac continue ;; prog) if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test "$pass" = conv; then deplibs="$deplib $deplibs" elif test "$linkmode" = prog; then if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlopen support or we're linking statically, # we need to preload. func_append newdlprefiles " $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append newdlfiles " $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=yes continue ;; esac # case $deplib if test "$found" = yes || test -f "$lib"; then : else func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" fi # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ || func_fatal_error "\`$lib' is not a valid libtool archive" func_dirname "$lib" "" "." ladir="$func_dirname_result" dlname= dlopen= dlpreopen= libdir= library_names= old_library= inherited_linker_flags= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file func_source "$lib" # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do case " $new_inherited_linker_flags " in *" $tmp_inherited_linker_flag "*) ;; *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; esac done fi dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && func_append dlfiles " $dlopen" test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" fi if test "$pass" = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done elif test "$linkmode" != prog && test "$linkmode" != lib; then func_fatal_error "\`$lib' is not a convenience library" fi continue fi # $pass = conv # Get the name of the library we link against. linklib= if test -n "$old_library" && { test "$prefer_static_libs" = yes || test "$prefer_static_libs,$installed" = "built,no"; }; then linklib=$old_library else for l in $old_library $library_names; do linklib="$l" done fi if test -z "$linklib"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then func_fatal_error "cannot -dlopen a convenience library: \`$lib'" fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. func_append dlprefiles " $lib $dependency_libs" else func_append newdlfiles " $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then func_warning "cannot determine absolute directory name of \`$ladir'" func_warning "passing it literally to the linker, although it might fail" abs_ladir="$ladir" fi ;; esac func_basename "$lib" laname="$func_basename_result" # Find the relevant object directory and library name. if test "X$installed" = Xyes; then if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then func_warning "library \`$lib' was moved." dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" else dir="$lt_sysroot$libdir" absdir="$lt_sysroot$libdir" fi test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later func_append notinst_path " $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later func_append notinst_path " $abs_ladir" fi fi # $installed = yes func_stripname 'lib' '.la' "$laname" name=$func_stripname_result # This library was specified with -dlpreopen. if test "$pass" = dlpreopen; then if test -z "$libdir" && test "$linkmode" = prog; then func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" fi case "$host" in # special handling for platforms with PE-DLLs. *cygwin* | *mingw* | *cegcc* ) # Linker will automatically link against shared library if both # static and shared are present. Therefore, ensure we extract # symbols from the import library if a shared library is present # (otherwise, the dlopen module name will be incorrect). We do # this by putting the import library name into $newdlprefiles. # We recover the dlopen module name by 'saving' the la file # name in a special purpose variable, and (later) extracting the # dlname from the la file. if test -n "$dlname"; then func_tr_sh "$dir/$linklib" eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" func_append newdlprefiles " $dir/$linklib" else func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" fi ;; * ) # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then func_append newdlprefiles " $dir/$dlname" else func_append newdlprefiles " $dir/$linklib" fi ;; esac fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test "$linkmode" = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test "$linkmode" = prog && test "$pass" != link; then func_append newlib_search_path " $ladir" deplibs="$lib $deplibs" linkalldeplibs=no if test "$link_all_deplibs" != no || test -z "$library_names" || test "$build_libtool_libs" = no; then linkalldeplibs=yes fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; esac # Need to link against all dependency_libs? if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done # for deplib continue fi # $linkmode = prog... if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && { { test "$prefer_static_libs" = no || test "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath:" in *"$absdir:"*) ;; *) func_append temp_rpath "$absdir:" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && { test "$deplibs_check_method" = pass_all || { test "$build_libtool_libs" = yes && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes; then use_static_libs=no fi if test -n "$library_names" && { test "$use_static_libs" = no || test -z "$old_library"; }; then case $host in *cygwin* | *mingw* | *cegcc*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" need_relink=no ;; *) if test "$installed" = no; then func_append notinst_deplibs " $lib" need_relink=yes fi ;; esac # This is a shared library # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! dlopenmodule="" for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then dlopenmodule="$dlpremoduletest" break fi done if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then echo if test "$linkmode" = prog; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names shift realname="$1" shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname="$dlname" elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw* | *cegcc*) func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; esac eval soname=\"$soname_spec\" else soname="$realname" fi # Make a new name for the extract_expsyms_cmds to use soroot="$soname" func_basename "$soroot" soname="$func_basename_result" func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else func_verbose "extracting exported symbol list from \`$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else func_verbose "generating import library for \`$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$opt_mode" != relink; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" case $host in *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir="-L$dir" ;; *-*-darwin* ) # if the lib is a (non-dlopened) module then we can not # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null ; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" if test -z "$old_library" ; then echo echo "*** And there doesn't seem to be a static archive available" echo "*** The link will probably fail, sorry" else add="$dir/$old_library" fi elif test -n "$old_library"; then add="$dir/$old_library" fi fi esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; esac add_dir="-L$dir" add="-l$name" elif test "$hardcode_shlibpath_var" = no; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; relink) if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$absdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; *) lib_linked=no ;; esac if test "$lib_linked" != yes; then func_fatal_configuration "unsupported hardcode properties" fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) func_append compile_shlibpath "$add_shlibpath:" ;; esac fi if test "$linkmode" = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test "$hardcode_direct" != yes && test "$hardcode_minus_L" != yes && test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac fi fi fi if test "$linkmode" = prog || test "$opt_mode" = relink; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac add="-l$name" elif test "$hardcode_automatic" = yes; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then add="$inst_prefix_dir$libdir/$linklib" else add="$libdir/$linklib" fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" fi if test "$linkmode" = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test "$linkmode" = prog; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test "$hardcode_direct" != unsupported; then test -n "$old_library" && linklib="$old_library" compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test "$build_libtool_libs" = yes; then # Not a shared library if test "$deplibs_check_method" != pass_all; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. echo $ECHO "*** Warning: This system can not link to static lib archive $lib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then echo "*** But as you try to build a module library, libtool will still create " echo "*** a static module, that should work as long as the dlopening application" echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using \`nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test "$linkmode" = lib; then if test -n "$dependency_libs" && { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) func_stripname '-R' '' "$libdir" temp_xrpath=$func_stripname_result case " $xrpath " in *" $temp_xrpath "*) ;; *) func_append xrpath " $temp_xrpath";; esac;; *) func_append temp_deplibs " $libdir";; esac done dependency_libs="$temp_deplibs" fi func_append newlib_search_path " $absdir" # Link against this library test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result";; *) func_resolve_sysroot "$deplib" ;; esac if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $func_resolve_sysroot_result "*) func_append specialdeplibs " $func_resolve_sysroot_result" ;; esac fi func_append tmp_libs " $func_resolve_sysroot_result" done if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in -L*) path="$deplib" ;; *.la) func_resolve_sysroot "$deplib" deplib=$func_resolve_sysroot_result func_dirname "$deplib" "" "." dir=$func_dirname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then func_warning "cannot determine absolute directory name of \`$dir'" absdir="$dir" fi ;; esac if $GREP "^installed=no" $deplib > /dev/null; then case $host in *-*-darwin*) depdepl= eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do depdepl=$tmp done if test -f "$absdir/$objdir/$depdepl" ; then depdepl="$absdir/$objdir/$depdepl" darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" path= fi fi ;; *) path="-L$absdir/$objdir" ;; esac else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ func_warning "\`$deplib' seems to be moved" path="-L$absdir" fi ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs if test "$pass" = link; then if test "$linkmode" = "prog"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test "$pass" != dlopen; then if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) func_append lib_search_path " $dir" ;; esac done newlib_search_path= fi if test "$linkmode,$pass" != "prog,link"; then vars="deplibs" else vars="compile_deplibs finalize_deplibs" fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) func_append tmp_libs " $deplib" ;; esac ;; *) func_append tmp_libs " $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs ; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i="" ;; esac if test -n "$i" ; then func_append tmp_libs " $i" fi done dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" fi if test "$linkmode" = prog || test "$linkmode" = lib; then dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for archives" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for archives" test -n "$xrpath" && \ func_warning "\`-R' is ignored for archives" test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for archives" test -n "$release" && \ func_warning "\`-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ func_warning "\`-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no oldlibs="$output" func_append objs "$old_deplibs" ;; lib) # Make sure we only generate libraries of the form `libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) test "$module" = no && \ func_fatal_help "libtool library \`$output' must begin with \`lib'" if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else func_stripname '' '.la' "$outputname" libname=$func_stripname_result fi ;; esac if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" else echo $ECHO "*** Warning: Linking the shared library $output against the non-libtool" $ECHO "*** objects $objs is not portable!" func_append libobjs " $objs" fi fi test "$dlself" != no && \ func_warning "\`-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test "$#" -gt 1 && \ func_warning "ignoring multiple \`-rpath's for a libtool library" install_libdir="$1" oldlibs= if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. # Some compilers have problems with a `.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ func_warning "\`-release' is ignored for convenience libraries" else # Parse the version information argument. save_ifs="$IFS"; IFS=':' set dummy $vinfo 0 0 0 shift IFS="$save_ifs" test -n "$7" && \ func_fatal_help "too many parameters to \`-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major="$1" number_minor="$2" number_revision="$3" # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # which has an extra 1 added just for fun # case $version_type in # correct linux to gnu/linux during the next big refactor darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_revision" ;; freebsd-aout|freebsd-elf|qnx|sunos) current="$number_major" revision="$number_minor" age="0" ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; *) func_fatal_configuration "$modename: unknown library version type \`$version_type'" ;; esac ;; no) current="$1" revision="$2" age="$3" ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "CURRENT \`$current' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "REVISION \`$revision' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "AGE \`$age' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then func_error "AGE \`$age' is greater than the current interface number \`$current'" func_fatal_error "\`$vinfo' is not valid version information" fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current" ;; irix | nonstopux) if test "X$lt_irix_increment" = "Xno"; then func_arith $current - $age else func_arith $current - $age + 1 fi major=$func_arith_result case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. major=.$major versuffix="$major.$revision" ;; linux) # correct to gnu/linux during the next big refactor func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" ;; osf) func_arith $current - $age major=.$func_arith_result versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age while test "$loop" -ne 0; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring:${iface}.0" done # Make executables depend on our current version. func_append verstring ":${current}.0" ;; qnx) major=".$current" versuffix=".$current" ;; sunos) major=".$current" versuffix=".$current.$revision" ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 filesystems. func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; *) func_fatal_configuration "unknown library version type \`$version_type'" ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring="0.0" ;; esac if test "$need_version" = no; then versuffix= else versuffix=".0.0" fi fi # Remove version info from name if versioning should be avoided if test "$avoid_version" = yes && test "$need_version" = no; then major= versuffix= verstring="" fi # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then func_warning "undefined symbols not allowed in $host shared libraries" build_libtool_libs=no build_old_libs=yes fi else # Don't allow undefined symbols. allow_undefined_flag="$no_undefined_flag" fi fi func_generate_dlsyms "$libname" "$libname" "yes" func_append libobjs " $symfileobj" test "X$libobjs" = "X " && libobjs= if test "$opt_mode" != relink; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$ECHO "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext | *.gcno) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi func_append removelist " $p" ;; *) ;; esac done test -n "$removelist" && \ func_show_eval "${RM}r \$removelist" fi # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then func_append oldlibs " $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do func_replace_sysroot "$libdir" func_append temp_xrpath " -R$func_replace_sysroot_result" case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles="$dlfiles" dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) func_append dlfiles " $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles="$dlprefiles" dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) func_append dlprefiles " $lib" ;; esac done if test "$build_libtool_libs" = yes; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework func_append deplibs " System.ltframework" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then func_append deplibs " -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release="" versuffix="" major="" newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $opt_dry_run || $RM conftest.c cat > conftest.c </dev/null` $nocaseglob else potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` fi for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null | $GREP " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a file magic. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` for a_deplib in $deplibs; do case $a_deplib in -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) func_append newdeplibs " $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib="$potent_lib" # see symlink-check above in file_magic test if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a regex pattern. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; none | unknown | *) newdeplibs="" tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then for i in $predeps $postdeps ; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` done fi case $tmp_deplibs in *[!\ \ ]*) echo if test "X$deplibs_check_method" = "Xnone"; then echo "*** Warning: inter-library dependencies are not supported in this platform." else echo "*** Warning: inter-library dependencies are not known to be supported." fi echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes ;; esac ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library with the System framework newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac if test "$droppeddeps" = yes; then if test "$module" = yes; then echo echo "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" echo "*** a static module, that should work as long as the dlopening" echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using \`nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else echo "*** The inter-library dependencies that have been dropped here will be" echo "*** automatically added whenever a program is linked with this library" echo "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then echo echo "*** Since this library must not contain undefined symbols," echo "*** because either the platform does not support them or" echo "*** it was explicitly requested with -no-undefined," echo "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" case $host in *-*-darwin*) newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done deplibs="$new_libs" # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then # Remove ${wl} instances when linking with ld. # FIXME: should test the right _cmds variable. case $archive_cmds in *\$LD\ *) wl= ;; esac if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath="$finalize_rpath" test "$opt_mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then func_replace_sysroot "$libdir" libdir=$func_replace_sysroot_result if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append dep_rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath="$finalize_shlibpath" test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names shift realname="$1" shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" linknames= for link do func_append linknames " $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` test "X$libobjs" = "X " && libobjs= delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" export_symbols="$output_objdir/$libname.uexp" func_append delfiles " $export_symbols" fi orig_export_symbols= case $host_os in cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile if test "x`$SED 1q $export_symbols`" != xEXPORTS; then # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. orig_export_symbols="$export_symbols" export_symbols= always_export_symbols=yes fi fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd1 in $cmds; do IFS="$save_ifs" # Take the normal branch if the nm_file_list_spec branch # doesn't work or if tool conversion is not needed. case $nm_file_list_spec~$to_tool_file_cmd in *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) try_normal_branch=yes eval cmd=\"$cmd1\" func_len " $cmd" len=$func_len_result ;; *) try_normal_branch=no ;; esac if test "$try_normal_branch" = yes \ && { test "$len" -lt "$max_cmd_len" \ || test "$max_cmd_len" -le -1; } then func_show_eval "$cmd" 'exit $?' skipped_export=false elif test -n "$nm_file_list_spec"; then func_basename "$output" output_la=$func_basename_result save_libobjs=$libobjs save_output=$output output=${output_objdir}/${output_la}.nm func_to_tool_file "$output" libobjs=$nm_file_list_spec$func_to_tool_file_result func_append delfiles " $output" func_verbose "creating $NM input file list: $output" for obj in $save_libobjs; do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > "$output" eval cmd=\"$cmd1\" func_show_eval "$cmd" 'exit $?' output=$save_output libobjs=$save_libobjs skipped_export=false else # The command line is too long to execute in one step. func_verbose "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS="$save_ifs" if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) func_append tmp_deplibs " $test_deplib" ;; esac done deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && test "$compiler_needs_object" = yes && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. whole_archive_flag_spec= fi if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $convenience func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" func_append linker_flags " $flag" fi # Make a backup of the uninstalled library when relinking if test "$opt_mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise # or, if using GNU ld and skipped_export is not :, use a linker # script. # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output func_basename "$output" output_la=$func_basename_result # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= last_robj= k=1 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then output=${output_objdir}/${output_la}.lnkscript func_verbose "creating GNU ld script: $output" echo 'INPUT (' > $output for obj in $save_libobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done echo ')' >> $output func_append delfiles " $output" func_to_tool_file "$output" output=$func_to_tool_file_result elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then output=${output_objdir}/${output_la}.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test "$compiler_needs_object" = yes; then firstobj="$1 " shift fi for obj do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done func_append delfiles " $output" func_to_tool_file "$output" output=$firstobj\"$file_list_spec$func_to_tool_file_result\" else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." output=$output_objdir/$output_la-${k}.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 # Loop over the list of objects to be linked. for obj in $save_libobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result if test "X$objlist" = X || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test "$k" -eq 1 ; then # The first file doesn't have a previous command to add. reload_objs=$objlist eval concat_cmds=\"$reload_cmds\" else # All subsequent reloadable object files will link in # the last one created. reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" fi last_robj=$output_objdir/$output_la-${k}.$objext func_arith $k + 1 k=$func_arith_result output=$output_objdir/$output_la-${k}.$objext objlist=" $obj" func_len " $last_robj" func_arith $len0 + $func_len_result len=$func_arith_result fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ reload_objs="$objlist $last_robj" eval concat_cmds=\"\${concat_cmds}$reload_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" fi func_append delfiles " $output" else output= fi if ${skipped_export-false}; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi fi test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$opt_mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi if ${skipped_export-false}; then if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi fi libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$opt_mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$opt_mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done # If -module or -export-dynamic was specified, set the dlname. if test "$module" = yes || test "$export_dynamic" = yes; then # On all known operating systems, these are identical. dlname="$soname" fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for objects" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for objects" test -n "$xrpath" && \ func_warning "\`-R' is ignored for objects" test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for objects" test -n "$release" && \ func_warning "\`-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ func_fatal_error "cannot build library object \`$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" obj=$func_lo2o_result ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of # -Wl from whole_archive_flag_spec and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` else gentop="$output_objdir/${obj}x" func_append generated " $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # If we're not building shared, we need to use non_pic_objs test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" # Create the old-style object. reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test output="$obj" func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS fi if test "$build_libtool_libs" != yes; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS fi if test -n "$pic_flag" || test "$pic_mode" != default; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output="$libobj" func_execute_cmds "$reload_cmds" 'exit $?' fi if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for programs" test -n "$release" && \ func_warning "\`-release' is ignored for programs" test "$preload" = yes \ && test "$dlopen_support" = unknown \ && test "$dlopen_self" = unknown \ && test "$dlopen_self_static" = unknown && \ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac case $host in *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). if test "$tagname" = CXX ; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) func_append compile_command " ${wl}-bind_at_load" func_append finalize_command " ${wl}-bind_at_load" ;; esac fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done compile_deplibs="$new_libs" func_append compile_command " $compile_deplibs" func_append finalize_command " $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; *) func_append dllsearchpath ":$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath="$rpath" rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) func_append finalize_perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath="$rpath" if test -n "$libobjs" && test "$build_old_libs" = yes; then # Transform all the library objects into standard objects. compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` fi func_generate_dlsyms "$outputname" "@PROGRAM@" "no" # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=yes case $host in *cegcc* | *mingw32ce*) # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. wrappers_required=no ;; *cygwin* | *mingw* ) if test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; *) if test "$need_relink" = no || test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; esac if test "$wrappers_required" = no; then # Replace the output file specification. compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Delete the generated files. if test -f "$output_objdir/${outputname}S.${objext}"; then func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' fi exit $exit_status fi if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do func_append rpath "$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test "$no_install" = yes; then # We don't need to create a wrapper script. link_command="$compile_var$compile_command$compile_rpath" # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $opt_dry_run || $RM $output # Link the executable and exit func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi exit $EXIT_SUCCESS fi if test "$hardcode_action" = relink; then # Fast installation is not supported link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" func_warning "this platform does not like uninstalled shared libraries" func_warning "\`$output' will be relinked during installation" else if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` else # fast_install is set to needless relink_command= fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output_objdir/$outputname" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Now create the wrapper script. func_verbose "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. $opt_dry_run || { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) func_stripname '' '.exe' "$output" output=$func_stripname_result ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource # The wrapper executable is built using the $host compiler, # because it contains $host paths and files. If cross- # compiling, it, like the target executable, must be # executed on the $host or under an emulation environment. $opt_dry_run || { $LTCC $LTCFLAGS -o $cwrapper $cwrappersource $STRIP $cwrapper } # Now, create the wrapper script for func_source use: func_ltwrapper_scriptname $cwrapper $RM $func_ltwrapper_scriptname_result trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host" ; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result fi } ;; * ) $RM $output trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then oldobjs="$libobjs_save $symfileobj" addlibs="$convenience" build_libtool_libs=no else if test "$build_libtool_libs" = module; then oldobjs="$libobjs_save" build_libtool_libs=no else oldobjs="$old_deplibs $non_pic_objects" if test "$preload" = yes && test -f "$symfileobj"; then func_append oldobjs " $symfileobj" fi fi addlibs="$old_convenience" fi if test -n "$addlibs"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $addlibs func_append oldobjs " $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append oldobjs " $func_extract_archives_result" fi # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do func_basename "$obj" $ECHO "$func_basename_result" done | sort | sort -uc >/dev/null 2>&1); then : else echo "copying selected object files to avoid basename conflicts..." gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do func_basename "$obj" objbase="$func_basename_result" case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase func_arith $counter + 1 counter=$func_arith_result case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" func_append oldobjs " $gentop/$newobj" ;; *) func_append oldobjs " $obj" ;; esac done fi func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result eval cmds=\"$old_archive_cmds\" func_len " $cmds" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds elif test -n "$archiver_list_spec"; then func_verbose "using command file archive linking..." for obj in $oldobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > $output_objdir/$libname.libcmd func_to_tool_file "$output_objdir/$libname.libcmd" oldobjs=" $archiver_list_spec$func_to_tool_file_result" cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts func_verbose "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs oldobjs= # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done eval test_cmds=\"$old_archive_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 for obj in $save_oldobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result func_append objlist " $obj" if test "$len" -lt "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj" ; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist if test "X$oldobjs" = "X" ; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi func_execute_cmds "$cmds" 'exit $?' done test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" func_verbose "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` if test "$hardcode_automatic" = yes ; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test "$installed" = yes; then if test -z "$install_libdir"; then break fi output="$output_objdir/$outputname"i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" name="$func_basename_result" func_resolve_sysroot "$deplib" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" ;; -L*) func_stripname -L '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -L$func_replace_sysroot_result" ;; -R*) func_stripname -R '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -R$func_replace_sysroot_result" ;; *) func_append newdependency_libs " $deplib" ;; esac done dependency_libs="$newdependency_libs" newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" ;; *) func_append newdlfiles " $lib" ;; esac done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in *.la) # Only pass preopened files to the pseudo-archive (for # eventual linking with the app. that links it) if we # didn't already link the preopened objects directly into # the library: func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" ;; esac done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlfiles " $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlprefiles " $abs" done dlprefiles="$newdlprefiles" fi $RM $output # place dlname in correct position for cygwin # In fact, it would be nice if we could use this code for all target # systems that can't hard-code library paths into their executables # and that have no shared library path variable independent of PATH, # but it turns out we can't easily determine that from inspecting # libtool variables, so we have to hard-code the OSs to which it # applies here; at the moment, that means platforms that use the PE # object format with DLL files. See the long comment at the top of # tests/bindir.at for full details. tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) # If a -bindir argument was supplied, place the dll there. if test "x$bindir" != x ; then func_relative_path "$install_libdir" "$bindir" tdlname=$func_relative_path_result$dlname else # Otherwise fall back on heuristic. tdlname=../bin/$dlname fi ;; esac $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Linker flags that can not go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test "$installed" = no && test "$need_relink" = yes; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi done } # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' ;; esac exit $EXIT_SUCCESS } { test "$opt_mode" = link || test "$opt_mode" = relink; } && func_mode_link ${1+"$@"} # func_mode_uninstall arg... func_mode_uninstall () { $opt_debug RM="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) func_append RM " $arg"; rmforce=yes ;; -*) func_append RM " $arg" ;; *) func_append files " $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= for file in $files; do func_dirname "$file" "" "." dir="$func_dirname_result" if test "X$dir" = X.; then odir="$objdir" else odir="$dir/$objdir" fi func_basename "$file" name="$func_basename_result" test "$opt_mode" = uninstall && odir="$dir" # Remember odir for removal later, being careful to avoid duplicates if test "$opt_mode" = clean; then case " $rmdirs " in *" $odir "*) ;; *) func_append rmdirs " $odir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if { test -L "$file"; } >/dev/null 2>&1 || { test -h "$file"; } >/dev/null 2>&1 || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif test "$rmforce" = yes; then continue fi rmfiles="$file" case $name in *.la) # Possibly a libtool archive, so verify it. if func_lalib_p "$file"; then func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do func_append rmfiles " $odir/$n" done test -n "$old_library" && func_append rmfiles " $odir/$old_library" case "$opt_mode" in clean) case " $library_names " in *" $dlname "*) ;; *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; esac test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" && test "$pic_object" != none; then func_append rmfiles " $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" && test "$non_pic_object" != none; then func_append rmfiles " $dir/$non_pic_object" fi fi ;; *) if test "$opt_mode" = clean ; then noexename=$name case $file in *.exe) func_stripname '' '.exe' "$file" file=$func_stripname_result func_stripname '' '.exe' "$name" noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe func_append rmfiles " $file" ;; esac # Do a test to see if this is a libtool program. if func_ltwrapper_p "$file"; then if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" relink_command= func_source $func_ltwrapper_scriptname_result func_append rmfiles " $func_ltwrapper_scriptname_result" else relink_command= func_source $dir/$noexename fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles func_append rmfiles " $odir/$name $odir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then func_append rmfiles " $odir/lt-$name" fi if test "X$noexename" != "X$name" ; then func_append rmfiles " $odir/lt-${noexename}.c" fi fi fi ;; esac func_show_eval "$RM $rmfiles" 'exit_status=1' done # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } { test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && func_mode_uninstall ${1+"$@"} test -z "$opt_mode" && { help="$generic_help" func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ func_fatal_help "invalid operation mode \`$opt_mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: # vi:sw=2 drivel-3.0.5/configure.ac0000644000175000017500000001655212161412421012216 00000000000000# Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) AC_INIT([Drivel],[3.0.5],[http://bugs.gnome.org]) GNOME_COMMON_INIT GNOME_DOC_INIT AC_CONFIG_HEADERS([config.h]) AC_CONFIG_SRCDIR([src/drivel.h]) AM_INIT_AUTOMAKE([dist-bzip2]) AC_CONFIG_MACRO_DIR([m4]) # Checks for programs. AC_PROG_CXX AC_PROG_AWK AC_PROG_CC AC_PROG_CPP AC_PROG_INSTALL AC_PROG_LIBTOOL AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_INTLTOOL([0.21]) # Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([fcntl.h libintl.h stdlib.h string.h strings.h \ sys/time.h unistd.h]) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_MODE_T AC_TYPE_OFF_T AC_TYPE_SIZE_T AC_STRUCT_TM # Checks for library functions. AC_FUNC_MKTIME AC_FUNC_STRFTIME AC_CHECK_FUNCS([ftruncate gethostname localtime_r memset strcasecmp \ strerror strstr strtol]) # Pkg-config checks GCONF_REQUIRED=2.0.0 GLIB_REQUIRED=2.16.6 GNOME_VFS_REQUIRED=2.6.0 # need 2.16 for GtkBuilder GTK_REQUIRED=2.16.5 GTKSOURCEVIEW_REQUIRED=2.2.2 LIBSOUP_REQUIRED=2.4.1 LIBXML_REQUIRED=2.4.0 AC_SUBST(GCONF_REQUIRED) AC_SUBST(GLIB_REQUIRED) AC_SUBST(GNOME_VFS_REQUIRED) AC_SUBST(GTK_REQUIRED) AC_SUBST(GTKSOURCEVIEW_REQUIRED) AC_SUBST(LIBSOUP_REQUIRED) AC_SUBST(LIBXML_REQUIRED) MODULES=" glib-2.0 >= $GLIB_REQUIRED gmodule-2.0 >= $GLIB_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gconf-2.0 >= $GCONF_REQUIRED gnome-vfs-2.0 >= $GNOME_VFS_REQUIRED gtksourceview-2.0 >= $GTKSOURCEVIEW_REQUIRED libsoup-2.4 >= $LIBSOUP_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED " # Make sure we have pkg-config installed AC_PATH_PROG(PKG_CONFIG, pkg-config, no) # Append GtkSpell to the pkg-config module list if desired HAVE_GTKSPELL=no AC_ARG_WITH(gtkspell, AS_HELP_STRING([--with-gtkspell], [Compile with GtkSpell support (default=autodetect)]), [with_gtkspell=yes], [with_gtkspell=yes]) if test "$with_gtkspell" = "yes"; then AC_MSG_CHECKING(for gtkspell-2.0) if $PKG_CONFIG --exists "gtkspell-2.0" ; then AC_MSG_RESULT(yes) HAVE_GTKSPELL=yes AC_DEFINE(HAVE_GTKSPELL,1,[do we have gtkspell?]) MODULES="$MODULES gtkspell-2.0 " else AC_MSG_RESULT(not found) fi fi # Append DBUS to the pkg-config module list if desired HAVE_DBUS=no AC_ARG_WITH(dbus, AS_HELP_STRING([--with-dbus], [Compile with D-Bus support (default=autodetect)]), [with_dbus=yes], [with_dbus=yes]) if test "$with_dbus" = "yes"; then AC_MSG_CHECKING(for D-Bus) if $PKG_CONFIG --exists "dbus-glib-1" ; then AC_MSG_RESULT(yes) HAVE_DBUS=yes AC_DEFINE(HAVE_DBUS,1,[do we have D-Bus?]) MODULES="$MODULES dbus-glib-1 " else AC_MSG_RESULT(not found) fi fi AM_CONDITIONAL(HAVE_DBUS, test x$HAVE_DBUS = "xyes") PKG_CHECK_MODULES(DRIVEL, $MODULES) AC_SUBST(DRIVEL_CFLAGS) AC_SUBST(DRIVEL_LIBS) # # allow the user to disable the mime database update # AC_PATH_PROG(UPDATE_MIME_DATABASE, update-mime-database, no) HAVE_NEW_MIME=no AC_ARG_ENABLE(mime-update, AS_HELP_STRING([--disable-mime-update], [Disable the MIME database update]), [disable_mime=yes], [disable_mime=no]) if test "x$disable_mime" = "xno"; then if test "x$UPDATE_MIME_DATABASE" != "xno"; then HAVE_NEW_MIME=yes AC_DEFINE(HAVE_NEW_MIME,1,[update mime database?]) fi fi AM_CONDITIONAL(HAVE_NEW_MIME, test x$HAVE_NEW_MIME = xyes) # # allow the user to disable the desktop database update # AC_PATH_PROG(UPDATE_DESKTOP_DATABASE, update-desktop-database, no) HAVE_NEW_DESKTOP=no AC_ARG_ENABLE(desktop-update, AS_HELP_STRING([--disable-desktop-update], [Disable the desktop database update]), [disable_desktop=yes], [disable_desktop=no]) if test "x$disable_desktop" = "xno"; then if test "x$UPDATE_DESKTOP_DATABASE" != "xno"; then HAVE_NEW_DESKTOP=yes AC_DEFINE(HAVE_NEW_DESKTOP,1,[update desktop database?]) fi fi AM_CONDITIONAL(HAVE_NEW_DESKTOP, test x$HAVE_NEW_DESKTOP = xyes) # # Check for Scrollkeeper # AC_PATH_PROG(SCROLLKEEPER_CONFIG, scrollkeeper-config, no) if test x$SCROLLKEEPER_CONFIG = xno; then AC_MSG_ERROR(Could not find scrollkeeper-config, please install the scrollkeeper package) fi # # GConf related settings # AC_PATH_PROG(GCONFTOOL, gconftool-2, no) if test x"$GCONFTOOL" = xno; then AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf]) fi AM_GCONF_SOURCE_2 # # Allow the user to turn on/off checks for deprecated methods # AC_ARG_ENABLE(deprecations, [AS_HELP_STRING(--enable-deprecations,warn about deprecated usages [default=no])],, [enable_deprecations=no]) if test "x$enable_deprecations" = "xyes"; then DISABLE_DEPRECATED_CFLAGS="\ -DG_DISABLE_DEPRECATED \ -DGDK_DISABLE_DEPRECATED \ -DGTK_DISABLE_DEPRECATED \ -DGDK_PIXBUF_DISABLE_DEPRECATED \ -DGNOME_DISABLE_DEPRECATED" AC_SUBST(DISABLE_DEPRECATED_CFLAGS) fi # # Gettext support # GETTEXT_PACKAGE=drivel AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", "definition of GETTEXT_PACKAGE") AM_GLIB_GNU_GETTEXT AM_GLIB_DEFINE_LOCALEDIR([GNOMELOCALEDIR]) dnl # *********************************************** dnl # Extra warnings - even more than GNOME (maximum) dnl # *********************************************** AC_MSG_CHECKING(what extra warning flags to pass to the C compiler) if test ${GCC}x = yesx; then WARN_CFLAGS="$WARN_CFLAGS -Wall -Wmissing-prototypes \ -Wnested-externs -Wpointer-arith" CFLAGS="${CFLAGS} -g2 -Wall" AC_ARG_ENABLE(error-on-warning, [ --disable-error-on-warning disable treating compile warnings as errors], [case "${enableval}" in yes) WARN_CFLAGS="${WARN_CFLAGS} -Werror" ;; no) ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-error-on-warning) ;; esac], [ WARN_CFLAGS="${WARN_CFLAGS}" ]) GCC_VERSION=`${CC} -dumpversion` if test `echo ${GCC_VERSION} | cut -d. -f1` -ge 3; then # This is gcc >= 3.x.x if test `echo ${GCC_VERSION} | cut -d. -f2` -ge 4; then # This is gcc >= 3.4.x WARN_CFLAGS="${WARN_CFLAGS} -Wdeclaration-after-statement" else if test `echo ${GCC_VERSION} | cut -d. -f1` -ge 4; then # This is gcc == 4.x.x WARN_CFLAGS="${WARN_CFLAGS} -Wdeclaration-after-statement -Wno-pointer-sign" fi fi fi dnl CFLAGS="${CFLAGS} ${WARN_CFLAGS}" else WARN_CFLAGS= fi AC_MSG_RESULT($WARN_CFLAGS) # -Wcast-align breaks on sparc and mipsel due to # weaknesses in GObject <-> GtkSpinButton casts. AC_ARG_ENABLE(compile-warnings, AS_HELP_STRING([--enable-compile-warnings], [Enable extra compiler warnings (default=no)]), [enable_extra_warn=yes], [enable_extra_warn=no]) if test "$enable_extra_warn" = "yes"; then if test "$GCC" = "yes"; then WARN_CFLAGS="$WARN_CFLAGS -Wsign-compare \ -Wmissing-declarations -Werror -Wmissing-include-dirs \ -Winline -Wmissing-field-initializers" LDFLAGS="$LDFLAGS -Wl,--no-add-needed" fi fi AC_SUBST(WARN_CFLAGS) # # Pass user-specified flags on to our Makefiles # AC_SUBST(CFLAGS) AC_SUBST(CPPFLAGS) AC_SUBST(LDFLAGS) # # Build the Makefiles (finally!) # AC_CONFIG_FILES([ Makefile data/Makefile data/drivel.spec data/mime/Makefile help/Makefile pixmaps/Makefile po/Makefile.in src/Makefile ]) AC_OUTPUT echo " drivel-$VERSION: Prefix: ${prefix} Source code location: ${srcdir} Compiler: ${CC} Warnings: ${WARN_CFLAGS} Using gtkspell: $HAVE_GTKSPELL Music player D-Bus interface: $HAVE_DBUS Update MIME database: $HAVE_NEW_MIME Update desktop database: $HAVE_NEW_DESKTOP " drivel-3.0.5/Makefile.in0000644000175000017500000006664212161412430012002 00000000000000# Makefile.in generated by automake 1.13.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \ $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/configure $(am__configure_deps) \ $(srcdir)/config.h.in mkinstalldirs COPYING TODO config.guess \ config.sub depcomp install-sh missing ltmain.sh ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \ $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ cscope distdir dist dist-all distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 GZIP_ENV = --best DIST_TARGETS = dist-bzip2 dist-gzip am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ACLOCAL_AMFLAGS = -I m4 ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@ DISTCHECK_CONFIGURE_FLAGS = \ --disable-schemas-install \ --disable-mime-update \ --disable-desktop-update \ --disable-scrollkeeper DLLTOOL = @DLLTOOL@ DOC_USER_FORMATS = @DOC_USER_FORMATS@ DRIVEL_CFLAGS = @DRIVEL_CFLAGS@ DRIVEL_LIBS = @DRIVEL_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCONFTOOL = @GCONFTOOL@ GCONF_REQUIRED = @GCONF_REQUIRED@ GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@ GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_VFS_REQUIRED = @GNOME_VFS_REQUIRED@ GREP = @GREP@ GTKSOURCEVIEW_REQUIRED = @GTKSOURCEVIEW_REQUIRED@ GTK_REQUIRED = @GTK_REQUIRED@ HELP_DIR = @HELP_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_REQUIRED = @LIBSOUP_REQUIRED@ LIBTOOL = @LIBTOOL@ LIBXML_REQUIRED = @LIBXML_REQUIRED@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OMF_DIR = @OMF_DIR@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = data help pixmaps po src distuninstallcheck_listfiles = find . -type f -print | grep -v '^\./var/scrollkeeper' EXTRA_DIST = \ COPYING-DOCS \ MAINTAINERS \ README.translators \ TODO \ omf.make \ gnome-doc-utils.make \ xmldocs.make \ po/$(PACKAGE).pot DISTCLEANFILES = \ po/$(PACKAGE).pot \ intltool-extract.in \ intltool-merge.in \ intltool-update.in \ intltool-extract \ intltool-merge \ intltool-update all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): config.h: stamp-h1 @if test ! -f $@; then rm -f stamp-h1; else :; fi @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile config.h all-local installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-local mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr \ distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) all install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \ am--refresh check check-am clean clean-cscope clean-generic \ clean-libtool clean-local cscope cscopelist-am ctags ctags-am \ dist dist-all dist-bzip2 dist-gzip dist-lzip dist-shar \ dist-tarZ dist-xz dist-zip distcheck distclean \ distclean-generic distclean-hdr distclean-libtool \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am all-local: Makefile make -C po $(PACKAGE).pot clean-local: Makefile find . -name '*~' -delete po/$(PACKAGE).pot: Makefile make -C po $(PACKAGE).pot debiantarball: Makefile dist if [ -d ../tarballs ]; then \ ln -ft ../tarballs/ $(PACKAGE)-$(VERSION).tar.gz; \ mv ../tarballs/$(PACKAGE)-$(VERSION).tar.gz ../tarballs/$(PACKAGE)_$(VERSION).orig.tar.gz; \ fi svn-clean: distclean find . -name Makefile.in -delete $(RM) -r aclocal.m4 autom4te.cache config.guess m4/* $(RM) config.h config.h.in config.log config.status config.sub $(RM) configure cvschangelog drivel.desktop drivel.schemas drivel.spec $(RM) libtool ltmain.sh mkinstalldirs $(RM) stamp-h1 depcomp missing install-sh gnome-doc-utils.make $(RM) INSTALL omf.make xmldocs.make # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: drivel-3.0.5/aclocal.m40000644000175000017500000017053712161412427011602 00000000000000# generated automatically by aclocal 1.13.3 -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, [m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) dnl AM_GCONF_SOURCE_2 dnl Defines GCONF_SCHEMA_CONFIG_SOURCE which is where you should install schemas dnl (i.e. pass to gconftool-2 dnl Defines GCONF_SCHEMA_FILE_DIR which is a filesystem directory where dnl you should install foo.schemas files dnl AC_DEFUN([AM_GCONF_SOURCE_2], [ if test "x$GCONF_SCHEMA_INSTALL_SOURCE" = "x"; then GCONF_SCHEMA_CONFIG_SOURCE=`gconftool-2 --get-default-source` else GCONF_SCHEMA_CONFIG_SOURCE=$GCONF_SCHEMA_INSTALL_SOURCE fi AC_ARG_WITH([gconf-source], AC_HELP_STRING([--with-gconf-source=sourceaddress], [Config database for installing schema files.]), [GCONF_SCHEMA_CONFIG_SOURCE="$withval"],) AC_SUBST(GCONF_SCHEMA_CONFIG_SOURCE) AC_MSG_RESULT([Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation]) if test "x$GCONF_SCHEMA_FILE_DIR" = "x"; then GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/schemas' fi AC_ARG_WITH([gconf-schema-file-dir], AC_HELP_STRING([--with-gconf-schema-file-dir=dir], [Directory for installing schema files.]), [GCONF_SCHEMA_FILE_DIR="$withval"],) AC_SUBST(GCONF_SCHEMA_FILE_DIR) AC_MSG_RESULT([Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files]) AC_ARG_ENABLE(schemas-install, AC_HELP_STRING([--disable-schemas-install], [Disable the schemas installation]), [case ${enableval} in yes|no) ;; *) AC_MSG_ERROR([bad value ${enableval} for --enable-schemas-install]) ;; esac]) AM_CONDITIONAL([GCONF_SCHEMAS_INSTALL], [test "$enable_schemas_install" != no]) ]) # Copyright (C) 1995-2002 Free Software Foundation, Inc. # Copyright (C) 2001-2003,2004 Red Hat, Inc. # # This file is free software, distributed under the terms of the GNU # General Public License. As a special exception to the GNU General # Public License, this file may be distributed as part of a program # that contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License # but which still want to provide support for the GNU gettext functionality. # # Macro to add for using GNU gettext. # Ulrich Drepper , 1995, 1996 # # Modified to never use included libintl. # Owen Taylor , 12/15/1998 # # Major rework to remove unused code # Owen Taylor , 12/11/2002 # # Added better handling of ALL_LINGUAS from GNU gettext version # written by Bruno Haible, Owen Taylor 5/30/3002 # # Modified to require ngettext # Matthias Clasen 08/06/2004 # # We need this here as well, since someone might use autoconf-2.5x # to configure GLib then an older version to configure a package # using AM_GLIB_GNU_GETTEXT AC_PREREQ(2.53) dnl dnl We go to great lengths to make sure that aclocal won't dnl try to pull in the installed version of these macros dnl when running aclocal in the glib directory. dnl m4_copy([AC_DEFUN],[glib_DEFUN]) m4_copy([AC_REQUIRE],[glib_REQUIRE]) dnl dnl At the end, if we're not within glib, we'll define the public dnl definitions in terms of our private definitions. dnl # GLIB_LC_MESSAGES #-------------------- glib_DEFUN([GLIB_LC_MESSAGES], [AC_CHECK_HEADERS([locale.h]) if test $ac_cv_header_locale_h = yes; then AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, [AC_TRY_LINK([#include ], [return LC_MESSAGES], am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) if test $am_cv_val_LC_MESSAGES = yes; then AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your file defines LC_MESSAGES.]) fi fi]) # GLIB_PATH_PROG_WITH_TEST #---------------------------- dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) glib_DEFUN([GLIB_PATH_PROG_WITH_TEST], [# Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in /*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in ifelse([$5], , $PATH, [$5]); do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) # GLIB_WITH_NLS #----------------- glib_DEFUN([GLIB_WITH_NLS], dnl NLS is obligatory [USE_NLS=yes AC_SUBST(USE_NLS) gt_cv_have_gettext=no CATOBJEXT=NONE XGETTEXT=: INTLLIBS= AC_CHECK_HEADER(libintl.h, [gt_cv_func_dgettext_libintl="no" libintl_extra_libs="" # # First check in libc # AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc, [AC_TRY_LINK([ #include ], [return !ngettext ("","", 1)], gt_cv_func_ngettext_libc=yes, gt_cv_func_ngettext_libc=no) ]) if test "$gt_cv_func_ngettext_libc" = "yes" ; then AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc, [AC_TRY_LINK([ #include ], [return !dgettext ("","")], gt_cv_func_dgettext_libc=yes, gt_cv_func_dgettext_libc=no) ]) fi if test "$gt_cv_func_ngettext_libc" = "yes" ; then AC_CHECK_FUNCS(bind_textdomain_codeset) fi # # If we don't have everything we want, check in libintl # if test "$gt_cv_func_dgettext_libc" != "yes" \ || test "$gt_cv_func_ngettext_libc" != "yes" \ || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then AC_CHECK_LIB(intl, bindtextdomain, [AC_CHECK_LIB(intl, ngettext, [AC_CHECK_LIB(intl, dgettext, gt_cv_func_dgettext_libintl=yes)])]) if test "$gt_cv_func_dgettext_libintl" != "yes" ; then AC_MSG_CHECKING([if -liconv is needed to use gettext]) AC_MSG_RESULT([]) AC_CHECK_LIB(intl, ngettext, [AC_CHECK_LIB(intl, dcgettext, [gt_cv_func_dgettext_libintl=yes libintl_extra_libs=-liconv], :,-liconv)], :,-liconv) fi # # If we found libintl, then check in it for bind_textdomain_codeset(); # we'll prefer libc if neither have bind_textdomain_codeset(), # and both have dgettext and ngettext # if test "$gt_cv_func_dgettext_libintl" = "yes" ; then glib_save_LIBS="$LIBS" LIBS="$LIBS -lintl $libintl_extra_libs" unset ac_cv_func_bind_textdomain_codeset AC_CHECK_FUNCS(bind_textdomain_codeset) LIBS="$glib_save_LIBS" if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then gt_cv_func_dgettext_libc=no else if test "$gt_cv_func_dgettext_libc" = "yes" \ && test "$gt_cv_func_ngettext_libc" = "yes"; then gt_cv_func_dgettext_libintl=no fi fi fi fi if test "$gt_cv_func_dgettext_libc" = "yes" \ || test "$gt_cv_func_dgettext_libintl" = "yes"; then gt_cv_have_gettext=yes fi if test "$gt_cv_func_dgettext_libintl" = "yes"; then INTLLIBS="-lintl $libintl_extra_libs" fi if test "$gt_cv_have_gettext" = "yes"; then AC_DEFINE(HAVE_GETTEXT,1, [Define if the GNU gettext() function is already present or preinstalled.]) GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl if test "$MSGFMT" != "no"; then glib_save_LIBS="$LIBS" LIBS="$LIBS $INTLLIBS" AC_CHECK_FUNCS(dcgettext) MSGFMT_OPTS= AC_MSG_CHECKING([if msgfmt accepts -c]) GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[ msgid "" msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Project-Id-Version: test 1.0\n" "PO-Revision-Date: 2007-02-15 12:01+0100\n" "Last-Translator: test \n" "Language-Team: C \n" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" ], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) AC_SUBST(MSGFMT_OPTS) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr], [CATOBJEXT=.gmo DATADIRNAME=share], [case $host in *-*-solaris*) dnl On Solaris, if bind_textdomain_codeset is in libc, dnl GNU format message catalog is always supported, dnl since both are added to the libc all together. dnl Hence, we'd like to go with DATADIRNAME=share and dnl and CATOBJEXT=.gmo in this case. AC_CHECK_FUNC(bind_textdomain_codeset, [CATOBJEXT=.gmo DATADIRNAME=share], [CATOBJEXT=.mo DATADIRNAME=lib]) ;; *-*-openbsd*) CATOBJEXT=.mo DATADIRNAME=share ;; *) CATOBJEXT=.mo DATADIRNAME=lib ;; esac]) LIBS="$glib_save_LIBS" INSTOBJEXT=.mo else gt_cv_have_gettext=no fi fi ]) if test "$gt_cv_have_gettext" = "yes" ; then AC_DEFINE(ENABLE_NLS, 1, [always defined to indicate that i18n is enabled]) fi dnl Test whether we really found GNU xgettext. if test "$XGETTEXT" != ":"; then dnl If it is not GNU xgettext we define it as : so that the dnl Makefiles still can work. if $XGETTEXT --omit-header /dev/null 2> /dev/null; then : ; else AC_MSG_RESULT( [found xgettext program is not GNU xgettext; ignore it]) XGETTEXT=":" fi fi # We need to process the po/ directory. POSUB=po AC_OUTPUT_COMMANDS( [case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac]) dnl These rules are solely for the distribution goal. While doing this dnl we only have to keep exactly one list of the available catalogs dnl in configure.ac. for lang in $ALL_LINGUAS; do GMOFILES="$GMOFILES $lang.gmo" POFILES="$POFILES $lang.po" done dnl Make all variables we use known to autoconf. AC_SUBST(CATALOGS) AC_SUBST(CATOBJEXT) AC_SUBST(DATADIRNAME) AC_SUBST(GMOFILES) AC_SUBST(INSTOBJEXT) AC_SUBST(INTLLIBS) AC_SUBST(PO_IN_DATADIR_TRUE) AC_SUBST(PO_IN_DATADIR_FALSE) AC_SUBST(POFILES) AC_SUBST(POSUB) ]) # AM_GLIB_GNU_GETTEXT # ------------------- # Do checks necessary for use of gettext. If a suitable implementation # of gettext is found in either in libintl or in the C library, # it will set INTLLIBS to the libraries needed for use of gettext # and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable # gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST() # on various variables needed by the Makefile.in.in installed by # glib-gettextize. dnl glib_DEFUN([GLIB_GNU_GETTEXT], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_HEADER_STDC])dnl GLIB_LC_MESSAGES GLIB_WITH_NLS if test "$gt_cv_have_gettext" = "yes"; then if test "x$ALL_LINGUAS" = "x"; then LINGUAS= else AC_MSG_CHECKING(for catalogs to be installed) NEW_LINGUAS= for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then NEW_LINGUAS="$NEW_LINGUAS $presentlang" fi done LINGUAS=$NEW_LINGUAS AC_MSG_RESULT($LINGUAS) fi dnl Construct list of names of catalog files to be constructed. if test -n "$LINGUAS"; then for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done fi fi dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly dnl find the mkinstalldirs script in another subdir but ($top_srcdir). dnl Try to locate is. MKINSTALLDIRS= if test -n "$ac_aux_dir"; then MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi AC_SUBST(MKINSTALLDIRS) dnl Generate list of files to be processed by xgettext which will dnl be included in po/Makefile. test -d po || mkdir po if test "x$srcdir" != "x."; then if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then posrcprefix="$srcdir/" else posrcprefix="../$srcdir/" fi else posrcprefix="../" fi rm -f po/POTFILES sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ < $srcdir/po/POTFILES.in > po/POTFILES ]) # AM_GLIB_DEFINE_LOCALEDIR(VARIABLE) # ------------------------------- # Define VARIABLE to the location where catalog files will # be installed by po/Makefile. glib_DEFUN([GLIB_DEFINE_LOCALEDIR], [glib_REQUIRE([GLIB_GNU_GETTEXT])dnl glib_save_prefix="$prefix" glib_save_exec_prefix="$exec_prefix" glib_save_datarootdir="$datarootdir" test "x$prefix" = xNONE && prefix=$ac_default_prefix test "x$exec_prefix" = xNONE && exec_prefix=$prefix datarootdir=`eval echo "${datarootdir}"` if test "x$CATOBJEXT" = "x.mo" ; then localedir=`eval echo "${libdir}/locale"` else localedir=`eval echo "${datadir}/locale"` fi prefix="$glib_save_prefix" exec_prefix="$glib_save_exec_prefix" datarootdir="$glib_save_datarootdir" AC_DEFINE_UNQUOTED($1, "$localedir", [Define the location where the catalogs will be installed]) ]) dnl dnl Now the definitions that aclocal will find dnl ifdef(glib_configure_ac,[],[ AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)]) AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)]) ])dnl # GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL]) # # Create a temporary file with TEST-FILE as its contents and pass the # file name to PROGRAM. Perform ACTION-IF-PASS if PROGRAM exits with # 0 and perform ACTION-IF-FAIL for any other exit status. AC_DEFUN([GLIB_RUN_PROG], [cat >conftest.foo <<_ACEOF $2 _ACEOF if AC_RUN_LOG([$1 conftest.foo]); then m4_ifval([$3], [$3], [:]) m4_ifvaln([$4], [else $4])dnl echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD fi]) # gnome-common.m4 # # serial 3 # dnl GNOME_COMMON_INIT AU_DEFUN([GNOME_COMMON_INIT], [ dnl this macro should come after AC_CONFIG_MACRO_DIR AC_BEFORE([AC_CONFIG_MACRO_DIR], [$0]) dnl ensure that when the Automake generated makefile calls aclocal, dnl it honours the $ACLOCAL_FLAGS environment variable ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}" if test -n "$ac_macro_dir"; then ACLOCAL_AMFLAGS="-I $ac_macro_dir $ACLOCAL_AMFLAGS" fi AC_SUBST([ACLOCAL_AMFLAGS]) ], [[$0: This macro is deprecated. You should set put "ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}" in your top-level Makefile.am, instead, where "m4" is the macro directory set with AC_CONFIG_MACRO_DIR() in your configure.ac]]) AC_DEFUN([GNOME_DEBUG_CHECK], [ AC_ARG_ENABLE([debug], AC_HELP_STRING([--enable-debug], [turn on debugging]),, [enable_debug=no]) if test x$enable_debug = xyes ; then AC_DEFINE(GNOME_ENABLE_DEBUG, 1, [Enable additional debugging at the expense of performance and size]) fi ]) dnl GNOME_MAINTAINER_MODE_DEFINES () dnl define DISABLE_DEPRECATED dnl AC_DEFUN([GNOME_MAINTAINER_MODE_DEFINES], [ AC_REQUIRE([AM_MAINTAINER_MODE]) DISABLE_DEPRECATED="" if test $USE_MAINTAINER_MODE = yes; then DOMAINS="GCONF BONOBO BONOBO_UI GNOME LIBGLADE GNOME_VFS WNCK LIBSOUP" for DOMAIN in $DOMAINS; do DISABLE_DEPRECATED="$DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_DEPRECATED -D${DOMAIN}_DISABLE_SINGLE_INCLUDES" done fi AC_SUBST(DISABLE_DEPRECATED) ]) # nls.m4 serial 5 (gettext-0.18) dnl Copyright (C) 1995-2003, 2005-2006, 2008-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.50]) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE([nls], [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT([$USE_NLS]) AC_SUBST([USE_NLS]) ]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) # only at the first occurence in configure.ac, so if the first place # it's called might be skipped (such as if it is within an "if", you # have to call PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])[]dnl ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])# PKG_CHECK_MODULES # Copyright (C) 2002-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.13' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.13.3], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.13.3])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to # '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], [$1], [CXX], [depcc="$CXX" am_compiler_list=], [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], [$1], [UPC], [depcc="$UPC" am_compiler_list=], [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl AS_HELP_STRING( [--enable-dependency-tracking], [do not reject slow dependency extractors]) AS_HELP_STRING( [--disable-dependency-tracking], [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each '.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [AC_DIAGNOSE([obsolete], [$0: two- and three-arguments forms are deprecated.]) m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) AM_MISSING_PROG([AUTOCONF], [autoconf]) AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) AM_MISSING_PROG([AUTOHEADER], [autoheader]) AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], [m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES([CXX])], [m4_define([AC_PROG_CXX], m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES([OBJC])], [m4_define([AC_PROG_OBJC], m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST([install_sh])]) # Copyright (C) 2003-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it is modern enough. # If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi if test "$[2]" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT([yes]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi AC_CONFIG_COMMANDS_PRE( [AC_MSG_CHECKING([that generated files are newer than configure]) if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi AC_MSG_RESULT([done])]) rm -f conftest.file ]) # Copyright (C) 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) AS_HELP_STRING( [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) case $enable_silent_rules in @%:@ ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} AC_CACHE_CHECK([whether $am_make supports nested variables], [am_cv_make_support_nested_variables], [if AS_ECHO([['TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi]) if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar # AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar], [# The POSIX 1988 'ustar' format is defined with fixed-size fields. # There is notably a 21 bits limit for the UID and the GID. In fact, # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 # and bug#13588). am_max_uid=2097151 # 2^21 - 1 am_max_gid=$am_max_uid # The $UID and $GID variables are not portable, so we need to resort # to the POSIX-mandated id(1) utility. Errors in the 'id' calls # below are definitely unexpected, so allow the users to see them # (that is, avoid stderr redirection). am_uid=`id -u || echo unknown` am_gid=`id -g || echo unknown` AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) if test $am_uid -le $am_max_uid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) if test $am_gid -le $am_max_gid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi], [pax], [], [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Go ahead even if we have the value already cached. We do so because we # need to set the values for the 'am__tar' and 'am__untar' variables. _am_tools=${am_cv_prog_tar_$1-$_am_tools} for _am_tool in $_am_tools; do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works. rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/gnome-doc-utils.m4]) m4_include([m4/intltool.m4]) m4_include([m4/libtool.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) m4_include([m4/ltversion.m4]) m4_include([m4/lt~obsolete.m4]) drivel-3.0.5/pixmaps/0000755000175000017500000000000012164124030011457 500000000000000drivel-3.0.5/pixmaps/32x32/0000755000175000017500000000000012164124030012240 500000000000000drivel-3.0.5/pixmaps/32x32/gnome-mime-application-x-drivel.png0000644000175000017500000000272211552103106020755 00000000000000PNG  IHDR szzsRGBbKGD pHYs  tIME 7+tǕRIDATX[lUgf;;v[v] b/P"AJDEP- e ewv;s|(T{'3s/]ⶳu򆸣EdOHg8k>0L$e_p?\[O"RNK|SiNc QO-%|ӛb< ?9p)v|#]ɩ t2`E-5>>==,^\[1%O6~r.¢MSP/PFdh֮Cl^@ǎMI^z#>8Ѝ-+B37SP,. LTW^JIΒ|S/kCypr%պHdOB>hJ5Kk(ɛ;_Y,]Mu(Ȇg7PD,|FNHY #Qv}vG<@ۅei•+ VĆ'(,('"a#%Z46511hkdS,!V=sPL O B!*z1ax$s DEEԝH R*y).-f09D2@ݻ'uRy "V>BݖdD"z xh2nB9"'#ݳȱX69rӕ1-Ҙa( RJt]'L1 2BC\`(bdaѳr0pNd_?mIlH)q:̫!Ȟ=8ؘ=;TU"2#w; Ef@u%K(z, !B~novjhX{ww&s KנֶEHNw$ H)RR@:OJ (!ƺ|&\O~i)dFQ?kZTMYU56R"4Mzzz5j]ds&/sNGȘ F;br $T,lx0 ~ft9e:Nhr|IM_^)(U rߏeY(BbMۅ?/ԉPLIYav>v᭴h0МvY:v tTl)%mc1GYڀ΂cL3,]eK px%,IENDB`drivel-3.0.5/pixmaps/16x16/0000755000175000017500000000000012164124030012244 500000000000000drivel-3.0.5/pixmaps/16x16/gnome-mime-application-x-drivel.png0000644000175000017500000000130311552103106020753 00000000000000PNG  IHDRasRGBbKGD pHYs  tIME 8(\CIDAT8˭]HSq9ٜmm1a_f;U lA XEA&Ad u#f٭ , %NQrN7&YA=WrƧ9n[lbDYTPn*t*npsq!T "-+ <+k|vmInUQ\ xً/ O,75Umiee reH$B N0:ܻs3}S(VPq ׹0_L` ͞e3;zI]'v,F;?'@1}ZuI-ǘU9]Y1߉ŋAm"b㓦p8phnjE@rR5O%9] Pi/!=op5. IhoGfb(ʺYdg@ʈ#ddx~"l |!2zbAIMHvń4L%/`)0DG(s HHL%U g\_$}كveۊ%ގ@mTߨg暟w8fF c9M~/Z>_&|udCyw$Kѓ;ήcf؄L3yІ7X-~ݏD^ZD:Klw}6 'nl`ZZ)?>ڬ1{LEE!,E X"x7NZ}\ hvugUe;ߵ%n^E#2N6n Bfl-#d, ZkK)z yB^ [nnsfwZM{=L[{=] N݁\42G*c5 DF 6]0Z⟭ate \ |ڲͤk觳űYozS9`|;G=F҈W|῅OH͝u$pVHXe~x*'F%z ĶeBLaXdsH)(~t}6 ~r;CSbo h|t*#?z+ uxB .i}L짻;3zdϋreU[P}@ig}_,#͒=t]mG2Z|WD?^LYK޼]mf$ʕJEM nPq,ѺJ NO-ͷ$72d%u~l<H5>&aExt8_\kTV-쯦?OP'Љ piȽ T=A|ݔWj#2< 8uxv7_m CLWG0@thd^k  ?|?ׁ;NVž5 t:<%:,e'Scma]hj0mפUN\V=@m6t&eXZG[1'AK@Ik +Y?/xt-`9G[K{)Փ~wpj{૥ +xd@*,׊. ;=`-&y%ݧLg9Ij&0BBeD 3]vw҆5zmOq/*,Po(v!Exӧ1?nb >Ev7}ANػK-,ɢ٘&F)^w'etu\ZfmuzOXlV+'ZCȰp8,\HFպGqv<=/FEy9~E(t 9a*bXG#~ΝsswmAetÜ8~Lo(+[ؾc @v8eJz'(9@l0-o"D"ACYpgB-盘;.)`0`4YO  F~E q_V3Ab莡k^U0d22&Na30#/p8U\&>L,L%w<22իDύn.b.\zz[HkV =NSTX,c>TU?Y|)͗[A4[0[Ar)/[Vٌd"‚yǀz-#MΜńo)**$LR̟c'h$o4z}>6 6+]+.N0I4tTkmmljX3,3 iSEM&?`LI$i,$ w gzWyR}d?H4n>ti:^|CKK㵪u(,EALi5;>"Jg~ûCFJi"iֆ6`4Ů:RZS$ʞIENDB`drivel-3.0.5/pixmaps/drivel_splash.png0000644000175000017500000021036211552103106014751 00000000000000PNG  IHDR` pHYs  tIME6X:tEXtCommentAppleMark $ IDATx̽YlU&{!Pý*TBHbVK 8 jDxA_hu?ЏBHI  RU;c眽Z뜝'3{%C87ny{o}km@D/c{f?E$u+ ;E0,"=E{?@D~e' 9`A聜E6Ao9=5?ro|Z+//|x+{ӗnܝ/;dz+;O=/?|⏮=|m\, {;w=xb9>{I]uN&;wOνi]eӾޢuƘc]1Q{"B'O9>kDTŤӺ+/ꑇᥫIJ|vb,Y6]cE"q"4]l1;wpgo;7_.Dg1tz6"" W_僽ݝ餪+1<q&h1P"0 asb4 "ޘYRCGWOlXQߊ,2`zpRW,0mmcoER( R!(Db==)3'[A0΢XLisTcS1Qv̔cfYUMם˔ԓ&);1Ηmihb)K~ߦ%>:}tnMl0){ފg_ ضXWEAX78+18N0Vp#/Mmx0m,WX?Zkʳ 'b1IΕDԻ,09D$,;bm۶m0E}Ye[L)5 1t:պ.pW 9v+MMvGw|Q PX扨Jc̝Mumb3) zR33Qt f^6m"!b"}g{+_00EDlCw""E`coL6߬t_ꘈ1HUuć labˢMS@JjIJup!0 xjCۙn:BĒSJ1 3xo?F'Q#mwV}s8 jWTg(@G`]Q"@ Z.DI)F}im]lZb1@>cb--2`?Wzpco9l=^vbcY1,{爸mB-XK/>7u1fJֻݝiӜ0k-|1&ԅ# #!$cBԻ FL=Ĕ6~BoB?+D.#_{tz>_*TڅH_FJXbzGg1&1ƴ!Ӎ!>g9TeRW:wVcK`f bP{#q/Hl!1BbR7֘_1B\jr5llXWy'÷g6[햵P[7S1 78@11f0'cR6, 0p1R!X'1DD̈hE۳Lbs)"cX$ǘκ;*&,LbwFxiE  ,y|̛v`SmR*SKP,=ZkѠBǒ#cy: »6$g{~O$׋zKVKSURDbD)Ux`P!a/2{d0Ff?16f.4c1FDb$1 bBPxGn s!K?V&bu]PDH"L̢,ГhQD&1bHMs:mt҅Z$ ˶K^K .@HD!1PɮflcaxGb'n (ՏiAIP>h 4q!L킲]xKb!:(/Rx;*%ff@nW7.Q>37F}h#X2>{,e .6HaNU[gSlFas eYL0ԉ1&z. S. 0F!3`=1s{j~DL, Զf9+Nܺsbr7Tmn>>7;zwg+lu)"z2oHy j a5׆ dUDcsv}?Q =@Z XI9ƍ*b]]Xkj`-=vFlE2l{s*_:ǴİCtgXC"xb2{*5gAONOn]`.c MS(0+GHdG΢h""dQhV5>g g p,b¢f(əy.%ӸlO Vʤٶn БloaͶwV'6d<'NVsxqjUU8lUE΢sZr>͖2#&UT6"nvT$m^<:7B)mZ 78N4!FI'0̲ ܔQ,Ki nVBP[Hv\d1yRQV&F0"9JP:k-ܻ&Ӻ4$HLDd,K|13w!ba|m(ƔeYu_//iU^|[xͺ˲۝*}6ȱC.Dw^y|?;-o9ݜQsh]K3%<9+e7)qEcc P2~tIӦz"5(bQ"`_X 9,,N޻mK9{D䝵P[_ ^ňfbYۤji@-] OQG'"\GCcBLgeE̠y0Rq1b5)EJ)Qr/D@Y-FG- p: ,-|Gc10[T쨈k#lA+R{UUW5ZL11DFqވabDcP{|ND.6#[Q0ŎQx`|U:+֮e@dz[l׵m2{ ٔ3Ea:o~7oϾ|B"Ƙ9_8DP̆Y,[f2~Af!fdfeǔP,4/ΪfmSJ!FkQYLEYY\UUia3`ࢬ 8,MDb ZS.ݝzlceTcoFVW "bWAqlt1SBEN ״cC0FchtӍS=BϹƘDr!~tW~0[g5XP!( lUȺV*ʪϠׯ_~// fakJV - z~L]@OEY9_eQ{~N?w|U)3W/JףּY`@t*h@4;i(wΣї^Lj\""a#ˮdI%Y*hˢN&g̽>}Jm,c-eb"g a z I<72YZz 1φչN9SkJ8(TטVv+u`Y) 8f;pޕe^_+_c 9AT۟8"ZguZ LHA,B@fQE\ኢ(i cYDQ (t{[D뜵ZdaS6d&L2dM) ĉI(˲(1 1>(9X]D,"̪n@LTxm1y/Ȋ Tc!P8-qx;SSXQbjwab?5ka#?tVsGG*gdØ0i3=ݸ(mَnt[!ȏ ]("%20@nQ(7~g?>>>ӏ)5iSYZpC@#/*) ;,},:w-YS=yh+]|DֻdD̩,$bAeM 4=Q KZO-5oH-HQT]r3v2*e!P֡1e,:ߏðOۘa!V1lĽNu'F>f`tHhm\lQ4xxbl6\.?~eY"{_1Ƙ| X4"eQUU]WeYy3&RA'"I 1CE>3O_>[,,؀>K]b:gAWS`o2/FL]QU'@E&u=zr٢u`MY֓zjc"4BL"8pl vİ\uE9tmjΘ5;z1Jd8; Jm~ E(s'q뼾1W1(yY,>Ȫ>kĹID:kb>6s *0CDԆ? i+ 2Ԅ^]\ƶEb0XsSƘxo~䏼saKE]Qu]ޯ{>/|~?>NC(|{ɲKhm]IyC/^އ>hF $6tFL=v}Q Ï\Bk='؟'RZ!qQgRҬZܱGXFТ3m2Q=!nLm9uGFcF=pNir/KF̎p;=g݈R Ud4 ohFT]0IEӷKP"aì! A^WvkpR[2.}N mu {o-_OG?Q1m؟Zb/uu]=x;F]/~|Lel2f#Zj9eY>?oֺpEQ'"зvtr^~'ju{{{O=ԯگ '$ 2D6bh̦,bhR{4"wi»8}(ǟZ~KSEY),G{0[>Xb{lV ۯ"q]`;qTbjf8ja@D35n E-:fP&IpA~yk2ŘbL1Dt!,_xQ7xǼB "1ppp|3V* IDAT7yuЇxM1?;w9bL$>ogg٢-|7^yE7|޹3LU]{O>6 `,j2r9WҬ *1lZQ.#/G1+џu,շWnYJ5bzK=~Yi Fݛsc*ޏS1f}kutL buvQ?IryLu0Ssm_-M^Ј[M4Mկ=BH!ЀBUG"0-4MX6]T*#DRj\7~׻9ݙN&ݓo}~~HT6T78 ˲O= Y|᫲( _,7N5JY5;=:MD岧(G%3]D",dنeeY`LW \T9U= ,wVsM5w2tWZ7t60@k{zMeaM̴%nq LV1I"W3_#j2{ cU/}qM۵m4Mv!??]h׾>|.'uYx+Ѫ}].AcĴl2Af.F$jB&WVN[ڗe5LԚg$Ϲ`Jn xOd HeDTx,#) Ew(\QSGBM1)qt:)֕JgJ^\ bVK$anaqa zBm+XEĽ>+:͘a1 9x|tvm׵]v]b`P-߻UI>! ohFR!;{?v2|7_ֳs /<BLL1%a @]~m#?~`{/\? ۨPmEA&Jb޴AGqr/fRdqoGJ nXڒA#eBo6{-uSd e1Ȣ*ta^lN i+;T{yaƞcPaiglڀCz Փ^~]7y&31a`dž$RL !cLbqBS]6yEb ݧGƘb![|ӟ_韟_p"&9hBैj Z t6뎴܍$8"3S´'́͐fUYLb۝;ǵֺ1 RNn"YAXwUCx?U7uDIH4W9, WW(\ò,|R+s+rPnׄk\ee%((;ZBĪeuHUߍrGͨѬUFxbL]B15橧ޭH1R Q1 *(mUe kF50YB}~w]H)i]yA>Gu}4mw~zb@‰w:_Xs{u^l3/vx.há=klXӵ4_[H [2tsc{ƅͣ&>H`9Uq<`Yv[gk:UImCmg{_vpe#?yO~1~zS2\(WVsZGB0>ߨwB-Yܳ>3}k]3ݽr<+٢B6)vk]ۅD PRqOÁ7.z R^|?$o^x)ĐBT~ϴ{(T2 ;O62rv9;@E@>׾6p\~iڮ:b2C LɈ!է]frAg]@H!fBڶmb$XzbuȐ1ݓys^?;gqReI]X) vAע*#ɤ*uqq#O?GL,YP7خY쫬ͪ:y"!h43 2lkۦbԇW,+ƈG>A!!DC~{\lT)N+cG}^){HJiW ou I]MIO`%yc^5DܙN4Nޝu3x)l7eL6͒1wfDS(%2AEˆ)KnRmXh3Z4B4*i9Jֆ^$8jַ5?NDp?;i?xS?ֵb9D\.8uCNc䂶fc׽ud2??b]M'ui],]G1*tImI[ty%; DBNJĦ5)v,`Ƌh~`;nᘹD "+`LHxY`: ÜEp6#yvOJ,ɭuc#n_{iЭzׯ__a\MsxP'1Ǚ#-;4}dB#smo/xR^RxJg7^~o, cg>۷n/kKiUu=1-bq˪t%u]MoJ!>bu_׳B=<TU7=؛Qxov'v~MṴbwZG|Eǯ~@:y{g&IbF,=Rc fjz>c!grz$Tu}:@z߫pUUfŪpʈzM:eeaZ gU_U={du^+mFoMsJ|v֭~ij>umۮ!0er)شx?m.ɈR2R"Jffk<XTMӦ@Y ӓ}wŢk:F0zXew~޴|3OO#YBnݺ|>ѯ|Hr'"lD//]v͛xo,D$kufܶAD^}rrpw&E]J(UW:UZ}ݣe~[1vVPv$8c/vS%75ldi^SDMS\ 7RJ)STN&J[H%"k`PA/h̘"2l>_.4\jJbQs>} ͷ0qצ墥ڶ) Kh~al>uhgZ X,l4BƈqN"N1E87coCKoPllBCT8YYWqthN]\|qr6zy}ݺ{Rx׉ԕv'e7_4`*"z+,f٢ _efh j|2[-f{fbTVTe+BqV胎A2늢fF; PPn!mY6(8׷2ӦFEsߦPř\Ic(iD-}0o7_i6B 1Y\ΑN܋= ?uDs]z-ۙxD[(Io0F"WmFJQSЀaYy ' 3 I}{ U cgEcȣ;Cu%S)Ř %oj1֞qDf>_\>)фAgS5 0jF 6qN@XH`ņ."TIge葇/yTL)L9/ڦΪ&&bgk&uu;~WW/=:=#iU9Eӕoxl:OOo>jڮN|8eS".BGL?XD1ee鸡{ .ϖUlʢ*dRemcb"TeqpwZEQ ={vch5?x+qlVY 1Ņg,R8QJ z]F DL4 `X OIv: euIU-ڶ1gHZT=j2ziADB/_+;kR* ]}ow'TU233,.1_5TŒh|R姿㏦|]RӑýiBQ»ŲY4l.B+9Rʉ Ta؆f7O7km"$^i|MjcpfEYJx^٢z۲!$D6&MMRJ,Fմ!Rƣ"N'ޤ*i].C،.wNv|5yzY sl3-k4Z"r1%0I}F 1*3S߲YdBJ9Qbўp*iC!DMH %NEjɉ8FspXinA׵ mkeYzCD%ߔՅuaN;{>[2%5c޳|;_,o=}zś%y%&͙\>6ƝD#F]F'ʵSnօ^ܠBJ :IUTe"nNvM)#MgJ86lt!zygRi>gMw0E+sup}1a>mpkq:D$Ĥ g1iX\B }6"F˻ sڕπ;g&Xz1U$CxEM8 M9I:Sv]T"KA uuD۝.dUY(Gʶ e|{3}[ӝiYx00jN_~|NOϯ=toUeý)3דZii]KbgczJfcqdgF:&R옼"pـVԉOZ,?E삳XUө !RF 8؛ b) ll~O -ݰ=V >sF+Da];-<!X)Q(|Ekp-r%ľVM=k3"Z7Ѐ` zä\[:kSCe@*YW9MھdZ:͗m].(7ee1>vowtVŭ;'2ʲ ٢1LE՗~w᯾(ʒSv&?x^ul.!Bү I.[ Z-ʏqMOj b8Q "yڅr,^:Q;rz!E٪iӹ)JDySeQ8D䶛TVcӳ/l.ZD$j5-a_V]zow\M s/޺|[wO9/jaoJIy}UO yqJ,{T^=\.Rb8q0;b7&QINJF94([.[uƘ^}.h:U` s*vah^;uUT!"eY>x0D,D7CH43VRJ%v\Ei7 *҉s6Vuv&4ϪtV_]]ں*g1ޣ8-ME캈eʶ ΢*ٲ*+&uZms6Rkh$6jQk!&m9C YYnSiUaхl !g*Kb+lPأ:Q]`xI#(`o |Jo#}>j͡:eCR":-G]9!evusbL'z9r|r~x{Zhl6}W|ᥛ;; TT{✻zpX?7E1jDOӺ, b 1ygs۾&wxdz):)ctZiDîoo9riڃgdldY[:tAExU*1R yLI'»+^Wn3~8 IDAT7ߙTƘ GO}ǐE 1`;v';weYK$PcawKQ ٢=e!9w>_U ёƠW^cn镆v=%,Ng/߸s{>[>7nu!:缳hleSWN5_b)LڙT-C43SJ]GfI3eu{;٢R"<~cʽ3tfhzއ}YۅhoRlCZ.[MΗvlNgw Vn^rT,!UZаHۥKEݻ'DԴ!caN'e]_yEŸ0W%h"v!FD.S@rݩ6xW?/<=_hUֳn'vΤk s[Y52!JyӢu:w'YYTOfZ}ܴL*f~?wZiu7nݙ-^}-T brN5t(\J-^.6(:KRY߶mX.[cLU]9eKDޖlȤ"U|;zEӵy`W=r׿MӪ,!&J]K"IU!1r2Sg1,uxy&JmڐjAC3xmgKozJJ-Dc?~m:?zgcJk=D,![ADte:)/+5Գ╛uWS,'ʢMhibpe&ZZ-JNdbDf$T:<=;Էԥ1;SPsrPV}֝^/:9,;>9O)]8۹qD~E4pgfgZ&ƨZzP2h.mj\!ri [5QFijrE?Ŕ b"DQPm-6Xw]|iooiog2_,u4j&Oٝ;s̑PURTRPZj ` ?+ 3`FAuLHH5KY1{;3s ϔ(w~9DDLU#6xkoluaBLlc9f)5茒 M?z.̀zeZbrcX^pJݤ#ExYQu=@$I/ [G( ֛ S0)Innk,c#Mg8Z8lgوB[YŽq7Xn k-cz2 F,/FQ((J)5H#,zIpzvΪ0`!o+պ5tP8dáS nwL-;meg%UXi=رe%!R#~kY4_NCkWyz~|6ĺFHhVTidE9M`έRv.gS[+6JN?[c+tkzU79fy6: d\R*뼬( md^BtO@4yj9#ȫ,+1ǁR ZDH Uc2f`jVz>-c:< F Xim9^a!aK{qYՄ!UUƺ Ym kcs(%lRkjY^h]ΗeYƣ~^ԇ{Ӫ{gt{(<ژX Z of|!kh'06J, |J8Q0Ha?C?BB0gl zeU=48%~`)ec$ڙ#Q8gMFl\M!j9;؝fy)}yqQVc~{LFggJ?YڋNM y:&yU7JⰓ@2 D zD^Ji,W& 0yap|Һj?=/kԹXA/8=/\t(#`dƆӀӣiǟO`6B^_/YQ5>gA!û/(YXm㖱ߖj*5)%T7ZmbM_hR 1~̶[k=,o@ѭz{S5WyD^tpw(e!/LJXm |dE=?ݷy#&/ι'NRM^́5]^%h_2Q/8J+esA;yI Z2Kbg9PTTt>}yyjz"/6Y>LeeUOƣ(\hQ~Zo++k0_łnW,n}4LSf[g鋳*+Z`Mƃ !MG'AZ7b؏>6ư1akmaי0̫idB('v'+Buci_<t@:nB֖bԙnx2BJ:}+|U"eQ@&P( ~%!Rf4LO^^n|'TZk=1%"TQTucwq(|E0b[Q5yu+89]2F@~NgcBHYQa?? |3@}zXkU:J)L!4 2 E^Te}ZƣA:%1Y? iYώ_`(jvwFU4֋>$|mhz>Ô]r3bg3檪ݙ/Q_vJ{IU5_%Bg;Xwp)`y(˫( CT)v[K8j\=30e#uu#6y pL$Nmcymmz0 IԬnSN!uB(o%'Yk9uE- | h1I7.)ZF[#P#0?{zMG~׍^֛^"qΕU`;_=o#h?nnӂR%aB*&DŽH)B-%qeqjhy^&q(eߋh4X:=_~yޝ&%lh4M(zﵦ7u[n{3,{KKyK90VR1ڂ1«JzqpGmX$Uh;z{o=w|FF|Z__OsQgN/wrS[7j2J7^u;a!`} u3 m8%Y1@؇X \ڥcmBv6n쭅+gEYe-}-u|)y8HZHDAD{9wh/ºUդI$Q3! .p+2JX0-k (m |΀5[ipj) apSJEQ JӤt+8$ Py5Z9Fʋ몑)Q^?γ'R Fx2|Ƽ8x:+H RILZ[F*#[k ή,}) =\4Z>4&~?gڪ˲gzH|4K˲jutPu1r7 [7!4&_2/Fl ~7@zB.I&i1F9Ȳb\~][ڽӗǧJ~/^G;N.WbpC!Pk Dƈ`tFQ/YGM[;V e?n4F 7 F)gXW |0rMG}9:YW;PT#Γ(۝RJO.QƗWOEBURRJRƒCG!pi 8}@yr1Z ;6MS7"t: 㞒bhdЪߝ9B z*g|as5EN+G!2YH6i㜼yAX&vkSZs=g1wݽstqq5_N{)kf/ Zj?xd4?AFW{#| @1@)ؾbLE)eCsFN!B>:>(: bFALjB8ovBD,QR: IeU#vώϕ6|G M`JQhQxbδJd37zq[6IA {X* ; .lDɎs8a)eMFd`w2JGGW1n^{kwrNחϟ= }Ͼo}?V#)Ãj~rދU W_PH"S&#B(EC)4Gm}NT vx@`B4-'%k 3zkE R^=9c]aq#0a^|?4^l@9uJ0C>sWx0l7.YzI`0HF^__ٟ}'u-(I`~U7eQORhuбFvwft4;AWrF/W$ t&˅TgsGbN)R3~qr;Z+|śZ8=PYń! n(@-\1l#€$ J0Υ([o<|ͯ|3 VMSxxq#_c4 ǟ<9ܟ=z|჻G?ias}^>(ljG(IK$  M=8 73к8-Bڍ{9`2M"k-{q$ SDrce A̗F*TY#`q ӷ^(9>,W$Ee\\-R@#ha. |<Ѳn8%ġnRYJ)޴XJ%r%,6Yyyxb):|Ϲy(l )8Gc4 ,n:|^{zow@X3 `%ֲKk & 2cS!b5_0BWjidx)%/JM#DeYEu1_n6ml]cKu-M-wp$0(&сuރa܋,_/V&dy{i(+w|P[8NnMBBvdųw[%|Ӭi"ZvcY0BP9U)Lra 6@y<'# 8%RDHuӽ%$-!9m&/Z78L)q>[oZ(@i˪>=*: $ )5B⾐n@QR7!4櫌so::算/8I2M6BMXn|gDQḟS]8t6 JX$9TJ NvgB*I?}(m`HZ[c\M˪޶Iυ H^ʊj:*MM^vH);ʲb>}Li/ɋ2+iO{,oE(aW͙lYa?('TJm%x6[ äK 4$gq?R*\-.WE/4cx!k/3P/^>r7{oNg{= v0ȸU릮BU)zq}'qFWu:+TnbB5yU7J>t`S[l.6R\Ig&,N܆ D=O)~7,f~Y-^_VU6Bݝ8ZH٦zc02ƬQxFJ_\uHXm |ڈeT睝?0F:}NmOHBHU7yQC9 eU; ʒ[ IDAT6] $ ֎Ac"/k3|^B1 _Iw #&Q3(˫E֛$ds [ӋyDiLBi3ʊ*˫mn'چ/w~k4;LthY`!?zϏ+l2>}qMtxv9}Yk^G=}XiuZk!,jZ/l1g=z(˲8ʊ*8zp֧O^@G61L(F, 8DhKVFg=vU/u)Fdǘ(mnct.0Bn|f{6c~Y'eY;qN, >lȢ$ ӧOͯ?v}Pc|Xz=ܛPV95[rZ#l֍zƂb/sN Z#AcowcF1ҡHh#{ 0T3k;/_^^WeYq8HJ68r(yʴ>gS+.r 7.($ڙйLäp)aꜫz< {ݻ{ç~2Z5U_<cjNy7)ŠR M <$Ga4KMS9kK[ggd:AX7uY//nYKUʪl"Jp˾?<ͮ]F1bauwMHZK"&/^]?}Ν{P凳0V<٫祃g{~ys笟ga9P`\eaZ7 yf:ꭳ#:-{'kQe )1l [QJC5d_c7BQ뜤uy~8 _^.(ഋh.-WYYՌ1QG|O~ًA8mIC֚3na>W~8p*)02Zݴ.R@( <}V4JRkMSyGBjr~뽝i^^3jۂ%`J^݃m;+V!Dsh ic[*9P2AaNGq^-/oQJnFcBaeKu޿??ܟ8=?;SJz|{D@*q Ҥ 6`A+bj9i \7* xg"cUQ~C9Ɋ ;MG&z559wƃԍj6=z7Hߋc7حy9huyu4eV7{B*u_??ݽRLw~7z9_{p΃~sF8kmYañ(x8=Xo2`!-w}֭b0_}6oma0K8k!7ɐ홨<Ƙ"7mEJ9F}fEyFQFwf,+sbXU R*ˊdXVuFZ[yRFA B=«[X"K`o6ݝɳxuBQ`Q"!L5:+ cZ YTcG5Fއ?YMQ.FޓgB n>ji'I|MgKh7p⪬JJ?8Vma9 TP+*$JCi&Q-p8a%Ъica|F`þx㳹u'miD۴GW1@sRFl2XmlZy_d`4a<({r~g??B`Ykˢ,lUFs(:O4MC }fړ@`uZ(]$ PJ e^^9D]Zk^[nG2Lx@yoRHohog*rg6^ F=t|uhC`a^/6q^\%;p;)O5B6~~ka!,'\I!kIPU1b3R6,hC8Ίb:~|6P ʪΊߋe:ܟ=%"Tղi,d VJ ixm8,م8:|<(" #haA3@޲հA"#W7B'O K H:wyS($!L:3j\ @8զ(+*w>`wQdR:[+IK !GwSREWg h(!<~:BI))^wb%a1` I8p6MRP9 uϥh x89yI`K<{1ۻEsHٜ_We|(ˋ^/MF: !ZBFƸVnW}Ӛc ߄`jgeE3ceU䧟nK I2[IYCW!4u@T:򢪔T8=f7yy~~ my g/ϯo>3)raw~x4n mKB<]}lZ Z*}6y91഑!['0Fr5!9@%`*[#k>ykw.a\epQXSLdkw|6F$+L|BM2B,0 5u]+ (rZ~ݿ_>ty}&D}yyuҪN+VF6k6W0 #ʬ*hlTgO=ϋ( ʢ(Zx~|/wwgyQQ<(V ,a#Qk=g mwk (ݍu~<fB'O_v|h`뜳% LE\ί82Ɯ]Xk{>9 !akZrsp/Gz#ēR9IkɈun`49W2nm;/-vUbkcXk1[*h`Bo `8Y荅sc Ƴ:&i3(酡XVˋB|ܛ _wf}ф1VUU]J+L(l`X3h䠜iJ)9'7_r~'<0M]Ck躂 u]k}}H5r|oZ]Fe�d _!!`L&%A7!RBf"cF)u9[|Npo;?{b-oΜ1 1@u^jKΚ$ONN_uM)=:؛N@l`0ϒ(!0< -|A/^m.GMH -&e3'BQ#u1&!Y} T{&us:?[j 87U&p8ىcch)(lt(4+?%(j~}qRUMY^8RVsg {i/!dLGu(momzkoBm^W6Y:e5_~L9ڛ>y1&ѻoƧ&y'Bg/vӗwgG{yQ6`g9\6lJHEDJ/,QٙMO^SJ8Lh[7W:kjlބ`l3`(Mªk t#%8Eۮu,My:jc:CM^2FsJ)l:ly9_rF6(F63G^9cF(m~F Ū*RJjq} Gٝ'gMI+}!Uo~m0EQ #D(%^][{*VJ)$TF+ctԘcR ?Ut @Ұu~TeQ˫eUiZJ {bk+j%p7/8wg,/^b!iõt6BхP:0)[z@q}~|㳼f{$Bx;kU]!zZ瞇>}z huxr&  c>3JB8֛a4ˊnj!=im0BILYx-`+{W{&/]g%Z`$3_ TL>fVZ!,GhRF!NV( [{"&/>ܛ (%.|z`4[-. $)R/Ϯi5mӈFݯgI!:!XI9:^EhcQB^QUY i1hdQxE_ RJ~<<29G1Ρ6 m,9c^ĜsF*׫UUsNP4ɋr8H7YQUb6,/Gg׷((˲W%mԺfra;/WWfZ֗l{e($ƣyWu#kx^^]FqTWu7TɇWRɓd08~{R4bϝs眷p (IsQw{o|}󼪬3Mwf'N!6!7Ѓ靣O??cE%$yh`=QX+9M!T8KeD1&/k=jF~o/و<9a)@mΣQԍ.goZ'~Qy^YkmSWzn}k8G* Jiø[eZ>gxt4 (#c y0#ι":%L7/fn p ¸2Z! 8IEZbԽ$7Rxx)gE%w_ cQhUY|~{IE_0ziRESarh~?/O>{CJ/W˗_{3Ƥh>;?<; jR4e+c2c lf&+ZIg: P9筥R2h6p[-Qh I(.΅^w||iQFa0.8R, úƚ$IO9gi#^[kQtM ˪}Sעߋ9ˍޝCXk] Q<}q;GO0n$Itq9M/N/Y1騳` ,`0Ӯ3ޭק{7*2Dfk'痋ˋj2}| X s98' j3H(](`׫(}# w n#\?AD46lc~ Z2oZN_}|FXJ)ESWeY8.O?7eWgG{GG}}gRJ)Tl:9؛?^/go?aKѴ5Қ*7Z"&Wg~cZ~@3P]PB8\p; PEG]\1P˴=}PHeAq0yqI IDATeAQCYQYPVu3 ..пQH_8 ub: vPhTB8($1u^]!auU7K{qYV3sFOϮ6bnZ+UkogMD$.O?{7Vy=Zv"$߽}ϴփ4Z#3%|Dԝ ʹnZswڻbs^ (ºjJI!~F:" F^ :^hu@W۬}Π$ hj艭~/^.ݯ}'#*R6fygUwy{gv89gQRK'S!Di^hM g1aK&#dydga ZkS) <~.| %EUW.ofMʥ vIK]KyJWHQ1i^R9i5 h(qyYTpA;< 9@9RL %R)m,Hvnwn(iCs(NVv~r;`θa{s7EIB`VRZkQ"A[Օ+cuĭIkB<10`1Zkb}K̀FkY:(hz.b4  Vn;~圷Zc, BtDh0O!괥6zӔ`,ܦNYEƘ{8cϋ✮ xARWO_]ܽT*6{9Bhcmx2y$EH -pfiZclYBRJ_Qw èe*&T֥eNN#N`(ISA miLDQ>{;cH50e R(Ɋ* .ީ ۭDJ1‚ZVTR(tn}{ti{=yQ 3쵓8[cR4+_zo:=xF411@~K9Y1S`umx7 * 58A9[88:!UJ@RV",Ӎxp:OvV,/*bz xO6V*|ibnuG *PCQfbRts?ɏd2[F F B5BK N& g@{n kM08Xd)m iY^@,ٜGI J5(cB[>vxIEIՂ |:.FuUZh:fRF&4g iEXqju]EȲJ)!E]ՕF ƫ{kkJV'10‹*˲mKIc'ms}VuwKO+O+h}e F2&40Cc\eyUT?xa V"0#n2[>=~aJ)-E>g4!K Ŝq}n9qkcggd2>\o;Y qϿܛo ȴs"4!XR.€ZV5i'Ҏ |βrZC1v,> 6W)ۗw{fpCwlbPY<H WnwzFP~*(_Мse+@qFU^ ðRѡ**Ve6[Qhagu~giw8d\%>} EsYSu]kYk0Z Q)gv(Q;=Ohueh2>6ŴRIȇE]17Agm.Z=хb=pbԇSr:zFJjdNtq+i:(@ .gpuܥ8It6~uz%iur.o'q !UQVEYA{H,/Bk+ív]T?@PKp!SQXVua| : IR;h[Iy^ӂ6]]i8.oLl~Ͽ @>DŽJ:`]5\{44 uu1Ƥ ! sJTR"REQh%a4EQJZSBL&! Q,2Rִ BxMc@Z)yUUUeQW9dH:J8iUB*iav:~YZ w`"Sc 3Ҫj`SL>y6T .(ZVee#zWnk%ݧUYxw1FwujG?Zt6{0Уai-;v(,ʊ!n@"<2yQ 7#=RzZHQڀPZK 8]v9("I"x[{N&k3m4!6[k)M ;4 a-|)ʺ0&a cJ ay^Q I#D%R+iC.ZʳTAaZ&ͧ0 ZEU NZ|"1H)yHub#]EXj ($6M9/&adΉZu- :ydw~ce2]0JzVU W'hOJFDZqﶓ82콟t6u; 'PcXO1\}sխ_xbko1/{[klv;~Jb)$lu4ͳ8^DЭNK'@bpL*T/{s@`M: x0mWe5aC민+M3ld3yTRe! J x'B`5Ou]7' F RRBT Q(=y`,TW9l(saF^sə9!Z*jaB j !u]eRRU.89(/nY~t2iY^ԣAmzZOshdzt;{mKIB?+/_Ƅ~+ʼn &6pD]-_/ys>'矻~G Hv0w^]QF/_<YxhNA 5WD@Dk̢{Tc *j>gndSU1m}QK.)l9۔6H7OǤV"YF! h/G{;Am8+7+%T]W%<㌓0&6L t{{OIGI~Gϊt1 Rpa3w͌A+@?HQ2j !,txG#THyslLӜ hR!pzJ7Hhi ukv+lmDTPB(qEZpFO映"IlL9+z$qTc-Ӳ=hTGJic >AhC{'b'eUtQR,Ͳ:yjذ9:b@MHE)GT(-ΫY-lCCY!)5 V$qD);)`L")R*B)Yvs{ҧۛKYөp00&\:x" %>eUgyYUb^I8FBfEE Y /KJȠc6i^յdEt0(VՉVB\Ga0͕T(~8t;cf"+mNf sZH/*!izk(Ҭ5qKJ% cCh-dEQ ZqK_e .nZF"1cTC)1"o1>}v;m@Q"_]bx2A_a6ad&r>urX4?mFO",=>kwdq0PJ몐BBl~g]QRc)|ruU0EI&}B(!K%Ysr|{?y 4AG|):+QW֚'d:3^4=e JpQ^g>_XcfLJeSJ>"~iY4{; , 8@S$|[+0 X+sv:K{@vZ^ {sgajŽn>N !2/6IȺP&vs-=LJϴt6][`?wNiu2cRAmHq !:7w(!GcgmOyYUB"`JtxG16 84Zw4^8봢ۛRii$x)e_;u)Dy^]fF+<ʸK,c!Е| ckxŔqkL(N⤥ֆaHw֊VRBv}_'+Y#WCmjR;z%Er* |bBt>OݶfH=ØJy:^iWUAQR*(j%SAWX}.~c{vz0kXD#' d_8w>gF:7_\uڭs[k^' FTz=+*iJ_y0$ιW{ǧmegֺ(Ji ▒Rÿ'ɺN'xfUA')$Fc!t|2}:|shm%1lش1$ a"Jkֹy^X !RTP)~V{_4wls6N~u*l>3Zy]yP!8˜DIҎ[nwBh}Txs3pT몘NWV+T.#6!BԄH`696Z+&q}yn`;VBJ%JZ-0&b~MGy Npe @Zi)vΞEBI)ii%7׏O& jyNHm5, e-Zy c!y^;Qhk'Q^Vֹ8 y *dcm$_v>W眳ȀϯfUJYneu-7^xpW)E.=}eQ6]j1󌵍:)@:@#䉺&U鬝O.|es4CNֶ.a<;ٯ?\h坚|D]KQEg ŽJHah6ژ$0:/JQ 1c[cd>/(%~KiNഗm!̈́, 휻vqxZϽ|izK7kF06e iBƘ2#;:EQu-PZ+h؛Pc)1JkZ6d88kc!RJIcc4&DHA^k{93~i@"3ـYj2HgGTunk7_cy^Eɺb6>.3)~yUUǓϙrH UUwI4 ,/B8 jr^'vt)A>9)Ach܋7W7Fkqo]7\;%9EՂdRqh61Rm](icy:ֳŔ.SN TG00L$L:~DIKIDx.xs_puɃy /߽{7SJ򌱄^mfA$Ft2>kr# &Ax׹~'1ClpJ)2VHEZ;gƌmE0t(m$+.!x2OTֹ͵"+/oo\yK/{d|}jU(!c}^#e!J_zgs?ėselqVEf8:w::\b~QK)e}?ɝ+_Z'ZߕR^+>wիd<,ZIڜJFʭDyVUUl01B@aH6>пVhdxG^QpNj@M10tp>{~bl9%ZTiW!܏V"8YNż(fTq^U-˪mt4J)k]eYLZ{^҄R2>R lCElQdyI)i'1x<[x^}FZ1F+n۾2]v(!PEۥrXJ蓏0FIұa1 iwӓlE/??ZߞO|k0[֚~ s/1_,lc;v@ruZoW>'GGG¯<} T$6B0&shB4/TAW1Rk}#B=@9OZ&6[/Ng( 061aS( ιKvNur6qgк*w7]H" !%%?g{̴6hm ͒sq@Rƚe{D&>cyP8ku|-,ϳȴBJky㓩R9W5g#T Ub4薕'Z(QZ1t:OR/+} lh<ϓ`6qyYURk>VKWFs=QB(r޳A Aάm]*Y⹥( PNgE6/҉TYM)cǘDq7Xl^EJ9Z8wū0y(ixu?yhͭmh_~W^OޔJFLh/^}_F>|"hc M19K )9'ZdEۮj3c!!h- %l6Wo48:9RA<{N+/N?߼凟|tkz _g䏮_uc2\d2Cw>^>~`OJ"zBV iC3 鲖`!< t()S&c.yZơeUOvN6~k/6mUeY),rfy77|rxrrePSQ%P@`||>;oZqou64]|ɰs(}RXoF(iHI<7;٫(ZI)"WJPXR5$i>]QSSG0J G40fZ(֫*LQZI}ns?O`:RJ8¨í 7lyEIsl,=Z;k5A#TE1h%`ut|ϾW}/Q,%x:?2O[͇J98J'GwaWM0ok/W?{џۯ猱vLf %c܍W;V%R'ICic fR IreN N`g|1!s9<??; ̂{<Տ=?{N׾p6xܯi_7ZUy:tZK%eEYuUhc 0>YBj X}rCPū[ae Ķp4@;&5di8!dm8f8JTyZ[γb9M*KKzpRUBlj<-VBQ gR`YaؕkcCèӎz{ݎYQUKqB˲<I+V+pΣV(՝ힿ\s!d-)uUJY[k_oVEv8No?{oZ)c1T+ `ٓyc+cKۻ?x~`k+{IgF1/e_|?٘ݼq;wARp2[e *.?8\b,gBzcQ( BA9_M9|[5Jo}gnv]~O+[W._wί}ۏ=*cm'EZ2 }QGwVFݽ#6pAZD Xty-*k%Q ZgN"BYk[Iގ_Ooﭬ ;ot1@lĒgb>&b>ThܙUVΙfᣵZ˺%['PA4x %[Vo/xɇw?qvJ;W? 4J5eP*3Q)xQy_˜]zs^YC0FC7Z #22%E{]`Vڧbcõ+o;?k_}w௯l^zΟ;/+?ݟҳ`6.=A8xH)ZFWp: ~;n8Qj!d!G|wpmx ϵ;}Lѳ ~ |Yح4<΂B茡 >cLSy<7j4$ȳZ!=s;` xycPRڳks&-UP]$`)hι4+n'( i^.U`bzG9EY>rsj\΃(@,"ȞM+h%ŃޚϧQΏAhe?{tx2quޓ|w/_F?ڷyVrsʤ݇8Cgs0uuwyB5х'cB~t޸}ß}+99MS%eUeQ&60DŽFhy[Ge-A$Z”&cO_|( ``JBiMQarFg8p!o:_9ahkiQJu6GYJ)D{,!x$k)C-q&f-}Y5a,BQZ_m42 fd-4 gYBQJ>R40"=M!€5sX:T% LϗrZƙb)dpqFVp!c}*7;>Nvmw'GѦl>iujuB(s2H;J k4#8B˅toл1!Fc1EG/vڸչ0iw~W9H[dg$:>wRk'7Ttcˊ @CS`D S?|삠<eBZe*E >p>Muv+89-#B8͝!##B [z1ƜS!Tƃm+!5y 6x{Z"ZJ-G#R.S7y!0F!I(g,H[[| sY-(+ntۭ2Yr뛛ƘÃ'nƭW-ɃGowdtW.nU Nɹ ?v+a0$43 IDAT! aqaLe]9D(lDeh ><<&I 7/}!%ŎJ)߾|e _ooҕvʦQo8c9-k}ֺg)ELs%؞ 7[QI;*e% EY R SVBQR RZk#R{2X6 !{K M`))ys/Si:#2۸wYʘ4i>UvREUT<@svQ0s3kɎ:;w|ZQwnGIQ5ҌLI٣Q7aLcHK!lT{QoطV o\NfuU CzKs9p On?s(eL(%hu,PJxkˡv[FQY^DR2&v{g{kyan~LItKWn;zhb|cݹy47=}`qiykIns>tgn1FNz"_XG)[X{Fl1J6Y!T>s>lsqEcwD1[Y^Oc\yم/ymt΋/fǎܽwRbw.(yӌ3BicRRx)Xl`ZyR,u|#0 ylmpwcZB;R_jr@=#\̠v!bCe%'ZLޢCgGG%|<<~ˑI#$r휷.(8>c 36ڦln/8Ýf9YB@:~@@:Pk;vd(TEᡡuJfhS(uNL/,,͎;ZᙙǏ"ysY;:}uB8cӧ}~Mp266z<m,O=3]G,o5qgL]$.]'qsrb}wpu^wc3O\n/SJ\:i~kv޽z{Ι`_p9ҔXf#F-l({*Lݮ桔Ƙ{(-!@JmծU@w])>5"g4$0N<fyFR7⮂$x|x_^6 w$xlU"ւ5]sp0PihsƜ7YV3&W7Kl7F,-e:`YbLx NۏBiT$lđ" s|}{vuZBz}݅+z:㟾yʛo9 ͍nK΀ӛk~srǁ#l'32A)\[@%R=qaBY#JiTyk[kŘQi;-ݹrז<8wKFh5s}͵ko:yBc-@`ΕrO^Xqaf"d t|z9b;29tpsoܺ4~n]ݻ&/)m t}SoަLӍ}\s0x2rc[QYB+wf'j$صg=c;Owή,wccRKΜ8u¹w_d}o e+=vkkyx㪼EJ,Bȇ Ќ'ުu:P46m 8VƑBH!p_;]$31=|YV6 QJ˨R 8Jw^pFrרm UD£n Bᐺc6HJ(6npu-sB1:Ԓw>+`4iD9TQJJիj3P iK{ zsh ޸qciem۳kΉ~?~k~iG:ūg87_?rpϵ:RV3_\󋫏zw/"ӈH0õRkKs7wN{7:hGB茌s!s\PA;v7kρ.te+wsfeH!G qڍ[wW֕6Vn^[2j8 `-TքnI2."{~uRf6i଴0iF)-.9Bem!!)25z( ec5k |cP^@QlJf<2e¦3"<3@#.+tmwK J`#DyPDL̟KhډϜ8.{>)kki^LOS^O)_\Fwً׭u'xummcy޻0K >w-L߳clx⭍{ԓO\vP 4~g._ڵsb'Nfo\ݱa]{ Mfo^Y?kQ<26T*[]^Xsŋ>{n/E)S4:(yKq Κ$$:y=r|@JWT+Q@G?PR3qEu%IB @}y^QJ{D%qJ2B f\eky$ Cp.֢֘} 0;T7"6ѽ|uLc˫w/*^\^w>s~ƝB[~8uǟo8玝zndljmeimeopgxr׮5Q)e$t{9?8*/GV7%/[BF)aPslDI,Q M([GltOBpK^\y 3.L ,ZZӸb}!ɃQ,=8`bNrIf•Skbn㔞BpƁkFF4Զj7 w|^.PGAvAfJ)9u#s%'a;V@('B;=!r&Iɰefy!(qߺ©Ju9ZGcy;׺,@q/?뜳K98@G('fh%_ 9{\Yq`ѥgx_ @}ETwOtvH);^dȄniޞ=;ڭ1#RwW7z1c]iGUqFP_:>}sO=vk^҈Ҽ:llt{Iim90,ܾqbow 6ϟ}[}ٳ3oݻO%6li7 Bf7W҇(m^>4[3?L1n1uBi 6 ZCf* g88gB27yes?m;LJ'_:ׯ_uQʬu䱔@D1)gjra?c%.ZV !2!qECe? iڿz{E~_LLN޾( BPR:IǑpJg!f߻T1 P2•p e*36(>2'|X]={>~=L􁽜эnR=rdFwpJ1Bوc:Nd,M >ruf9{? _r_ՙ+^tƴ1({ՙt|C]p.J<兎#qsl(κF,\ƥƘ,@1N&3EsՈ#sZH@6,rrQB63B)gK;({H{BPB {(gP{8Q爳x^DR"Yp`01xB +șEl;C#$Fxg4("7 B1L{o^W%,Kͺx/)y!&8wndPQ"8 mzٛ3N wf̵Mcӧ+\\9î>QƄ2c@ Kj8g)s J !x{W0&2ƹB0kAiE881 BʯdY鴲Clp>6P΅(q8["))G PiXY _p8H0#wVun31>꼃o]}O[y_r޿{swƽA+Z)AV3A:wI};\_zzWfN?q-ڭ;,M@1x%LbCq!XR !H)s΅ZزjyF#. )x99P=qVMGʨ;K)c~sGgy>6<<:7igC?¯--|)̇߬,/}3K/VW/]8{ӝеz_[kOznYvܙ ˲zO?p0,Ϯ__!AdDB?Jo;>qv[oJ3B('N>tͅÇݛr:OP:u.B:{cL.R8PM1 z>džwᬻ|1f]y*w/_::2L䫯jo:TrPk'lʍ(;fnޭjz!g,Kr\V0BHTq(WF6Ɩ\G|_f^h1xmlnU}h86-źoL(%|!Z,#ι^%hI1(qjxl37ܹ}q7ǂGJ)4Ei1Fmw:K7,/.ܺ1#>3!7o?8}䅏{wn(𑣷oʲt'~և_QÆF|}ʹ$SJ{c_ԧ{7c犼8w'N|eth;|aVOUYϙ֨ZM a 0ڸʼnc4[\\~PgdhݺbMqȡ;?=uq$X nH6su 1m,ZO][޸5]GΊ 8c"u!>j9TG 1h78B,8N pݪlE(R)d5q:s%,O>V,EN=އO=;}#ǖ)qD*cP9BJ)֛ͤu4͝FBi?5}ܽ;Օ?Wj~?} gΙ3e3g}cٟ~++K~#'߿Cx(;w\wLLlBv:u}#8R\|Ux8U2</~Qr! 'wō; IDATsrwܿ L0 m9팕G9|BYS$&!iL^k6fcmme!B N18Zc_+:# Ƅ,kR.(bdd kh}7Q4$PCD!]h &7u S[coQ qF-!@0zȑu5ߌo>6>~駧 iտ|~ꅊH"68eg1@{a|񄐹L;:܉O<ޗLNN5[[GHc*5Z' T[0I|۳> I(]3,&avzMi4ZFRsZ#>Zb:+ 7{SL-!2}haa*"ϒfK(cȧsRͤkbdqe+POMkr,/'{"If/{IA(ͲZjjw ,{:5X%eɤn& j6;XG^1LQJ8 EE8%ٴ{_y;w2ʳw/=ΟyMc,<ְ(P5kD-A%}>ʻU71fbTx)UmI#rl&\(O|j^3!yEgZ+4IQƄZk $Ms fkmĹ3}i eWO\:HJ@sY8J+$XoC2A]RB:G"Ճ!Pb )٨lym r+9 5D+e,Z-x@==_@gOSO?4{6ȑڷzK8絶zya)8cU}`W9J-J ~3#_ڇ>r]nu?s?|[w"Hg[l6Zv.l2ښ>l-Zm~h f>x<\+M){7b(j"˫ȋ sXgCEQl1f}g6kkׯ}gyaX 6\9 L(c4xi^ PF fRZ A!Xʸs.4P)g ;DYPa"u1tRv+V+tVF+mvRR kcseVYG56x5ߞ֖ePAvBR5ùY!D+I|X$#)$!D+I#QZ!c+#yEY $D  79;ȀDk]g_d(Z$;*x{/d\boZ+DĘE%:mlÆnlwXc\:!Μ  )$J#@˝AoЪaQ TʶhPF\m\呋ly駟K>)u'olF*rnl4mYӇckgԖGَiRʼv#nY^B1JcC  dif3ƬI3s(ˋ#Ǡ ")j3nJ5V)JጢF:_~LioYK|]5L,&cX񗖠ܠjZ`T%G<!>@ Jhm)cDdB޽s?V6޾}eu缱&h7AHY ΑY 84NZ#3qohH$++(qcbP!>B% Bݰ#)XpNY#cW\wKc)eg>{ޛ7ol |={}K8yVoYj׾?c,cBQ _|^7>z>͍ .KI/+c>w7ٯ/9rML$\%*8cs R\~ߦ9VEgG<7osV r'znߺ#@ן~GO=~ܹK.>$sgBΝ='_"0О7/^׵/,̩{CӇo\O꥗_z|G=o)wFGGꙜْ5H)S~!_{4:b\ӂ!FҰ6/&ϕ14MaC3,NHj(R+n 8xჽ8( 'M;s3C`GM&Ma'c:0l~TsNrG16LJ`CVo&p{^,u\4͑օ B0/Ǭ 4k-;lymmғ!x8ւwJ,JB)=aEg@<e:k5BwjWRNqEQ!//D%ۣ+jEQ/%ur 8`I X!a{8P!8:BY;q,T1FFqH[) [c!('$H7T-j=B|ZJ0QP yJi}ݷ2c}9BHZ" J 2WJ㞒fʇ@wJiHZ8s1ԡYPSlAOBHKTj7 Q^H:41К3NX;z&<+@r@p \ / # sEJ) Z1Jp5 H2i$E*jcQZ3 777$UJByArˇZC4w @\im6ѵV9sFfZJc fCe고KD?ydwtϊY>s#vs.byeZ+c \ T|/Zw:{R5%&)[kK=$\y^c1 * W._B>|| $8uEQ(1k6<<(m1mt4 :C]iz!婓'wƢPwYeq?u8$"U՟q y{{CHbygn{k^1v}[ۮmvl4PFݚ:pp#EmۗC?'ۮmS-Y۰t ?\a;@,fRRl6`q|Zi+Ys@CCCRCz1yc C~k=ͤA:|zq|u<.m>hnj`+B+c4}㵿ڿgRvk׾V֍VZ<@`6ƬovBc4#)EhK3+__~ɝo᜝8qK_WyO}'M[ZZڷoZ[ЃgL{=VO Mb)/(yp\rε*(;*TiRTnGq1q z}]O%|rOFsYʸw1B[fsN*S:x}p>w_z#Gٻ7M3g˲RWZ{q89o<ʹR:ˊ.sEQE<8kѽn;O3;uh`߿vmTJ9kw~G?ǎ:4}굹;vgh $9;Ɔ'Uo<ЖGڭև9<#n{s_tóa!X`I" q2V5a%V2:m0")qFJcn.$W9V+*R8Z1VngPjӄkQZA.`G(ډKyZyᜥqH !*򥥥& G >bWvf 9?"hc;KBs/n -!>+T qv97ƠSsN;P{2[kQ N륕wxX1J*n[q$X898BHpVX.(wy٣wg<@jArU |PFU(!JR͐8~LF?(o޿~t'qNP}FͤsN&-!dYQhc,rlpFKk18=8oK|tdU ZL[ @v G¤Qb҆¬wѢ@+p;R47J!")$@S Ecå y( Jג(O X$'ꜬVCV ;at  .jj(:vXTgB~ꐩ9O)l&jtIlEusi]z4t*)DA@|[PU-ƒJ4WH Ψ 4sJRѼPȈJԶ-Jbxpca}јׄѲ=>5W-|~/[qY6˷UkJ(Z!~6 7jq\}L5bvf<<#j&sAIDAT+kcjj!dXPqmQm)mPg)ݕpy m)p2 ?P 1Y~Fu[e4uv{K|Wi&Q=AL8k>624A_hˑeY܈CZTsF4֢b_eTXY{OJ4WhiWK%s4(Q9-l!hy&ջ 0W:+4gTp62 >XqU+賄NJPĵ!TSh1_J~ubu6 xcՉ}Z[~GݴtǏ_{@4x+TYBycw`*#Pƿ`Ԛyjj,* [851:>WCTx :R>y^(쨶 !0w^D"TժJ+j Vu=0.7WWf2k-jb%K(1mcLil~)e %!2 "au6I)Eҥ)g吳,%gB(j3(9]C `0?+,/+HJ@Ҷԛn:T~$^><(QûGk M:hPŷ>| @(vpC.w5=RW>G  8H),߳IrX 0L{+Su^bf1fO׭{9+_dc :l d3Sc\ B> m4- S׭l,qZK@̪H,m `kLt8. UN/ i8}bސTVIXK9Dj':x `̷oqХZk_WА" y8Q|u0߯վ~x}NZ> X߮Io5J'm7^1"w<^+)wN3;ESeOeGrr?@5Hger.RFY;@fmA33$_[X @pm4U_ΙI)0BI){H߈zQⅮV9}0xN Bt~lq%dJZO0i%ǡ1AJ N@@L?4/]cIúi<{?X ^úxLH d:~LJ}8Z.Kj1-  )`9hhj))&1Rq۶/%, 1==_a7|to+8绱8XWჿ}Vp^Iᠤ+)i 8˼ ؁wv;t}SK:]۸I)%p Z9z*}1[WMw]\4/u P8Ƭ;;c].u@O+Ά˙%P>u/Ԟ2{45mD9n7;fjh FESRwC?Mo.}bygֺgŨvZKraG@:xiЁR$Cӂ6Lh9D:]^0 d:p*(\^],}ʖRv8DڌzbDl#U^TP3ݩ"ڄ8m}=- kՏFF ::N~7rο{89kcBjNf!R:[xa謳RI\ ! =Ǖ0`:O"6uѐPޚNIE–3$-y62Ԫ 19VY]qF(qۈ\YuׇPSHk%^4IQ\&L}K+~6kc]XJ^}qW)*]]\Hwvo՝[cgXYX!q:ӌ$ཟ{40d唒2b3m;'v~B80z-m i:oXʄ 6lQxʉi)h#(p.Hɇf{FTӝ-6p#s kR8. EON G.pu㰞4nTfmuz9hQۍ[WA*o>&C.}6XoBJ,RJ[ c]~|@Aƈ1 ΜX$l~ CM@I ̜+;ߵZkX7%i d;r)V .blAÚ쁖 ^bS3% 9ccp !6b9e\Ou]wG@ɟs$WE, >N#xsB* ڲ(Y}gtb3`L }:7O4󝪪 H.9HE]FEǍUJIطәncrλqxwT)áh7ycs:sr)VbCumELJ cl7vv^x^s*kα:oU6Ex2%b/@-4*h94a' F0BĔYPr)TSTaB:ONkv.`\Gk}~Y. bBtx90n7rڷG')N̔w.vyY@Lfhdr[۴EZ .߶=)£[dXse{ӷ]7͚_aW~1Vk=/F+)xYÊRPa!J @qlt\EXPuk`Nb*2(z@؛*Go?N ՃwP4  Km0lιN1= ݒ\ juNu/%ԋtT\ Fg:KW/pc'y)p s^c1=yH?ϵVC4S___;@nGl}{$Xl{Y2ф ,6-|zLD_De!bK/KĔ+2圥RIE+[$.T7"R ?!)) W!]88@gޟB<ۤFZ-l~q.u<Ѳ%vb$K c9?wFc;k]WKb@J0o^a~?.2SJ-2#)6e&|ι,Cnak- lN ,f j/e9 .P !THGB c{[$wY۫mB Qyj2ӖnP=Εm+OAZ . CXk9/Wo>9swmgC^cR '塶.,k޼z2o0:vVD~BiW?|7tZy10G[OIu> R:4y'?"GG>5&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = pixmaps DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \ $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(iconsdir)" "$(DESTDIR)$(icons16dir)" \ "$(DESTDIR)$(icons22dir)" "$(DESTDIR)$(icons24dir)" \ "$(DESTDIR)$(icons32dir)" "$(DESTDIR)$(mimeiconsdir)" \ "$(DESTDIR)$(pixmapsdir)" DATA = $(icons_DATA) $(icons16_DATA) $(icons22_DATA) $(icons24_DATA) \ $(icons32_DATA) $(mimeicons_DATA) $(pixmaps_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@ DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@ DLLTOOL = @DLLTOOL@ DOC_USER_FORMATS = @DOC_USER_FORMATS@ DRIVEL_CFLAGS = @DRIVEL_CFLAGS@ DRIVEL_LIBS = @DRIVEL_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCONFTOOL = @GCONFTOOL@ GCONF_REQUIRED = @GCONF_REQUIRED@ GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@ GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_VFS_REQUIRED = @GNOME_VFS_REQUIRED@ GREP = @GREP@ GTKSOURCEVIEW_REQUIRED = @GTKSOURCEVIEW_REQUIRED@ GTK_REQUIRED = @GTK_REQUIRED@ HELP_DIR = @HELP_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_REQUIRED = @LIBSOUP_REQUIRED@ LIBTOOL = @LIBTOOL@ LIBXML_REQUIRED = @LIBXML_REQUIRED@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OMF_DIR = @OMF_DIR@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ iconsdir = $(datadir)/pixmaps/ icons_DATA = drivel-48.png pixmapsdir = $(datadir)/$(PACKAGE)/glade pixmaps_DATA = \ atom.png \ advogato.png \ blogger.png \ checkbutton.xpm \ combobox.xpm \ community.png \ doublearrow.png \ drivel-24.png \ drivel_splash.png \ entry.xpm \ feed.png \ hscale.xpm \ insert_image.png \ insert_object.png \ leftarrow.png \ livejournal.png \ mt.png \ private.png \ protected.png \ public.png \ radiobutton.xpm \ rightarrow.png \ tray_livejournal.png \ user.png \ xmms.xpm mimeiconsdir = $(datadir)/icons/gnome/48x48/mimetypes mimeicons_DATA = gnome-mime-application-x-drivel.png icons32dir = $(datadir)/icons/gnome/32x32/mimetypes icons32_DATA = 32x32/gnome-mime-application-x-drivel.png icons22dir = $(datadir)/icons/gnome/22x22/mimetypes icons22_DATA = 22x22/gnome-mime-application-x-drivel.png icons24dir = $(datadir)/icons/gnome/24x24/mimetypes icons24_DATA = 24x24/gnome-mime-application-x-drivel.png icons16dir = $(datadir)/icons/gnome/16x16/mimetypes icons16_DATA = 16x16/gnome-mime-application-x-drivel.png IMAGES = \ $(pixmaps_DATA) \ $(mimeicons_DATA) \ $(icons_DATA) \ $(icons32_DATA) \ $(icons24_DATA) \ $(icons22_DATA) \ $(icons16_DATA) EXTRA_DIST = $(IMAGES) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-iconsDATA: $(icons_DATA) @$(NORMAL_INSTALL) @list='$(icons_DATA)'; test -n "$(iconsdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(iconsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(iconsdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(iconsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(iconsdir)" || exit $$?; \ done uninstall-iconsDATA: @$(NORMAL_UNINSTALL) @list='$(icons_DATA)'; test -n "$(iconsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(iconsdir)'; $(am__uninstall_files_from_dir) install-icons16DATA: $(icons16_DATA) @$(NORMAL_INSTALL) @list='$(icons16_DATA)'; test -n "$(icons16dir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icons16dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icons16dir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icons16dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icons16dir)" || exit $$?; \ done uninstall-icons16DATA: @$(NORMAL_UNINSTALL) @list='$(icons16_DATA)'; test -n "$(icons16dir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icons16dir)'; $(am__uninstall_files_from_dir) install-icons22DATA: $(icons22_DATA) @$(NORMAL_INSTALL) @list='$(icons22_DATA)'; test -n "$(icons22dir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icons22dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icons22dir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icons22dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icons22dir)" || exit $$?; \ done uninstall-icons22DATA: @$(NORMAL_UNINSTALL) @list='$(icons22_DATA)'; test -n "$(icons22dir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icons22dir)'; $(am__uninstall_files_from_dir) install-icons24DATA: $(icons24_DATA) @$(NORMAL_INSTALL) @list='$(icons24_DATA)'; test -n "$(icons24dir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icons24dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icons24dir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icons24dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icons24dir)" || exit $$?; \ done uninstall-icons24DATA: @$(NORMAL_UNINSTALL) @list='$(icons24_DATA)'; test -n "$(icons24dir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icons24dir)'; $(am__uninstall_files_from_dir) install-icons32DATA: $(icons32_DATA) @$(NORMAL_INSTALL) @list='$(icons32_DATA)'; test -n "$(icons32dir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icons32dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icons32dir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icons32dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icons32dir)" || exit $$?; \ done uninstall-icons32DATA: @$(NORMAL_UNINSTALL) @list='$(icons32_DATA)'; test -n "$(icons32dir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icons32dir)'; $(am__uninstall_files_from_dir) install-mimeiconsDATA: $(mimeicons_DATA) @$(NORMAL_INSTALL) @list='$(mimeicons_DATA)'; test -n "$(mimeiconsdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(mimeiconsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(mimeiconsdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(mimeiconsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(mimeiconsdir)" || exit $$?; \ done uninstall-mimeiconsDATA: @$(NORMAL_UNINSTALL) @list='$(mimeicons_DATA)'; test -n "$(mimeiconsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(mimeiconsdir)'; $(am__uninstall_files_from_dir) install-pixmapsDATA: $(pixmaps_DATA) @$(NORMAL_INSTALL) @list='$(pixmaps_DATA)'; test -n "$(pixmapsdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(pixmapsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pixmapsdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pixmapsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pixmapsdir)" || exit $$?; \ done uninstall-pixmapsDATA: @$(NORMAL_UNINSTALL) @list='$(pixmaps_DATA)'; test -n "$(pixmapsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(pixmapsdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(iconsdir)" "$(DESTDIR)$(icons16dir)" "$(DESTDIR)$(icons22dir)" "$(DESTDIR)$(icons24dir)" "$(DESTDIR)$(icons32dir)" "$(DESTDIR)$(mimeiconsdir)" "$(DESTDIR)$(pixmapsdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-icons16DATA install-icons22DATA \ install-icons24DATA install-icons32DATA install-iconsDATA \ install-mimeiconsDATA install-pixmapsDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-icons16DATA uninstall-icons22DATA \ uninstall-icons24DATA uninstall-icons32DATA \ uninstall-iconsDATA uninstall-mimeiconsDATA \ uninstall-pixmapsDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-icons16DATA install-icons22DATA \ install-icons24DATA install-icons32DATA install-iconsDATA \ install-info install-info-am install-man install-mimeiconsDATA \ install-pdf install-pdf-am install-pixmapsDATA install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-icons16DATA \ uninstall-icons22DATA uninstall-icons24DATA \ uninstall-icons32DATA uninstall-iconsDATA \ uninstall-mimeiconsDATA uninstall-pixmapsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: drivel-3.0.5/pixmaps/hscale.xpm0000644000175000017500000000133611552103106013370 00000000000000/* XPM */ static char *hscale_xpm[] = { /* columns rows colors chars-per-pixel */ "21 21 7 1", " c Gray0", ". c #7b7b7b", "X c #d6d6d6", "o c #b3cece", "O c Gray87", "+ c Gray100", "@ c None", /* pixels */ "@@@@@@@@@@@@@@@@@@@@@", "@@@@@@@@@@@@@@@@@@@@@", "@@@ @@@@@ @@@@@@@@@", "@@ @@ @@@ @@ @@@@@@@@", "@@ @@ @@@ @@ @@@@@@@@", "@@ @@ @@@ @@ @@@@@@@@", "@@ @@ @@@ @@ @@@@@@@@", "@@@ @@ @@ @@@@@@@@@", "@@@@@@@@@@@@@@@@@@@@@", "@@@@@@@@@@@@@@@@@@@@@", ".....................", ". +", ". ++++++++ XXXXXXXXO+", ". +XXX.XX. XXXXXXXXO+", ". +XXX.XX. XXXXXXXXO+", ". +....... XXXXXXXXO+", ". XXXXXXXXO+", ". OOOOOOOOOOOOOOOOOO+", ".++++++++++++++++++++", "@@@@@@@@@@@@@@@@@@@@@", "@@@@@@@@@@@@@@@@@@@@@" }; drivel-3.0.5/pixmaps/rightarrow.png0000644000175000017500000000073511552103106014303 00000000000000PNG  IHDR bKGD pHYs  tIME).tEXtCommentCreated with The GIMPd%nAIDAT8J@! :>b(nڢ""VڂR}2ŚVj i;s˶ΪKȸ{'O<lZ K/7 vT k;=v})T(_2@ #2g[0J'G՟Kh`ϏZhH.0e`orz>:; h5Om;a* $,Z THMp=fB >ޯJIefP 4_90]"7nf`7IENDB`drivel-3.0.5/pixmaps/leftarrow.png0000644000175000017500000000066511552103106014122 00000000000000PNG  IHDR bKGD pHYs  tIME+ tEXtCommentCreated with The GIMPd%nIDAT8ԻNBAol;!ttV&IGB#cqD0N2ff/Mcb}9ƒƔp { "W0PqS` TIPFX4`WXT='8/D'0Z .Cє j]u. 7t WL6. hc.f%#3/qҦ91c.^#LVa 4'w4qDۧNX\fӳ2tڇ_ʈWR)~IENDB`drivel-3.0.5/pixmaps/tray_livejournal.png0000644000175000017500000000255611552103106015507 00000000000000PNG  IHDRw=bKGD pHYs  #utIME728_IDATx͕kle[ne-c] pe1:6eQ!AdQ!&lᓉ[b"hHL `Hm0[۵}懲 M|<'Or_rGkG+-챽TT5q18FR@?HAѣmxO+Xa"}h8e_p+aZl=iZ\NP^3kG{hj M5Ȋ?" DYi}*j3IBebʻexzV6nڀiw_kg '%d\6Ջ$8#IZvdYp#޳_ArFg9|@Ljq CCT8 9ڥPtΫY%V2e2\@Kf8yK&^碪ldd¹#1z?w-l_<МSPH}CSRRBx4Lϵ+0Jj8Quլ'SiE2WuyUsL==$|q̫$Oxr>H  yܺJ& _zWwnt3)G`%CzڏPS[M:l}JIj ]jD4ny}m-w1JnWX_ZlYÏaZǎ2Fa*,`,jպ~@F " Y"r%5$8c~u-X#;G߹o\1 0Vn iEt8JhMQ!g^*4̙ꥵIcR"ߵo~*QPꈍ'dD2<]ia@T$JntS):ΞEUU%M^έi/HUqpO(xyȺkC ć@0ͨȩϬFXiPgA@uLhU>eNTifp4R@(  $$B$~n]FݡP}c*J^DghFmžg$#T_"KK0''_M{fZ;psnjz>O-7c)@ 'NNX hs\;L,pr0/*tW}q実Ο6[=>IENDB`drivel-3.0.5/pixmaps/community.png0000644000175000017500000000077511552103106014143 00000000000000PNG  IHDRabKGD pHYs  ~tIME+/1IDAT8˕=KBaWH!m(2oY' h jɡ>@} %JP$C*tz>7y/T%w X3NKx*֯KEqzP8XIx>{?cr8 j TC"ISBH-R J*!4: lJ0ށ2`|s"MI^}+J__S)uI~Srcs;vWkyw8~94 @4.(WRu-Pn9? bxP %EJ'xzvI$2K;ldD9 dm_s!53tZFydIENDB`drivel-3.0.5/pixmaps/22x22/0000755000175000017500000000000012164124030012236 500000000000000drivel-3.0.5/pixmaps/22x22/gnome-mime-application-x-drivel.png0000644000175000017500000000241311552103106020750 00000000000000PNG  IHDRĴl;sRGBbKGD pHYs  tIME  5A>IDAT8˭oU?ZZڍRm6cdb@ƀf 0<" 1}0bmlckvڕ@tO+=Ȗ2F>{<@RSVc#hAT0IVs@Z;TlNC>ilɟh\.׿UmW oS4;\S]B9WIJ!u:q0SQjݢ8 =^Mu7 v8u *OGԖ[yxTQ !߿G^V$]봂Kᔨkwl|#|KcjY%|Z C!v6r뮫wy .(\ni9n5)z Zr\_lMU"O_f,V zX]#{Jwݦ+4Gp0_Çޔ %R/sZ 2O;T:iZEْx(Tφ6?)$WjIK)ǧ˷x]U% Sx<jPdz.T4j `}M9߼t<^HRe2i4lхqM۷N ,V rb#y?OOO6^G]DL p u&bQYS%G3%F6}O` ( pW mDQjjq:q1 En (Bɮٙ\V~Ɛ\Bg,/)h4X,FE7oɗwϤfoX4-͑d4Z/ldz#%2;/ ^kY/MYo˻VsP 4tGL͇ZA4Ҡ埧rˠUZ~1@L|̏GP b,7dͤD%D@ڋ @PR(W8ooN:) ZJIgV#`B|_"t}Dzo*LrT/iOLZj\\c* H;y˝9hZG~+RfdЫC26[~@E|6cz#a=MIENDB`drivel-3.0.5/pixmaps/public.png0000644000175000017500000000120511552103106013362 00000000000000PNG  IHDRabKGD pHYs  tIME*9IDATxڍ=hQ7oƐX&aMa f(2TT2`cR Vb/A!BBVYNvvvgka"ͭp}缣8\ >:xx811qP( ~9==}sdd Vc󧺞9r?|> bQn!R; 9p"s7uW͟gTOXX1Vc$5ז>'''ή*g /"NVBR˛'^v1`H2C#P:ll0wQ^ 1zD t%4-Kmݴ"X 43`M M޲Z̒L 2w5i?Z!343_)INf,d(EZ;x(N ` FLQhFm p@'(IMv`w`[oV87$xk@3U RsbIENDB`drivel-3.0.5/pixmaps/user.png0000644000175000017500000000067111552103106013070 00000000000000PNG  IHDR;mGbKGD pHYs  ~tIMEz$#)FIDAT8˵R@?5WȘ2\aq%p%>%#@KIVтZ2ng{Y8V GDLDy"%&mAƘWdT}t֙+$M+DXkhYe#\p7eRnb}6N"w mTZQJ>JD))]FւJ1I:D.@nҀ?M;߇}UwSa TH'lpq}`=|}u;'IENDB`drivel-3.0.5/pixmaps/insert_image.png0000644000175000017500000000103111552103106014547 00000000000000PNG  IHDRabKGDIDATxڝ1ha/wREJ!b]QBq 8 "*t "f#AC,A""%R>XWP 6RtEhJC|hTP(6Q[qzyj};'g,@ԩ'f WKLL{4Aϰ8`ڱ;wޖgN38˩tEꨧ zQ׋TvU3U]nWҿieNh̙;0ӽA*Ds1N~Ovqw,*G'X4RAE,ӺZyoroBMD ֫4L >OPUdbWN1N뗿 . zşrpm`yW(2Rc`W$ $տow ՚QնnW._F(zCKh`iF@o׺Z1^KҦ-PoD%( *rFZsϳj8?_z +Gߎ3$r5~0 XL0iWUQO)0NO{ %@}BjbX"@b ƱIENDB`drivel-3.0.5/pixmaps/xmms.xpm0000644000175000017500000000461111552103106013114 00000000000000/* XPM */ static char * xmms_mini_xpm[] = { "16 16 113 2", " c None", ". c #5B5B5B", "+ c #DADADA", "@ c #B8B8B8", "# c #848484", "$ c #8F8F8F", "% c #909090", "& c #8A8A8A", "* c #646466", "= c #1C1B19", "- c #0C0C0A", "; c #B1B1B1", "> c #1C1D1D", ", c #1C1B1B", "' c #1E1F1D", ") c #141414", "! c #1C1D1B", "~ c #2B2A2A", "{ c #0E0E0F", "] c #060605", "^ c #080806", "/ c #4E4E4E", "( c #0B0B0B", "_ c #1E1D19", ": c #242320", "< c #252320", "[ c #1C1816", "} c #3B362B", "| c #4A4133", "1 c #3D352A", "2 c #252119", "3 c #C0BDB8", "4 c #1B1915", "5 c #222222", "6 c #222017", "7 c #DAD8D5", "8 c #BAB7AF", "9 c #696457", "0 c #3A3226", "a c #464030", "b c #B8B8B7", "c c #151311", "d c #171717", "e c #030303", "f c #221F16", "g c #463D2F", "h c #534A38", "i c #B5B3AC", "j c #373024", "k c #3F372C", "l c #B1AFAA", "m c #6E675C", "n c #2A2A2A", "o c #050505", "p c #201B15", "q c #3A3227", "r c #B2AFAB", "s c #625E55", "t c #DBD9D6", "u c #393939", "v c #070707", "w c #BBB8B5", "x c #453B2D", "y c #4E4533", "z c #463E2F", "A c #DCDAD7", "B c #443D2D", "C c #C3C0BA", "D c #BEBCB7", "E c #D3D3D1", "F c #B1AEAA", "G c #D3D1CF", "H c #191714", "I c #353535", "J c #070606", "K c #D8D7D5", "L c #D8D6D4", "M c #B0ADA8", "N c #2B2B2B", "O c #B7B3AD", "P c #BBB9B5", "Q c #302A20", "R c #D6D5D3", "S c #B7B5B2", "T c #5A564D", "U c #504735", "V c #BEBBB6", "W c #DDDBD7", "X c #6B6659", "Y c #A49D95", "Z c #1F1C18", "` c #5F5950", " . c #393125", ".. c #383228", "+. c #322D22", "@. c #9C9A93", "#. c #252422", "$. c #67635D", "%. c #5B5A55", "&. c #6F6862", "*. c #62605D", "=. c #817F75", "-. c #737269", ";. c #939593", ">. c #040403", ",. c #1C1C16", "'. c #161511", "). c #151412", "!. c #090807", "~. c #151514", "{. c #1E1C1A", "]. c #0C0B09", "^. c #121110", ". . . . . . . . . . . . . . . . ", ". + @ # $ % & % # $ % # * = - . ", ". ; > , ' ) ! ) ~ ' ) ~ { ] ^ . ", ". / ( _ : < [ } | 1 2 1 2 3 4 . ", ". 5 ( 6 } | 1 7 8 9 0 a 0 b c . ", ". d e f g h i j k l m 1 2 3 4 . ", ". n o p q r s | 1 2 t 1 2 b c . ", ". u v } m w x y z 0 A B 0 3 4 . ", ". 5 o g C D j } | 1 E F 2 G H . ", ". I J K 3 w 2 g h B L D M b c . ", ". N o } O P | j j Q R S T 3 4 . ", ". n o x U V U a 0 g W X 0 Y Z . ", ". u v q k ` ...+.q k ..+.@.#.. ", ". N o $.%.&.$.*.=.&.$.*.-.;.>.. ", ". ,.'.).!.'.).~.,.'.).~.{.].^.. ", ". . . . . . . . . . . . . . . . "}; drivel-3.0.5/pixmaps/insert_object.png0000644000175000017500000000117711552103106014746 00000000000000PNG  IHDRabKGD4IDATxڍKq?wr]聉$ŀ%C ũ8[g%E:9֥k]WH-&CC.1.~w>{0)@>qBd\.˃; \C$QFtFض%JB#!$h60 5t!nIQ*90M)%b9_t}yymysFBf2IJ‚m[VUytt$b϶mfb"Чv׭HfF..A1cYTYYy(G[Ch"{G2iqzsqQq0@c׷ V^qsVW7/può4Z[<}tp@y_,..dh .Iph}`cD0^3??v^voDTB4TU% Ce٣ySSSʕ+ItuuمebXf.0毟.ϞOopJ%/B(~1>7#Bƶ)F,0tLa8QUɬY3_STQܯٰn0&kc3iG5n@d=i4ܴV<}~$&Y<!6L> 0XřXp8{GB$T2/k9Gm\uNVP1v,Hgblx;P93j2ɶίƅ2}`0ڵk~h€]40 ,\ӴA=6E/qa#mMuu 5L7w.&*p E}v|FGggWQsp/D#34 G4=²K.]*mrWDc1|%%TWWsMM\uU,jm/o܅˩왟^@ x y^fϞM:ʳY?˲%xkNknb.;[XZ%'JwQRƲ,ɓ'S[[G$9cRDf4Mۼ0 *ce+7♇Vb|bX&J˙SedUzP  y3?Ns2Mp8\ᓯ̠g/ﺖvM4fږL*ש-|1z#(axyXH$zF 2D!ø?R&w.OY>*߉qY8o%;T XKVkHiӦǎ=#CTb_@4DBIo-EGw?=6+#\?KؙAEcZVeASSn{6J7G$/ϼ GATlӆ0]a(܁Pm{xܜwyD"+߼')[JL䅇o?n¼^OPuaYֈӴAu?~ ) /&(*tC ;2m 3nQ^fɜ)"!$RRȻ(+3z9UUUR"dbA9+重eeRn^3҃ M2=Ebf.ryRy(28N'NA,}ȰøݞlIU9+JRUU(=EUP7FU(/( y i*]]' zbQ݈b}!aL$Ms`~xUUb=q=ȰL&غ#ƌ_[;o=^Bd SN%Jl~wmǻ Wnh!HMT3( N(D"@zcI"pas0l*MI@g`ޱ༭I@3g$ (Fk+q8T¡(; I&R,B벁 [OKx?XRU@2Ö{JB]OȜlfƝ&W\u/<;vi:~`(--K,*dbX Άw>fny1禼}{{A.5[MXn `n CcgzN SϩLXA"7q*ƖQU=ІbHFyÇ?㳝H;"$[Kw ̴m4ja\2&UƢ(]p]㭟rILZMyy Lٿp{NX4Be֨:ʩ%@vl>CS2{6Kf+p;4Q`bX&UcʴjNv00܋go_y,%HDP &UP#XҶ%BG`_a60t  x\jj*ٹ )3xōFoZGU&Bٹsƍ2͂'@5<' .E2D7-C~R7+3_׵ThS;K>o"JxΎ]D"1+.6vGs hFEXx$`1,bnu\wB6S@Q:zX"s߭L0V,`9u,^:6?}O՝5[o\d\:7ݼU_[(ftުb1Edg+oMwa'_T>c oA.?Őju6-Khm>ɑz&ݥaےx;;Q8`o(smm|WMá&z뷴w O(h*&dSGUU4iT˲PU˙J )F⹜)I4MC vA0ߡij6 .C`/-z30 z{{H$b:Zb !ow5CxoƦ}@HJpX8@/a(;b~3hZs8-_2 'dp8"$Е|sXe˾7O;/eYXEWWW i3n̾r5DFo*b&}Qf mF)z7`(N[,pBM%wRTlTbhm`$O֞& rh8viiIqfmP(H&`8\ޔJ%nh_.x?W# 5w:w;w5mD ֚|ք1jo| y%lZXkP(5U^-|boCAlHij*M_ztt{x_}jH(P\yD,6b9XLbMȵK\Oޝ HO%n"1X~!&&G!R 5.s)]vP$@~fuV}&uFx&?ʡ^c1G,dD6Q916ฤJ{ZcmVIENDB`drivel-3.0.5/pixmaps/feed.png0000644000175000017500000000054511552103106013015 00000000000000PNG  IHDRabKGD pHYs  tIMEIDAT8˥MN0FT]\N䞉9SFY w]!!x+O1S+ "8q P{ȃ;3HDz'"t}u<C fxLfv}ՒBB</9+A^ 1&t \z@ǔR<Ms#D_@v-;}3ۖiB3/xTk (=>J7r&yC) `b"IENDB`drivel-3.0.5/pixmaps/atom.png0000644000175000017500000000252611552103106013053 00000000000000PNG  IHDR bKGD pHYs  tIMEPIDAT8˅TYlTe̝ΝVP-[i(b 6 JE#1C BSlE*;CD0@bKim;v̝}=prr<15>ll_(YV2Cz?4h;#QqERX^p͓ϚAV43yo~ uH/QEFoq95O51z,G;iYI0/XFy\HQbSi$cǷ|~?am]g,ۨ>qa>6DҢ;ӱon>mWy@ێvkY9*!3$"W9H—-P2lM7Sz$2* sff0 ^H`l"5)U`nPE힍AĉzyՔ4c~p{{Bs4+j|Q4;G/5_3BhaoBdWZ ,Kr*DQeK_păE!u_S:ÄǢ#~heͷ"Uụλ)j2:`́b}p P즖9y Ƚ!5-n-dEf[`Q} g:D Aa\)'aZNmW$4 E+ UKS [HְzY,NʸQp`0C4ֽ/ ˍmN쌈.;[Tq@?>r-`Ċ)h[+Qz_B8'+Wuma&1w^V^z/\eGxՔα~,}|`N+TJ˺3eŗ]\ڋO 7$I +v_LCjm0NrRe*~?>:@pAQxBGLJCF}ۥ&[! 3֒3goPPT@@O=lߵM=3Z /IR8q8+|<8ˀ!Mb^yZ2r2 ]`Z6ZF=A5NM,BwPQ4.re󁫄 DSBMק^fdĢ֘C:XRHփvݨxӓAFb PIDp#' JֿGSoTJ-y/IENDB`drivel-3.0.5/TODO0000644000175000017500000000305411552103112010406 00000000000000TODO ============== Misc Features: ============== * add friend group features (create/remove/edit livejournal friend groups) * Fix GtkRecentEntries support to restore ability to retrieve recent entries from all blog engines (except advogato) * Fix GtkDateEntry support to restore past-date support in LJ. ========================= Targetting at Drivel 3.0: ========================= * background authentication - bug #162680 * Use of new GTK+ 3.0 widgets: - Verify clipboard persistency works - Desensitize music sources that are not available * Each blog client tells the user what is happening. - partially working but needs improvement. * Use the GNOME Keyring to store account passwords - actually, that could be a bad idea - tying drivel back into GNOME dependencies when the GTK3 transition has removed them. ============== Brainstorming: ============== * Modularize UI: - Goals: 1) Simplify code, it's turning into a royal f'ing mess - some of this will happen naturally as the remaining code completes the migration to libsoup2.4 using GValues instead of manual XMLRPC preparation. 2) Allow the addition of multiple blog APIs in a simple, well-defined manner. 3) Modularize the blog subtypes so that users can select a WordPress, Serendipity and Drupal subtype of MT. - MenuBar: - Toplevel menu, includes items that apply to all APIs - When the journal window is built, a method is invoked to add in API-specific menu actions - Entry Options: - API-specific options for the journal entry need to be standardised. drivel-3.0.5/README0000644000175000017500000000171611552103112010601 00000000000000Drivel is a web log ("blog") client designed for the GNOME desktop environment. It's compatible with a number of popular online journal systems, including: * LiveJournal (www.livejournal.com) * MovableType (www.sixapart.com/movabletype) * Blogger (www.blogger.com) * Advogato (www.advogato.org) * Atom (www.atomenabled.org) Drivel is able to post and edit entries to all of the listed systems. It can also list recent entries and delete old entries from most systems. The intergrated editor supports syntax highlighting, spell checking, and shortcut keys for HTML formatting. The latest release of Drivel can be found at http://sourceforge.net/projects/drivel/ KNOWN BUGS AND ISSUES * The current architecture is horrid and tied far too closely with the GUI. The journal editor should really be reworked in a cleaner fashion. * There are a number of hard-to-trace memory leaks. * Journal API support is not very modular--a plugin interface would be much nicer. drivel-3.0.5/Makefile.am0000644000175000017500000000251511731022721011760 00000000000000SUBDIRS = data help pixmaps po src DISTCHECK_CONFIGURE_FLAGS = \ --disable-schemas-install \ --disable-mime-update \ --disable-desktop-update \ --disable-scrollkeeper distuninstallcheck_listfiles = find . -type f -print | grep -v '^\./var/scrollkeeper' all-local: Makefile make -C po $(PACKAGE).pot clean-local: Makefile find . -name '*~' -delete po/$(PACKAGE).pot: Makefile make -C po $(PACKAGE).pot debiantarball: Makefile dist if [ -d ../tarballs ]; then \ ln -ft ../tarballs/ $(PACKAGE)-$(VERSION).tar.gz; \ mv ../tarballs/$(PACKAGE)-$(VERSION).tar.gz ../tarballs/$(PACKAGE)_$(VERSION).orig.tar.gz; \ fi ACLOCAL_AMFLAGS = -I m4 EXTRA_DIST = \ COPYING-DOCS \ MAINTAINERS \ README.translators \ TODO \ omf.make \ gnome-doc-utils.make \ xmldocs.make \ po/$(PACKAGE).pot DISTCLEANFILES = \ po/$(PACKAGE).pot \ intltool-extract.in \ intltool-merge.in \ intltool-update.in \ intltool-extract \ intltool-merge \ intltool-update svn-clean: distclean find . -name Makefile.in -delete $(RM) -r aclocal.m4 autom4te.cache config.guess m4/* $(RM) config.h config.h.in config.log config.status config.sub $(RM) configure cvschangelog drivel.desktop drivel.schemas drivel.spec $(RM) libtool ltmain.sh mkinstalldirs $(RM) stamp-h1 depcomp missing install-sh gnome-doc-utils.make $(RM) INSTALL omf.make xmldocs.make drivel-3.0.5/missing0000755000175000017500000001533112155041134011323 00000000000000#! /bin/sh # Common wrapper for a few potentially missing GNU programs. scriptversion=2012-06-26.16; # UTC # Copyright (C) 1996-2013 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi case $1 in --is-lightweight) # Used by our autoconf macros to check whether the available missing # script is modern enough. exit 0 ;; --run) # Back-compat with the calling convention used by older automake. shift ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal autoconf autoheader autom4te automake makeinfo bison yacc flex lex help2man Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # Run the given program, remember its exit status. "$@"; st=$? # If it succeeded, we are done. test $st -eq 0 && exit 0 # Also exit now if we it failed (or wasn't found), and '--version' was # passed; such an option is passed most likely to detect whether the # program is present and works. case $2 in --version|--help) exit $st;; esac # Exit code 63 means version mismatch. This often happens when the user # tries to use an ancient version of a tool on a file that requires a # minimum version. if test $st -eq 63; then msg="probably too old" elif test $st -eq 127; then # Program was missing. msg="missing on your system" else # Program was found and executed, but failed. Give up. exit $st fi perl_URL=http://www.perl.org/ flex_URL=http://flex.sourceforge.net/ gnu_software_URL=http://www.gnu.org/software program_details () { case $1 in aclocal|automake) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/autoconf>" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; autoconf|autom4te|autoheader) echo "The '$1' program is part of the GNU Autoconf package:" echo "<$gnu_software_URL/autoconf/>" echo "It also requires GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; esac } give_advice () { # Normalize program name to check for. normalized_program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" case $normalized_program in autoconf*) echo "You should only need it if you modified 'configure.ac'," echo "or m4 files included by it." program_details 'autoconf' ;; autoheader*) echo "You should only need it if you modified 'acconfig.h' or" echo "$configure_deps." program_details 'autoheader' ;; automake*) echo "You should only need it if you modified 'Makefile.am' or" echo "$configure_deps." program_details 'automake' ;; aclocal*) echo "You should only need it if you modified 'acinclude.m4' or" echo "$configure_deps." program_details 'aclocal' ;; autom4te*) echo "You might have modified some maintainer files that require" echo "the 'automa4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; lex*|flex*) echo "You should only need it if you modified a '.l' file." echo "You may want to install the Fast Lexical Analyzer package:" echo "<$flex_URL>" ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." echo "You might want to install the Texinfo package:" echo "<$gnu_software_URL/texinfo/>" echo "The spurious makeinfo call might also be the consequence of" echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" echo "often tells you about the needed prerequisites for installing" echo "this package. You may also peek at any GNU archive site, in" echo "case some other package contains this missing '$1' program." ;; esac } give_advice "$1" | sed -e '1s/^/WARNING: /' \ -e '2,$s/^/ /' >&2 # Propagate the correct exit status (expected to be 127 for a program # not found, 63 for a program that failed due to version mismatch). exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: drivel-3.0.5/config.guess0000755000175000017500000013014512152207225012247 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2013 Free Software Foundation, Inc. timestamp='2013-05-16' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # # Originally written by Per Bothner. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD # # Please send patches with a ChangeLog entry to config-patches@gnu.org. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "${UNAME_SYSTEM}" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu eval $set_cc_for_build cat <<-EOF > $dummy.c #include #if defined(__UCLIBC__) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc #else LIBC=gnu #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` ;; esac # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW64*:*) echo ${UNAME_MACHINE}-pc-mingw64 exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="gnulibc1" ; fi echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arc:Linux:*:* | arceb:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi else echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf fi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; hexagon:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:Linux:*:*) echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; or1k:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; or32:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) echo sparc-unknown-linux-${LIBC} exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-${LIBC} exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; tile*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; x86_64:Haiku:*:*) echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown eval $set_cc_for_build if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; esac eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: drivel-3.0.5/xmldocs.make0000644000175000017500000000615412161410720012235 00000000000000# # No modifications of this Makefile should be necessary. # # To use this template: # 1) Define: figdir, docname, lang, omffile, and entities in # your Makefile.am file for each document directory, # although figdir, omffile, and entities may be empty # 2) Make sure the Makefile in (1) also includes # "include $(top_srcdir)/xmldocs.make" and # "dist-hook: app-dist-hook". # 3) Optionally define 'entities' to hold xml entities which # you would also like installed # 4) Figures must go under $(figdir)/ and be in PNG format # 5) You should only have one document per directory # 6) Note that the figure directory, $(figdir)/, should not have its # own Makefile since this Makefile installs those figures. # # example Makefile.am: # figdir = figures # docname = scrollkeeper-manual # lang = C # omffile=scrollkeeper-manual-C.omf # entities = fdl.xml # include $(top_srcdir)/xmldocs.make # dist-hook: app-dist-hook # # About this file: # This file was taken from scrollkeeper_example2, a package illustrating # how to install documentation and OMF files for use with ScrollKeeper # 0.3.x and 0.4.x. For more information, see: # http://scrollkeeper.sourceforge.net/ # Version: 0.1.2 (last updated: March 20, 2002) # # ********** Begin of section some packagers may need to modify ********** # This variable (docdir) specifies where the documents should be installed. # This default value should work for most packages. docdir = $(datadir)/gnome/help/$(docname)/$(lang) # ********** You should not have to edit below this line ********** xml_files = $(entities) $(docname).xml EXTRA_DIST = $(xml_files) $(omffile) CLEANFILES = omf_timestamp include $(top_srcdir)/omf.make all: omf $(docname).xml: $(entities) -ourdir=`pwd`; \ cd $(srcdir); \ cp $(entities) $$ourdir app-dist-hook: if test "$(figdir)"; then \ $(mkinstalldirs) $(distdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(distdir)/$(figdir)/$$basefile; \ done \ fi install-data-local: omf $(mkinstalldirs) $(DESTDIR)$(docdir) for file in $(xml_files); do \ cp $(srcdir)/$$file $(DESTDIR)$(docdir); \ done if test "$(figdir)"; then \ $(mkinstalldirs) $(DESTDIR)$(docdir)/$(figdir); \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \ done \ fi install-data-hook: install-data-hook-omf uninstall-local: uninstall-local-doc uninstall-local-omf uninstall-local-doc: -if test "$(figdir)"; then \ for file in $(srcdir)/$(figdir)/*.png; do \ basefile=`echo $$file | sed -e 's,^.*/,,'`; \ rm -f $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \ done; \ rmdir $(DESTDIR)$(docdir)/$(figdir); \ fi -for file in $(xml_files); do \ rm -f $(DESTDIR)$(docdir)/$$file; \ done -rmdir $(DESTDIR)$(docdir) clean-local: clean-local-doc clean-local-omf # for non-srcdir builds, remove the copied entities. clean-local-doc: if test $(srcdir) != .; then \ rm -f $(entities); \ fi drivel-3.0.5/COPYING-DOCS0000644000175000017500000005466211552103112011512 00000000000000 GNU Free Documentation License Version 1.3, 3 November 2008 Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. The "publisher" means any person or entity that distributes copies of the Document to the public. A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition. The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement. C. State on the Title page the name of the publisher of the Modified Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License. I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version. N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section. O. Preserve any Warranty Disclaimers. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements". 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License. However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Document. 11. RELICENSING "Massive Multiauthor Collaboration Site" (or "MMC Site") means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A "Massive Multiauthor Collaboration" (or "MMC") contained in the site means any set of copyrightable works thus published on the MMC site. "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization. "Incorporate" means to publish or republish a Document, in whole or in part, as part of another Document. An MMC is "eligible for relicensing" if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008. The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing. ADDENDUM: How to use this License for your documents To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this: with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. drivel-3.0.5/NEWS0000644000175000017500000004173711552103112010427 00000000000000Drivel 3.0.0 ("Ready for the future") ===================================== * Improvements: - Drop remnants of old libraries including: libglade2, libgnome2 and libgnomeui. - Drop deprecated functions from existing libraries, ready for the upcoming Gtk+3.0 transitions. - Migrate from libgtksourceview1.0 to libgtksourceview2.0 - Add patches from bugzilla that have accumulated since 2.0.4 - Include and enhance code from the previous trunk (the unreleased 2.1.1) codebase. - Include translated versions of the Drivel Manual. * Issues: - Serendipity upstream has disabled XMLRPC due to a bug in PHP 5.2 which appears to be fixed in the current 5.2 release. The xmlrpc support in serendipity is disabled but does work again if the xmlrpc plugin is downloaded and installed: http://spartacus.s9y.org/cvs/additional_plugins/serendipity_event_xmlrpc.zip - drivel is not able to retrieve recent entries from all blog engines as a result of the removal of libegg / issues with the GtkRecentEntries support. - Past-date support in LJ is disabled in 3.0.0. Drivel 2.0.4 ("Alive again") ============================ * Improvements: - Add current patches from Debian and Ubuntu - Add patches from bugzilla that have accumulated since 2.0.3 - New member of upstream team: Neil Williams - Add tag support for LiveJournal. Closes #307967 * Translation updates: - Added Italian translation (Vincenzo Campanella) - Updated Germann translation (Mario Blättermann) - Updated Portuguese translation. (Américo Monteiro) - Updated Canadian English translation. (Adam Weinberger) - Updated Nepali translation. (Basanta shrestha) - Updated Portuguese translation. (Miguel Figueiredo) - Updated Russian translation. (Yuri Kozlov) Drivel 2.0.3 ("Regret Reminds me Anyway") ========================================= * Improvements: - Added a View Journal button to the LiveJournal Friends dialog - Refresh Recent Entries menu after posting or updating an entry - Use D-BUS to detect current music * Fixes: - Correctly fetch LiveJournal attributes - Compilation fixes for OpenBSD and GCC 2.95 - Expand username compatibility - Fix several double mnemonics - Improve XML-RPC compatibility - Support HTTP redirections - Resolve problem opening draft entries - Numerous fixes for Atom/Blogger 2.0 * Translations: - Added Nepali translation (Pawan Chitrakar) - Added Lithuanian translation (Žygimantas Beručka) - Added Catalan translation (Gil Forcada) - Added Vietnamese translation (Clytie Siddall) - Added Finnish translation (Ilkka Tuohela) - Added French translation (Jeff Coquery) - Added Russian translation (Valek Filippov) - Updated Czech translation (Miloslav Trmac) - Updated German translation (Frank Arnold) - Updated Dutch translation (Vincent van Adrighem) - Updated Simplified Chinese translation (Funda Wang) - Updated Bulgarian translation (Yavor Doganov) - Updated Swedish translation (Daniel Nylander) - Updated Spanish translation (Francisco Javier F. Serrador) Drivel 2.0.2 ("The Lost Release") ================================= * Improvements: ? * Fixes: ? * Translations: ? Drivel 2.0.1 ("Tea and Health") =============================== * Improvements: - Add a FAQ section to the documentation (Todd) * Fixes: - Syntax fix for .desktop file (Jeremy) - Allow usernames with more than fifteen characters (Jess) - Fix default HTML highlighting state (Todd) - Allow usernames with hyphens (Todd) - Numerous UTF-8 fixes for Blogger, MovableType, and Atom (Todd) - Fix placement of Refresh button in Recent Entries menu (Todd) - Handle HTML in Blogger titles gracefully (Todd) * Translations: - Updated Spanish translation (Francisco Javier F. Serrador) - Updated Czech translation (Miloslav Trmac). Drivel 2.0 ("Psychoactive Kitty") ================================= * Improvements since 1.2: - Support for Atom, Blogger, MovableType, and Advogato weblogs - Offline mode - Fetch current music from Beep Media Player - Shortcut key (F7) to enabled/disable spellcheck - MIME support for draft entries - Allow selection of spellchecking language - Recent Entries menu to edit the previous fifteen posts - Support LiveJournal security groups - Ability to ping Technorati after journal updates Drivel 1.3.91 ("Whoop it up") ============================= * Improvements: - Clarify the Blogger API wording (Todd). - New artwork (Todd). - Updated documentation (Todd). * Fixes: - Handle IPv6 proxy servers correctly (Todd). - Respect the GConf key for proxy authentication (Todd). * Translations: - Updated Czech translation (Miloslav Trmac). - Updated Canadian English translation (Adam Weinberger). - Updated Swedish translation (Christian Rose). - Added Bulgarian translation (Yavor Doganov). - Updated German translation (Frank Arnold). - Updated Spanish tranlation (Francisco Javier F. Serrador). Drivel 1.3.90 (The "I'm out!" release) ===================================== * Improvements: - Support fetching, editing, and deleting recent MovableType entries (Todd). - Build a Recent Entries menu for MovableType (Todd). - Handle MovableType categories from all journals (Todd). - Alphabetize list of journal types and categories (Todd). - Option to ping Technorati after posting (Todd). - New splash screen (Margot). - Support LiveJournal security groups (Todd). * Fixes: - Shortcut key fixes (Todd). * Translations: - Updated Czech translation (Miloslav Trmac). - Added Greek translation (Kostas Papadimas). - Updated Spanish translation (Francisco Javier F. Serrador). - Updated Canadian English translation (Adam Weinberger). - Updated German translation (Frank Arnold). Drivel 1.3.4 (The "Strawberry Shortcake!" release) ================================================== * Improvements: - Build a Recent Entries menu for Atom, Blogger, and LiveJournal journals (Todd). - Sync with latest libegg code (Todd). - Support deleting entries for Atom and Blogger journals (todd). * Fixes: - Display categories for all MovableType journals, not just the default (Todd). - Desensitize buttons and menu items that don't apply to the current journal (Todd). - XML-RPC compatibility fixes (Todd). - Remove support for Blogger titles, it was broken to begin with and caused issues when editing old entries (Todd). - Fix the inconsistent progress bar (Todd). Drivel 1.3.3 (The "Trust me, the horsies won't mind" release) ============================================================= * Improvements: - Support XHTML 1.0 tags (Kurt). - Build-system improvements (Todd). - Support editing the more recent Advogato entry (Todd). - Support editing the most recent Atom entry (Todd). - Support Atom's new SSL authentication scheme (Todd). - Default to the last journal each account posted to (Todd). * Fixes: - MovableType API fixes (Bryan). - Fix a crash during poll creation (Jess). - Fix a crash when editing entries via the History dialog (Jess). - Remove the duplicate "http://" in the Insert Image dialog (Jess). - Remove warning about non-undoable action in History dialog (Jess). - Fix a handful of XML issues by using xmlReadMemory rather than xmlParseMemory (Todd). - Use UTC timestamps, should fix the Atom timezone issues (Todd). * Translations: - Update English (British) translation (David Lodge). - Updated Dutch translation (Taco Witte). - Updated Canadian English translation (Adam Weinberger). - Added Kinyarwanda translation (Steve Murphy). - Updated Spanish translation (Francisco Javier F. Serrador). Drivel 1.3.2 (The "Tonik: with a K!" release) ============================================= * Improvements: - Allow the user to select the language of the spell-checking dictionary (Isak). - Support posting to Blogger's implementation of the Atom API (Todd). * Fixes: - Resolved hangs after login (Davyd). - Disabled features in the UI that are not supported by the selected journal system (Todd). * Translations: - Updated Dutch translation (Reinout van Schouwen). - Updated German translation (Frank Arnold). - Updated Canadian English translation (Adam Weinberger and Alexander Winston). - Updated Czech translation (Miloslav Trmac). Drivel 1.3.1 (The "H'Okay" release) =================================== * Improvements: - Support opening drafts from the file manager (Todd). - Make Drivel's use of the notification area HIG-compliant (Todd). - Add Advogato posting support (Todd). - Add support for Movable Type categories (Todd). - Add --disable-mime-update and --disable-desktop-update configure parameters, useful for binary packagers (Todd). * Fixes: - Display a custom icon for Drivel drafts (Todd). - Publish Blogger posts (Todd). - Support all of a user's blogger accounts, not just one (Todd). - Correctly translate the Translators field in the About dialog (Isak). * Translations: - Updated Dutch translation (Reinout van Schouwen). Drivel 1.3.0 (The "Another drunk conquistador" release) ======================================================= * Improvements: - Add support for Beep Media Player (Adam). - Add an Offline mode (Todd). - Add Movable Type posting support (Todd). - Add Blogger posting support (Todd). - The F7 key quickly toggles spell-check on and off (Todd). - New account manager which can support multiple journal systems (Todd). - The build system has moved from automake-1.4 to automake-1.7 (Todd). * Fixes: - Glade translation fixes (Davyd). - Fix double-mnemonic in Format menu (Adam). - Make menus translatable (Isak). - Fix a crash when editing preferences (#151940) (Todd). - Plug a memory leak when loading user pictures (Todd). - Clarify auto-format tooltip (#151388) (Todd). - Include date information in Drivel's draft format (Davyd). - Update the RPM spec file to handle Scrollkeeper data (Todd). - Plus some severe memory leaks in the UI creation code (Todd). - Cleaned up lots of old, rotting code (Todd). Drivel 1.2.0 (The "Hero of Canton" release) =========================================== * Improvements: - Added a user manual (Todd). * Fixes: - Fixed the oft-reported "automaticall" typo (Todd). - Synced eggtrayicon.* and recent-files/* with libegg to get the latest improvements and bug-fixes (Todd). * Translations: - Updated Canadian English translation (Adam Weinberger). - Updated Simplified Chinese translation (Funda Wang). - Updated Portuguese translation (Duarte Loreto). - Updated Swedish translation (Christian Rose). - Updated Czech translation (Miloslav Trmac). - Updated Dutch translation (Elros Cyriatan). - Updated Spanish translation (Francisco Javier F. Serrador). - Updated Albanian translation (Laurent Dhima). - Updated Brazilian Portuguese translation (Estêvão Samuel Procópio). Drivel 1.1.2 (The "Betas make bubbles!" release) ================================================ * Improvements: - Replace the RSA's reference MD5 implementation with a free one. - Add the GNOME Spinner to the network progress dialog. - Make the standard error dialog conform to the HIG. - Port the Network Progress and Insert Image dialogs to Glade. - Gave the Insert Image and Insert Link dialogs a make-over and some HIG-lovin'. - Added a Cancel button to the new Network Progress dialog. - Use unique names for user pictures, prevents re-downloading the same image again and again. - Add support for back-dating journal entries. - Add tooltips for post options. * Fixes: - Prevent the network dialog from "blinking" on short transactions. - Fix a crash that occured when the network dialog was closed manually. - Double-clicking an entry in the history dialog opens it for editing. - Prevent the user from selecting a row in the history list when it is empty, fixes a crash. - Fix a few strings to bring them into HIG 2.0 compliance. * Translations: - Updated Brazilian Portuguese translation (Raphael Higino and Estêvão Samuel Procópio). - Updated Czech translation (Miloslav Trmac). - Updated Canadian English translation (Adam Weinberger). - Updated British English translation (David Lodge). - Updated Spanish translation (Francisco Javier F. Serrador). Drivel 1.1.1 (The "I'm too hung-over to be creative" release) ============================================================= * Improvements: - RhythmBox support for the Music entry (Davyd Madeley). - New and improved network layer which doesn't suck. - Abstracted blog API, should make it easy to support multiple blog systems in the future. - Support for EggRecent. - Added a "Drivel journal draft" mimetype. - Redesigned the Friends dialog. * Fixes: - Plugged some memory leaks. - Use the correct signal (enter_notify) for triggering the query_music function. - Lots of HIG-related spacing fixes. * Translations: - Updated Spanish translation (Francisco Javier F. Serrador). - Updated Brazilian Portuguese translation (Raphael Higino). - Updated Norwegian translation (Kjartan Maraas). - Updated Albanian translation (Laurent Dhima). - Updated Czech translation (Miloslav Trmac). - Updated British English translation (David Lodge). Drivel 1.1.0 (The "Happy birthday, Stephie!" release) ===================================================== * Improvements: - HTML syntax highlighting (Davyd Madeley and Grahame Bowland). - Optional in-line spell checking support via GtkSpell. - Undo/Redo support (Davyd Madeley). - Support the new challenge/response LiveJournal authentication method. - Per-account autosaves. - Use LogJam's XML file format when saving/loading drafts (Davyd Madeley). - The Insert Link dialog now replaces selected text with a hyper-linked version of the text. - Saves the filename of drafts so that the user isn't prompted each time she presses "Save Draft" and add a "Save Draft as..." menu command. - Autocomplete support for the Mood control (Davyd Madeley). - Lots of HIG work on the menus, dialogs, and alerts. * Fixes: - Keybinding fixes. - Resolve a couple of bugs in the History dialog (still requires GTK+ 2.4.4 or higher to work correctly) (Davyd Madeley). - Correct the lj-lq tag in the poll creator (Grahame Bowland). - Don't duplicate the protocol in the Insert Link dialog (gnome@nash.nu). - Fixed the autosave feature. - Resolved a network threading issue that prevented Drivel from working on NetBSD, and possibly the other BSD variants as well. - Protect proxy variables with mutex locks, should resolve some more BSD-related threading issues. - Use libcurl's unescape method rather than our own, fixes a NetBSD character conversion problem. - Fix C99-ism which was preventing successfull compilation on GCC-2.95 (Julio M. Merino Vidal). * Translations: - Added Albanian translation (Laurent Dhima). - Updated Czech translation (Miloslav Trmac). - Updated Brazilian Portuguese translation (Raphael Higino). - Updated British English translation (David Lodge). Drivel 1.0 (Yeah, it really happened) ===================================== * Fixes: - Keep the network progress dialog on top of the Journal Entry during the login process. - Display user pictures the first time a user logs in. - Fix for detecting song titles with accented characters (Grahame Bowland). * Translations: - Added Spanish translation (Francisco Javier F. Serrador) - Added German translation (Christian Neumair) - Updated Brazilian Portuguese translation (Alexander Winston) - Updated British English translation (Gareth Owen) - Updated Canadian English translation (Gustavo Maciel Dias Vieira) Drivel 0.90.0 (The "Happy birthday, cloche!" release) ===================================================== * Improvements: - Ported to GTK+ 2.4 / GNOME 2.6. - Lots of HIG work. - Updated artwork. - Ported most of UI to Glade (Davyd Madeley). - Revised "Detect Music" subsystem (Davyd Madeley). - New "Insert Poll" dialog (Davyd Madeley). - Display user pictures in the "Pictures" menu (Grahame Bowland). * Fixes: - Fix numerous instances of windows being displayed too soon. - Fix an error in calculating the number of shared journals a user has access to. - Fix a bug which caused the Entry window to be displayed immediatedly after it had been minimized. * Translations: - Added Swedish translation (Christian Rose). - Added Serbian translation (Danilo Šegan). - Added Canadian English translation (Adam Weinberger). - Added Czech translation (Miloslav Trmac). - Added Dutch translation (Vincent van Adrighem). - Added Norwegian translation (Terance Edward Sola). - Added Portuguese translation (Duarte Loreto). - Added British English translation (Gareth Owen). - Added Brazilian Portuguese translation (Raphael Higino). - Added Simplified Chinese translation (Funda Wang). drivel-3.0.5/help/0000755000175000017500000000000012164124030010726 500000000000000drivel-3.0.5/help/ChangeLog0000644000175000017500000000053111552103110012413 000000000000002009-10-28 Michal Simunek * cs/cs.po: Updated Czech translation of drivel-help. 2009-09-30 Michal Simunek * cs/cs.po: Czech translation of drivel-help 2009-04-03 Neil Williams * C/drivel.xml : Syntax corrections and add support for gnome-doc-utils format. drivel-3.0.5/help/Makefile.in0000644000175000017500000011201112161412430012710 00000000000000# Makefile.in generated by automake 1.13.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # gnome-doc-utils.make - make magic for building documentation # Copyright (C) 2004-2005 Shaun McCance # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. ################################################################################ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(top_srcdir)/gnome-doc-utils.make $(srcdir)/Makefile.in \ $(srcdir)/Makefile.am $(top_srcdir)/mkinstalldirs ChangeLog subdir = help ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \ $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DISABLE_DEPRECATED_CFLAGS = @DISABLE_DEPRECATED_CFLAGS@ DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@ DLLTOOL = @DLLTOOL@ DOC_USER_FORMATS = @DOC_USER_FORMATS@ DRIVEL_CFLAGS = @DRIVEL_CFLAGS@ DRIVEL_LIBS = @DRIVEL_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCONFTOOL = @GCONFTOOL@ GCONF_REQUIRED = @GCONF_REQUIRED@ GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@ GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GNOME_VFS_REQUIRED = @GNOME_VFS_REQUIRED@ GREP = @GREP@ GTKSOURCEVIEW_REQUIRED = @GTKSOURCEVIEW_REQUIRED@ GTK_REQUIRED = @GTK_REQUIRED@ HELP_DIR = @HELP_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_REQUIRED = @LIBSOUP_REQUIRED@ LIBTOOL = @LIBTOOL@ LIBXML_REQUIRED = @LIBXML_REQUIRED@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OMF_DIR = @OMF_DIR@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ _clean_doc_header = $(if $(DOC_H_FILE),clean-doc-header) _DOC_REAL_FORMATS = $(if $(DOC_USER_FORMATS),$(DOC_USER_FORMATS),$(DOC_FORMATS)) _DOC_REAL_LINGUAS = $(if $(filter environment,$(origin LINGUAS)), \ $(filter $(LINGUAS),$(DOC_LINGUAS)), \ $(DOC_LINGUAS)) _DOC_ABS_SRCDIR = @abs_srcdir@ _xml2po_mode = $(if $(DOC_ID),mallard,docbook) @ENABLE_SK_TRUE@_ENABLE_SK = true ################################################################################ GDU_V_XML2PO = $(GDU__v_XML2PO_$(V)) GDU__v_XML2PO_ = $(GDU__v_XML2PO_$(AM_DEFAULT_VERBOSITY)) GDU__v_XML2PO_0 = @echo " XML2PO" $@; GDU_V_MSGFMT = $(GDU__v_MSGFMT_$(V)) GDU__v_MSGFMT_ = $(GDU__v_MSGFMT_$(AM_DEFAULT_VERBOSITY)) GDU__v_MSGFMT_0 = @echo " MSGFMT" $@; GDU_V_DB2OMF = $(GDU__v_DB2OMF_$(V)) GDU__v_DB2OMF_ = $(GDU__v_DB2OMF_$(AM_DEFAULT_VERBOSITY)) GDU__v_DB2OMF_0 = @echo " DB2OMF" $@; GDU_V_DB2HTM = $(GDU__v_DB2HTM_$(V)) GDU__v_DB2HTM_ = $(GDU__v_DB2HTM_$(AM_DEFAULT_VERBOSITY)) GDU__v_DB2HTM_0 = @echo " DB2HTM" $@; ################################################################################ db2omf_args = \ --stringparam db2omf.basename $(DOC_MODULE) \ --stringparam db2omf.format $(3) \ --stringparam db2omf.dtd \ $(shell xmllint --format $(2) | grep -h PUBLIC | head -n 1 \ | sed -e 's/.*PUBLIC \(\"[^\"]*\"\).*/\1/') \ --stringparam db2omf.lang $(notdir $(patsubst %/$(notdir $(2)),%,$(2))) \ --stringparam db2omf.omf_dir "$(OMF_DIR)" \ --stringparam db2omf.help_dir "$(HELP_DIR)" \ --stringparam db2omf.omf_in "$(_DOC_OMF_IN)" \ $(if $(_ENABLE_SK), \ --stringparam db2omf.scrollkeeper_cl "$(_skcontentslist)") \ $(_db2omf) $(2) _DOC_OMF_IN = $(if $(DOC_MODULE),$(wildcard $(_DOC_ABS_SRCDIR)/$(DOC_MODULE).omf.in)) _DOC_OMF_DB = $(if $(_DOC_OMF_IN), \ $(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-$(lc).omf)) _DOC_OMF_HTML = $(if $(_DOC_OMF_IN), \ $(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-html-$(lc).omf)) # FIXME _DOC_OMF_ALL = \ $(if $(filter docbook,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_DB)) \ $(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_HTML)) ################################################################################ _DOC_C_MODULE = $(if $(DOC_MODULE),C/$(DOC_MODULE).xml) _DOC_C_PAGES = $(foreach page,$(DOC_PAGES),C/$(page)) _DOC_C_ENTITIES = $(foreach ent,$(DOC_ENTITIES),C/$(ent)) _DOC_C_INCLUDES = $(foreach inc,$(DOC_INCLUDES),C/$(inc)) _DOC_C_DOCS = \ $(_DOC_C_ENTITIES) $(_DOC_C_INCLUDES) \ $(_DOC_C_PAGES) $(_DOC_C_MODULE) _DOC_C_DOCS_NOENT = \ $(_DOC_C_MODULE) $(_DOC_C_INCLUDES) \ $(_DOC_C_PAGES) _DOC_C_FIGURES = $(if $(DOC_FIGURES), \ $(foreach fig,$(DOC_FIGURES),C/$(fig)), \ $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/C/figures/*.png))) # FIXME: probably have to shell escape to determine the file names _DOC_C_HTML = $(foreach f, \ $(shell xsltproc --xinclude \ --stringparam db.chunk.basename "$(DOC_MODULE)" \ $(_chunks) "C/$(DOC_MODULE).xml"), \ C/$(f).xhtml) ############################################################################### _DOC_POFILES = $(if $(DOC_MODULE)$(DOC_ID), \ $(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(lc).po)) _DOC_MOFILES = $(patsubst %.po,%.mo,$(_DOC_POFILES)) _DOC_LC_MODULES = $(if $(DOC_MODULE), \ $(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xml)) _DOC_LC_PAGES = \ $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach page,$(_DOC_C_PAGES), \ $(lc)/$(notdir $(page)) )) _DOC_LC_INCLUDES = \ $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach inc,$(_DOC_C_INCLUDES), \ $(lc)/$(notdir $(inc)) )) # FIXME: probably have to shell escape to determine the file names _DOC_LC_HTML = \ $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach doc,$(_DOC_C_HTML), \ $(lc)/$(notdir $(doc)) )) _DOC_LC_DOCS = \ $(_DOC_LC_MODULES) $(_DOC_LC_INCLUDES) $(_DOC_LC_PAGES) \ $(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_LC_HTML)) _DOC_LC_FIGURES = $(foreach lc,$(_DOC_REAL_LINGUAS), \ $(patsubst C/%,$(lc)/%,$(_DOC_C_FIGURES)) ) _DOC_SRC_FIGURES = \ $(foreach fig,$(_DOC_C_FIGURES), $(foreach lc,C $(_DOC_REAL_LINGUAS), \ $(wildcard $(srcdir)/$(lc)/$(patsubst C/%,%,$(fig))) )) _DOC_POT = $(if $(DOC_MODULE),$(DOC_MODULE).pot,$(if $(DOC_ID),$(DOC_ID).pot)) ################################################################################ _DOC_HTML_ALL = $(if $(filter html HTML,$(_DOC_REAL_FORMATS)), \ $(_DOC_C_HTML) $(_DOC_LC_HTML)) _DOC_HTML_TOPS = $(foreach lc,C $(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xhtml) _clean_omf = $(if $(_DOC_OMF_IN),clean-doc-omf) _clean_dsk = $(if $(_DOC_DSK_IN),clean-doc-dsk) _clean_lc = $(if $(_DOC_REAL_LINGUAS),clean-doc-lc) _clean_dir = $(if $(DOC_MODULE)$(DOC_ID),clean-doc-dir) _doc_install_dir = $(if $(DOC_ID),$(DOC_ID),$(DOC_MODULE)) DOC_MODULE = drivel DOC_ENTITIES = legal.xml DOC_INCLUDES = DOC_FIGURES = EXTRA_DIST = drivel-help.pot DISTCLEANFILES = drivel-help.pot #figures/main_window.png figures/open_document.png DOC_LINGUAS = cs de pt all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/gnome-doc-utils.make $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu help/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu help/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_srcdir)/gnome-doc-utils.make: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-local mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-local dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic \ maintainer-clean-local mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool \ mostlyclean-local pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ clean-local cscopelist-am ctags-am dist-hook distclean \ distclean-generic distclean-libtool distclean-local distdir \ dvi dvi-am html html-am info info-am install install-am \ install-data install-data-am install-data-local install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic \ maintainer-clean-local mostlyclean mostlyclean-generic \ mostlyclean-libtool mostlyclean-local pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am uninstall-local DOC_H_FILE ?= DOC_H_DOCS ?= $(DOC_H_FILE): $(DOC_H_DOCS); @rm -f $@.tmp; touch $@.tmp; echo 'const gchar* documentation_credits[] = {' >> $@.tmp list='$(DOC_H_DOCS)'; for doc in $$list; do \ xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \ if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \ xsltproc --path "$$xmlpath" $(_credits) $$doc; \ done | sort | uniq \ | awk 'BEGIN{s=""}{n=split($$0,w,"<");if(s!=""&&s!=substr(w[1],1,length(w[1])-1)){print s};if(n>1){print $$0;s=""}else{s=$$0}};END{if(s!=""){print s}}' \ | sed -e 's/\\/\\\\/' -e 's/"/\\"/' -e 's/\(.*\)/\t"\1",/' >> $@.tmp echo ' NULL' >> $@.tmp echo '};' >> $@.tmp echo >> $@.tmp list='$(DOC_H_DOCS)'; for doc in $$list; do \ xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \ if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \ docid=`echo "$$doc" | sed -e 's/.*\/\([^/]*\)\.xml/\1/' \ | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`; \ echo $$xmlpath; \ ids=`xsltproc --xinclude --path "$$xmlpath" $(_ids) $$doc`; \ for id in $$ids; do \ echo '#define HELP_'`echo $$docid`'_'`echo $$id \ | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`' "'$$id'"' >> $@.tmp; \ done; \ echo >> $@.tmp; \ done; cp $@.tmp $@ && rm -f $@.tmp dist-check-gdu: @HAVE_GNOME_DOC_UTILS_FALSE@ @echo "*** GNOME Doc Utils must be installed in order to make dist" @HAVE_GNOME_DOC_UTILS_FALSE@ @false .PHONY: dist-doc-header dist-doc-header: $(DOC_H_FILE) @if test -f "$(DOC_H_FILE)"; then d=; else d="$(srcdir)/"; fi; \ echo "$(INSTALL_DATA) $${d}$(DOC_H_FILE) $(distdir)/$(DOC_H_FILE)"; \ $(INSTALL_DATA) "$${d}$(DOC_H_FILE)" "$(distdir)/$(DOC_H_FILE)"; doc-dist-hook: dist-check-gdu $(if $(DOC_H_FILE),dist-doc-header) .PHONY: clean-doc-header clean-local: $(_clean_doc_header) distclean-local: $(_clean_doc_header) mostlyclean-local: $(_clean_doc_header) maintainer-clean-local: $(_clean_doc_header) clean-doc-header: rm -f $(DOC_H_FILE) all: $(DOC_H_FILE) ################################################################################ DOC_MODULE ?= DOC_ID ?= DOC_PAGES ?= DOC_ENTITIES ?= DOC_INCLUDES ?= DOC_FIGURES ?= DOC_FORMATS ?= docbook DOC_LINGUAS ?= ################################################################################ _xml2po ?= `which xml2po` _db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils` _db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils` _chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl _credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl _ids ?= $(shell $(PKG_CONFIG) --variable xmldir gnome-doc-utils)/gnome/xslt/docbook/utils/ids.xsl @ENABLE_SK_TRUE@_skpkgdatadir ?= `scrollkeeper-config --pkgdatadir` @ENABLE_SK_TRUE@_sklocalstatedir ?= `scrollkeeper-config --pkglocalstatedir` @ENABLE_SK_TRUE@_skcontentslist ?= $(_skpkgdatadir)/Templates/C/scrollkeeper_cl.xml $(_DOC_OMF_DB) : $(_DOC_OMF_IN) $(_DOC_OMF_DB) : $(DOC_MODULE)-%.omf : %/$(DOC_MODULE).xml @test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || { \ echo "The file '$(_skcontentslist)' does not exist." >&2; \ echo "Please check your ScrollKeeper installation." >&2; \ exit 1; } $(GDU_V_DB2OMF)xsltproc -o $@ $(call db2omf_args,$@,$<,'docbook') || { rm -f "$@"; exit 1; } $(_DOC_OMF_HTML) : $(_DOC_OMF_IN) $(_DOC_OMF_HTML) : $(DOC_MODULE)-html-%.omf : %/$(DOC_MODULE).xml @ENABLE_SK_TRUE@ @test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || { \ @ENABLE_SK_TRUE@ echo "The file '$(_skcontentslist)' does not exist" >&2; \ @ENABLE_SK_TRUE@ echo "Please check your ScrollKeeper installation." >&2; \ @ENABLE_SK_TRUE@ exit 1; } $(GDU_V_DB2OMF)xsltproc -o $@ $(call db2omf_args,$@,$<,'xhtml') || { rm -f "$@"; exit 1; } .PHONY: omf omf: $(_DOC_OMF_ALL) .PHONY: po po: $(_DOC_POFILES) .PHONY: mo mo: $(_DOC_MOFILES) $(_DOC_POFILES): @if ! test -d $(dir $@); then \ echo "mkdir $(dir $@)"; \ mkdir "$(dir $@)"; \ fi @if test ! -f $@ -a -f $(srcdir)/$@; then \ echo "cp $(srcdir)/$@ $@"; \ cp "$(srcdir)/$@" "$@"; \ fi; @docs=; \ list='$(_DOC_C_DOCS_NOENT)'; for doc in $$list; do \ docs="$$docs $(_DOC_ABS_SRCDIR)/$$doc"; \ done; \ if ! test -f $@; then \ echo "(cd $(dir $@) && \ $(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \ cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp)"; \ (cd $(dir $@) && \ $(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \ cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp); \ else \ echo "(cd $(dir $@) && \ $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs)"; \ (cd $(dir $@) && \ $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs); \ fi $(_DOC_MOFILES): %.mo: %.po $(AM_V_at)if ! test -d $(dir $@); then mkdir "$(dir $@)"; fi $(GDU_V_MSGFMT)msgfmt -o $@ $< # FIXME: fix the dependancy # FIXME: hook xml2po up $(_DOC_LC_DOCS) : $(_DOC_MOFILES) $(_DOC_LC_DOCS) : $(_DOC_C_DOCS) $(AM_V_at)if ! test -d $(dir $@); then mkdir $(dir $@); fi $(GDU_V_XML2PO)if [ -f "C/$(notdir $@)" ]; then d="../"; else d="$(_DOC_ABS_SRCDIR)/"; fi; \ mo="$(dir $@)$(patsubst %/$(notdir $@),%,$@).mo"; \ if [ -f "$${mo}" ]; then mo="../$${mo}"; else mo="$(_DOC_ABS_SRCDIR)/$${mo}"; fi; \ (cd $(dir $@) && \ $(_xml2po) -m $(_xml2po_mode) -e -t "$${mo}" \ "$${d}C/$(notdir $@)" > $(notdir $@).tmp && \ cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp) .PHONY: pot pot: $(_DOC_POT) $(_DOC_POT): $(_DOC_C_DOCS_NOENT) $(GDU_V_XML2PO)$(_xml2po) -m $(_xml2po_mode) -e -o $@ $^ $(_DOC_HTML_TOPS): $(_DOC_C_DOCS) $(_DOC_LC_DOCS) $(GDU_V_DB2HTM)xsltproc -o $@ --xinclude --param db.chunk.chunk_top "false()" --stringparam db.chunk.basename "$(DOC_MODULE)" --stringparam db.chunk.extension ".xhtml" $(_db2html) $(patsubst %.xhtml,%.xml,$@) ################################################################################ all: \ $(_DOC_C_DOCS) $(_DOC_LC_DOCS) \ $(_DOC_OMF_ALL) $(_DOC_DSK_ALL) \ $(_DOC_HTML_ALL) $(_DOC_POFILES) ################################################################################ .PHONY: clean-doc-omf clean-doc-dsk clean-doc-lc clean-doc-dir clean-doc-omf: ; rm -f $(_DOC_OMF_DB) $(_DOC_OMF_HTML) clean-doc-dsk: ; rm -f $(_DOC_DSK_DB) $(_DOC_DSK_HTML) clean-doc-lc: rm -f $(_DOC_LC_DOCS) rm -f $(_DOC_MOFILES) @list='$(_DOC_POFILES)'; for po in $$list; do \ if ! test "$$po" -ef "$(srcdir)/$$po"; then \ echo "rm -f $$po"; \ rm -f "$$po"; \ fi; \ done # .xml2.po.mo cleaning is obsolete as of 0.18.1 and could be removed in 0.20.x @for lc in C $(_DOC_REAL_LINGUAS); do \ if test -f "$$lc/.xml2po.mo"; then \ echo "rm -f $$lc/.xml2po.mo"; \ rm -f "$$lc/.xml2po.mo"; \ fi; \ done clean-doc-dir: clean-doc-lc @for lc in C $(_DOC_REAL_LINGUAS); do \ for dir in `find $$lc -depth -type d`; do \ if ! test $$dir -ef $(srcdir)/$$dir; then \ echo "rmdir $$dir"; \ rmdir "$$dir"; \ fi; \ done; \ done clean-local: \ $(_clean_omf) $(_clean_dsk) \ $(_clean_lc) $(_clean_dir) distclean-local: \ $(_clean_omf) $(_clean_dsk) \ $(_clean_lc) $(_clean_dir) mostlyclean-local: \ $(_clean_omf) $(_clean_dsk) \ $(_clean_lc) $(_clean_dir) maintainer-clean-local: \ $(_clean_omf) $(_clean_dsk) \ $(_clean_lc) $(_clean_dir) ################################################################################ .PHONY: dist-doc-docs dist-doc-pages dist-doc-figs dist-doc-omf dist-doc-dsk doc-dist-hook: \ $(if $(DOC_MODULE)$(DOC_ID),dist-doc-docs) \ $(if $(_DOC_C_FIGURES),dist-doc-figs) \ $(if $(_DOC_OMF_IN),dist-doc-omf) # $(if $(_DOC_DSK_IN),dist-doc-dsk) dist-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS) $(_DOC_POFILES) @for lc in C $(_DOC_REAL_LINGUAS); do \ echo " $(mkinstalldirs) $(distdir)/$$lc"; \ $(mkinstalldirs) "$(distdir)/$$lc"; \ done @list='$(_DOC_C_DOCS)'; \ for doc in $$list; do \ if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ if ! test -d "$(distdir)/$$docdir"; then \ echo "$(mkinstalldirs) $(distdir)/$$docdir"; \ $(mkinstalldirs) "$(distdir)/$$docdir"; \ fi; \ echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \ $(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \ done @list='$(_DOC_LC_DOCS)'; \ for doc in $$list; do \ if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ if ! test -d "$(distdir)/$$docdir"; then \ echo "$(mkinstalldirs) $(distdir)/$$docdir"; \ $(mkinstalldirs) "$(distdir)/$$docdir"; \ fi; \ echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \ $(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \ done @list='$(_DOC_POFILES)'; \ for doc in $$list; do \ if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ if ! test -d "$(distdir)/$$docdir"; then \ echo "$(mkinstalldirs) $(distdir)/$$docdir"; \ $(mkinstalldirs) "$(distdir)/$$docdir"; \ fi; \ echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \ $(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \ done dist-doc-figs: $(_DOC_SRC_FIGURES) @list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; \ for fig in $$list; do \ if test -f "$$fig"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$fig"; then \ figdir=`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ if ! test -d "$(distdir)/$$figdir"; then \ echo "$(mkinstalldirs) $(distdir)/$$figdir"; \ $(mkinstalldirs) "$(distdir)/$$figdir"; \ fi; \ echo "$(INSTALL_DATA) $$d$$fig $(distdir)/$$fig"; \ $(INSTALL_DATA) "$$d$$fig" "$(distdir)/$$fig"; \ fi; \ done; dist-doc-omf: @if test -f "$(_DOC_OMF_IN)"; then d=; else d="$(srcdir)/"; fi; \ echo "$(INSTALL_DATA) $$d$(_DOC_OMF_IN) $(distdir)/$(notdir $(_DOC_OMF_IN))"; \ $(INSTALL_DATA) "$$d$(_DOC_OMF_IN)" "$(distdir)/$(notdir $(_DOC_OMF_IN))" dist-doc-dsk: @if test -f "$(_DOC_DSK_IN)"; then d=; else d="$(srcdir)/"; fi; \ echo "$(INSTALL_DATA) $$d$(_DOC_DSK_IN) $(distdir)/$(notdir $(_DOC_DSK_IN))"; \ $(INSTALL_DATA) "$$d$(_DOC_DSK_IN)" "$(distdir)/$(notdir $(_DOC_DSK_IN))" ################################################################################ .PHONY: check-doc-docs check-doc-omf check: \ $(if $(DOC_MODULE),check-doc-docs) \ $(if $(DOC_ID),check-doc-pages) \ $(if $(_DOC_OMF_IN),check-doc-omf) check-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS) @for lc in C $(_DOC_REAL_LINGUAS); do \ if test -f "$$lc"; \ then d=; \ xmlpath="$$lc"; \ else \ d="$(srcdir)/"; \ xmlpath="$$lc:$(srcdir)/$$lc"; \ fi; \ echo "xmllint --noout --noent --path $$xmlpath --xinclude --postvalid $$d$$lc/$(DOC_MODULE).xml"; \ xmllint --noout --noent --path "$$xmlpath" --xinclude --postvalid "$$d$$lc/$(DOC_MODULE).xml"; \ done check-doc-pages: $(_DOC_C_PAGES) $(_DOC_LC_PAGES) for lc in C $(_DOC_REAL_LINGUAS); do \ if test -f "$$lc"; \ then d=; \ xmlpath="$$lc"; \ else \ d="$(srcdir)/"; \ xmlpath="$$lc:$(srcdir)/$$lc"; \ fi; \ for page in $(DOC_PAGES); do \ echo "xmllint --noout --noent --path $$xmlpath --xinclude $$d$$lc/$$page"; \ xmllint --noout --noent --path "$$xmlpath" --xinclude "$$d$$lc/$$page"; \ done; \ done check-doc-omf: $(_DOC_OMF_ALL) @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \ echo "xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf"; \ xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf; \ done ################################################################################ .PHONY: install-doc-docs install-doc-html install-doc-figs install-doc-omf install-doc-dsk install-data-local: \ $(if $(DOC_MODULE)$(DOC_ID),install-doc-docs) \ $(if $(_DOC_HTML_ALL),install-doc-html) \ $(if $(_DOC_C_FIGURES),install-doc-figs) \ $(if $(_DOC_OMF_IN),install-doc-omf) # $(if $(_DOC_DSK_IN),install-doc-dsk) install-doc-docs: @for lc in C $(_DOC_REAL_LINGUAS); do \ echo "$(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc"; \ $(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc; \ done @list='$(_DOC_C_DOCS)'; for doc in $$list; do \ if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ docdir="$$lc/"`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ docdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$docdir"; \ if ! test -d "$$docdir"; then \ echo "$(mkinstalldirs) $$docdir"; \ $(mkinstalldirs) "$$docdir"; \ fi; \ echo "$(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ $(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc; \ done @list='$(_DOC_LC_DOCS)'; for doc in $$list; do \ if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ docdir="$$lc/"`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ docdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$docdir"; \ if ! test -d "$$docdir"; then \ echo "$(mkinstalldirs) $$docdir"; \ $(mkinstalldirs) "$$docdir"; \ fi; \ echo "$(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ $(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc; \ done install-doc-figs: @list='$(patsubst C/%,%,$(_DOC_C_FIGURES))'; for fig in $$list; do \ for lc in C $(_DOC_REAL_LINGUAS); do \ figsymlink=false; \ if test -f "$$lc/$$fig"; then \ figfile="$$lc/$$fig"; \ elif test -f "$(srcdir)/$$lc/$$fig"; then \ figfile="$(srcdir)/$$lc/$$fig"; \ else \ figsymlink=true; \ fi; \ figdir="$$lc/"`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ figdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$figdir"; \ if ! test -d "$$figdir"; then \ echo "$(mkinstalldirs) $$figdir"; \ $(mkinstalldirs) "$$figdir"; \ fi; \ figbase=`echo $$fig | sed -e 's/^.*\///'`; \ if $$figsymlink; then \ echo "cd $$figdir && $(LN_S) -f ../../C/$$fig $$figbase"; \ ( cd "$$figdir" && $(LN_S) -f "../../C/$$fig" "$$figbase" ); \ else \ echo "$(INSTALL_DATA) $$figfile $$figdir$$figbase"; \ $(INSTALL_DATA) "$$figfile" "$$figdir$$figbase"; \ fi; \ done; \ done install-doc-html: echo install-html install-doc-omf: $(mkinstalldirs) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir) @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \ echo "$(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ $(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf; \ done @if test "x$(_ENABLE_SK)" = "xtrue"; then \ echo "scrollkeeper-update -p $(DESTDIR)$(_sklocalstatedir) -o $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \ scrollkeeper-update -p "$(DESTDIR)$(_sklocalstatedir)" -o "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \ fi; install-doc-dsk: echo install-dsk ################################################################################ .PHONY: uninstall-doc-docs uninstall-doc-html uninstall-doc-figs uninstall-doc-omf uninstall-doc-dsk uninstall-local: \ $(if $(DOC_MODULE)$(DOC_ID),uninstall-doc-docs) \ $(if $(_DOC_HTML_ALL),uninstall-doc-html) \ $(if $(_DOC_C_FIGURES),uninstall-doc-figs) \ $(if $(_DOC_OMF_IN),uninstall-doc-omf) # $(if $(_DOC_DSK_IN),uninstall-doc-dsk) uninstall-doc-docs: @list='$(_DOC_C_DOCS)'; for doc in $$list; do \ echo " rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ done @list='$(_DOC_LC_DOCS)'; for doc in $$list; do \ echo " rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ done uninstall-doc-figs: @list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; for fig in $$list; do \ echo "rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \ rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \ done; uninstall-doc-omf: @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \ if test "x$(_ENABLE_SK)" = "xtrue"; then \ echo "scrollkeeper-uninstall -p $(_sklocalstatedir) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ scrollkeeper-uninstall -p "$(_sklocalstatedir)" "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ fi; \ echo "rm -f $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ rm -f "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ done dist-hook: doc-dist-hook drivel-help.pot: Makefile xml2po -e -o $(PACKAGE)-help.pot $(top_srcdir)/help/C/${PACKAGE}.xml report-po: Makefile if [ ! -d po ]; then \ mkdir po/ ; \ fi cp $(PACKAGE)-help.pot po cd po ; \ for l in $(DOC_LINGUAS); do \ if [ ! -L $$l.po ]; then \ ln -s ../$$l/$$l.po . ; \ fi; \ echo -n $$l: ; \ msgfmt -c --statistics $$l.po; \ rm -f messages.mo; \ done update-po: Makefile for l in $(DOC_LINGUAS); do \ msgmerge -U $(top_srcdir)/help/$$l/$$l.po $(top_srcdir)/help/$(PACKAGE)-help.pot; \ done # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: drivel-3.0.5/help/C/0000755000175000017500000000000012164124030011110 500000000000000drivel-3.0.5/help/C/legal.xml0000644000175000017500000000713012164124030012637 00000000000000 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual. This manual is part of a collection of GNOME manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license. Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and the members of the GNOME Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters. DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. drivel-3.0.5/help/C/drivel.xml0000644000175000017500000003515312164124030013046 00000000000000 Drivel"> ]>
    Drivel Manual 2009-04-03 2005 Todd Kulesza Todd Kulesza &legal; User manual for the Drivel journal editor. Todd Kulesza Drivel Development Team
    todd@dropline.net
    Feedback Information To report a bug or make a suggestion regarding this application or this documentation, see the GNOME Feedback Page. &appversion; 03 Apr 2009
    Drivel drivel Introduction &app; allows you to create and edit entries for online journals, commonly known as "web logs" or simply "blogs". Most popular journal servers are supported, including Advogato, Atom, Blogger, LiveJournal, and MovableType. An offline mode is also included for writing draft entries. &app; is able to create new entries, edit or delete existing entries, and list the fifteen most recent entries for all of its supported journal systems, save Advogato. The entire LiveJournal feature set, including friends, security groups, moods, etc., is also supported, as are MovableType categories. The integrated editor supports HTML syntax highlighting, in-line spell-checking, and keyboard shortcuts for common HTML tags. Getting Started You can start &app; in the following ways: Applications menu Choose Internet Drivel Journal Editor . Command line Type drivel, then press Return. If you do not have an online journal, you'll need to set one up. New users may find the following links useful: Blogger.com - Blogger is one of the most popular sites for hosting online journals. LiveJournal.com - LiveJournal has one of the most active communities surrounding it of any online journal system. Usage Logging In To log in to your journal, enter your username in the Username field and your password in the Password field. Set Journal type to the appropriate server type and verify that the Server address is correct--most users will not need to modify this field. If you wish, you can check the Remember password box to make &app; store your password between sessions. If the Automatically login box is checked, &app; will skip the Login Window when started and automatically log in to your journal account. Remember password must be checked in order for the Automatically login option to be available. Click Log In to complete the process. Working Offline You may choose to skip the log in process and work offline. You will not be able to post new entries, but you will be able to save your work as drafts for later posting. To work offline, click the Work Offline button. Composing a New Entry &app; provides an integrated editor for composing new journal entries. Once logged in, write your entry in the provided space. When you are satisfied with the entry, click Post. Depending on the type of journal, different controls may appear. Journals which support titles will have an optional Subject field. LiveJournal users will also see a Security menu; this allows you to select who can view your entry. By clicking on Show more options, the following entry-customization features will become available: LiveJournal only: Mood - You can select an available mood, or type in your own. By selecting a mood from the menu, LiveJournal will match your mood with a (generally) cute icon. Music - Enter the current music playing in the background or stuck in your head. &app; can auto-detect songs playing in XMMS, Beep Media Player, and Rythmbox by clicking on the drop-down arrow to the right of this entry. Turn off comments - Do not allow other users to leave comments on this journal entry. Don't auto-format text - Prevent &app; from turning line-breaks in your journal entry into HTML tags. If you use this options, you'll need to enter the line-break and paragraph HTML tags manually in your entry. Past date - This allows you to make your journal entry appear to have been posted in the past. Picture - Select the picture you would like associated with this journal entry. MovableType only: Category - Select the category to sort this entry under. These controls are completely optional and are provided as ways to customize each journal entry. Feel free to set all, some, or none. Editing an Existing Entry &app; allows you to edit previous journal entries. Editing Your Last Entry To edit your last journal entry, choose EditLast Entry from the menu bar. &app; will automatically fetch your most recent entry. Once you have completed your modifications, click Update to update the entry in your journal. Edit a Recent Entry &app; builds a list of the fifteen most-recent entries when you log in. Choose Journal Recent Entries from the menu bar to see the complete list. Click on an item to load the complete entry. Once you have completed your modifications, click Update to update the entry in your journal. Editing any Existing Entry (LiveJournal only) To edit any previously-posted journal entry, choose EditHistory from the menu bar. This will open a window with a calendar. Any bold dates in the calendar have journal entries associated with them. The controls on the calendar can be used to go back months or even years. Once you've selected the date the entry you'd like to modify was posted, a list of entries from that day will appear in the bottom of the window. Select the entry to modify and click Edit. Once you have completed your modifications, click Update to update the entry in your journal. Working in the Journal Entry Window The editor built into &app; includes inline spell-checking and HTML syntax highlighting. Spell Checking To enable inline spell-checking, click ViewHighlight Spelling Errors in the menu bar. A wavy red line will appear underneath misspelled words. Right-clicking on the word will display a menu with a Spelling Suggestions submenu. Clicking on a displayed suggestion will insert it in place of the misspelled word. Press the F7 key to quickly enable or disable the spell-checker. HTML Syntax Highlighting &app; can display HTML keywords in different colors than the rest of your entry. This is useful for quickly catching formatting errors before posting an entry to your journal. To turn on HTML syntax highlighting, click View Highlight HTML in the menu bar. Frequently Asked Questions Why can't I title my Blogger entries? The original Blogger system did not support titles for journal entries. While Blogger has since extended it's servers to accept titles, it is still not part of the Blogger 1.0 standard which is used by numerous other journal systems, nor is Blogger able to send titles to clients when editing older entries or building lists of previous entries. To avoid these inconsistencies, &app; does not support Blogger 1.0 titles. Blogger.com users can opt to use the Atom API from &app;'s Login window. The Atom API supplants the older Blogger API and does include proper support for titling entries. The use of Atom will not alter your journal or break existing applications. What should I enter for my WordPress (or other Movable Type compatible) server? Wordpress (in common with other blogging engines that can be installed on remote servers like serendipity) uses Movable Type communication protocols, so select Movable Type in the drivel drop-down list. The exact URL depends on where your WordPress server is hosted, but it is usually something along the lines of http://www.yourwebsite.com/path/to/wordpress/xmlrpc.php. If your website was www.gnome.org and you installed wordpress to /public/wp, then your server line should read http://www.gnome.org/public/wp/xmlrpc.php. About &app; &app; was written by Todd Kulesza (todd@dropline.net). To find more information about &app;, please visit the Drivel web page. To report a bug or make a suggestion regarding this application or this manual, follow the directions in this document. This program is distributed under the terms of the GNU General Public license as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. A copy of this license can be found at this link, or in the file COPYING included with the source code of this program.
    drivel-3.0.5/help/cs/0000755000175000017500000000000012164124030011333 500000000000000drivel-3.0.5/help/cs/cs.po0000644000175000017500000007574712164124030012244 00000000000000# Czech translation of drivel-help # This file is distributed under the same license as the drivel package. # # Michal Simunek , 2009. # msgid "" msgstr "" "Project-Id-Version: drivel-help 3.0.0-1\n" "POT-Creation-Date: 2009-11-04 00:27+0000\n" "PO-Revision-Date: 2009-09-30 19:04+0100\n" "Last-Translator: Michal Simunek \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../help/C/drivel.xml:12(title) msgid "Drivel Manual" msgstr "Příručka pro Drivel" #: ../help/C/drivel.xml:13(date) msgid "2009-04-03" msgstr "3. 4. 2009" #: ../help/C/drivel.xml:15(year) msgid "2005" msgstr "2005" #: ../help/C/drivel.xml:16(holder) ../help/C/drivel.xml:19(publishername) msgid "Todd Kulesza" msgstr "Todd Kulesza" #: ../help/C/drivel.xml:2(para) msgid "" "Permission is granted to copy, distribute and/or modify this document under " "the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any " "later version published by the Free Software Foundation with no Invariant " "Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy " "of the GFDL at this link or " "in the file COPYING-DOCS distributed with this manual." msgstr "" "Permission is granted to copy, distribute and/or modify this document under " "the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any " "later version published by the Free Software Foundation with no Invariant " "Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy " "of the GFDL at this link or " "in the file COPYING-DOCS distributed with this manual." #: ../help/C/drivel.xml:12(para) msgid "" "This manual is part of a collection of GNOME manuals distributed under the " "GFDL. If you want to distribute this manual separately from the collection, " "you can do so by adding a copy of the license to the manual, as described in " "section 6 of the license." msgstr "" "This manual is part of a collection of GNOME manuals distributed under the " "GFDL. If you want to distribute this manual separately from the collection, " "you can do so by adding a copy of the license to the manual, as described in " "section 6 of the license." #: ../help/C/drivel.xml:19(para) msgid "" "Many of the names used by companies to distinguish their products and " "services are claimed as trademarks. Where those names appear in any GNOME " "documentation, and the members of the GNOME Documentation Project are made " "aware of those trademarks, then the names are in capital letters or initial " "capital letters." msgstr "" "Many of the names used by companies to distinguish their products and " "services are claimed as trademarks. Where those names appear in any GNOME " "documentation, and the members of the GNOME Documentation Project are made " "aware of those trademarks, then the names are in capital letters or initial " "capital letters." #: ../help/C/drivel.xml:35(para) msgid "" "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " "EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT " "THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " "MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE " "RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR " "MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR " "MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL " "WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY " "SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN " "ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION " "OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" msgstr "" "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " "EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT " "THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " "MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE " "RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR " "MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR " "MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL " "WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY " "SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN " "ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION " "OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" #: ../help/C/drivel.xml:55(para) msgid "" "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING " "NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY " "CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE " "DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON " "FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF " "ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, " "WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES " "OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED " "VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE " "POSSIBILITY OF SUCH DAMAGES." msgstr "" "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING " "NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY " "CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE " "DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON " "FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF " "ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, " "WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES " "OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED " "VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE " "POSSIBILITY OF SUCH DAMAGES." #: ../help/C/drivel.xml:28(para) msgid "" "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS " "OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " "" msgstr "" "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS " "OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " "" #: ../help/C/drivel.xml:23(para) msgid "User manual for the Drivel journal editor." msgstr "Uživatelská příručka pro editor deníku Drivel" #: ../help/C/drivel.xml:29(firstname) msgid "Todd" msgstr "Todd" #: ../help/C/drivel.xml:30(surname) msgid "Kulesza" msgstr "Kulesza" #: ../help/C/drivel.xml:32(orgname) msgid "Drivel Development Team" msgstr "Vývojový tým Drivel" #: ../help/C/drivel.xml:34(email) msgid "todd@dropline.net" msgstr "todd@dropline.net" #: ../help/C/drivel.xml:40(title) msgid "Feedback Information" msgstr "Informace pro odezvu" #: ../help/C/drivel.xml:41(para) msgid "" "To report a bug or make a suggestion regarding this application or this " "documentation, see the GNOME Feedback Page." msgstr "" "Pro nahlášení chyby, nebo pro připomínky k této aplikaci či dokumentaci " "navštivte stránku odezvy " "GNOME." #: ../help/C/drivel.xml:49(revnumber) msgid "2.0" msgstr "2.0" #: ../help/C/drivel.xml:50(date) msgid "03 Apr 2009" msgstr "3 dub 2009" #: ../help/C/drivel.xml:56(primary) msgid "Drivel" msgstr "Drivel" #: ../help/C/drivel.xml:59(primary) msgid "drivel" msgstr "drivel" #: ../help/C/drivel.xml:67(title) msgid "Introduction" msgstr "Úvod" #: ../help/C/drivel.xml:68(para) msgid "" "Drivel allows you to create and edit entries for " "online journals, commonly known as \"web logs\" or simply \"blogs\". Most " "popular journal servers are supported, including Advogato, Atom, Blogger, " "LiveJournal, and MovableType. An offline mode is also included for writing " "draft entries. Drivel is able to create new " "entries, edit or delete existing entries, and list the fifteen most recent " "entries for all of its supported journal systems, save Advogato. The entire " "LiveJournal feature set, including friends, security groups, moods, etc., is " "also supported, as are MovableType categories. The integrated editor " "supports HTML syntax highlighting, in-line spell-checking, and keyboard " "shortcuts for common HTML tags." msgstr "" "Drivel vám umožňuje vytvářet a upravovat obsah " "online deníků, obecně známé jako \"webové zápisky\" nebo jednoduše \"blogy" "\". Podporuje nejoblíbenější deníkové servery včetně Advogato, Atom, " "Blogger, LiveJournal a MovableType. Obsahuje také offline mód pro psaní " "konceptů. Drivel umí vytvářet nové záznamy, " "upravit nebo smazat existující záznamy, zobrazit patnáct posledních záznamů " "ve všech podporovaných deníkových systémech, včetně Advogato. Podporována " "jsou veškerá nastavení vlastností pro LiveJournal včetně přátel, " "zabezpečených skupin, nálad atd. stejně tak jako kategorie pro MovableType. " "Vestavěný editor podporuje zvýrazňování HTML syntaxe, kontrolu pravopisu a " "klávesové zkratky pro HTML značky." #: ../help/C/drivel.xml:89(title) msgid "Getting Started" msgstr "Začínáme" #: ../help/C/drivel.xml:94(term) msgid "Applications menu" msgstr "Menu Aplikace" #: ../help/C/drivel.xml:96(para) msgid "" "Choose InternetDrivel " "Journal Editor." msgstr "" "Vyberte InternetEditor " "deníku Drivel." #: ../help/C/drivel.xml:103(term) msgid "Command line" msgstr "Na příkazové řádce" #: ../help/C/drivel.xml:105(para) msgid "Type drivel, then press Return." msgstr "Napište drivel a stiskněte Enter." #: ../help/C/drivel.xml:90(para) msgid "" "You can start Drivel in the following ways: " "" msgstr "" "Drivel můžete spustit následujícími způsoby: " "" #: ../help/C/drivel.xml:117(para) msgid "" "Blogger.com - " "Blogger is one of the most popular sites for hosting online journals." msgstr "" "Blogger.com - " "Blogger je jedním z nejoblíbenějších serverů pro hostování online deníků." #: ../help/C/drivel.xml:123(para) msgid "" "LiveJournal.com - LiveJournal has one of the most active communities surrounding it " "of any online journal system." msgstr "" "LiveJournal.com - LiveJournal má jednu z nejaktivnějších komunit kolem jakéhokoli " "systému pro online deníky." #: ../help/C/drivel.xml:112(para) msgid "" "If you do not have an online journal, you'll need to set one up. New users " "may find the following links useful: " msgstr "" "Pokud nemáte online deník, budete potřebovat si jeden nastavit. Novým " "uživatelům se budou hodit následující odkazy: " #: ../help/C/drivel.xml:137(title) msgid "Usage" msgstr "Používání" #: ../help/C/drivel.xml:141(title) msgid "Logging In" msgstr "Přihlášení" #: ../help/C/drivel.xml:142(para) msgid "" "To log in to your journal, enter your username in the Username field and your password in the Password " "field. Set Journal type to the appropriate server type " "and verify that the Server address is correct--most " "users will not need to modify this field. If you wish, you can check the " "Remember password box to make Drivel store your password between sessions. If the " "Automatically login box is checked, " "Drivel will skip the Login Window when started " "and automatically log in to your journal account. Remember " "password must be checked in order for the Automatically " "login option to be available. Click Log In " "to complete the process." msgstr "" "Pro přihlášení k vašemu deníku, zadejte do políčka Jméno " "uživatele své uživatelské jméno a do políčka Heslo své heslo. V Typ deníku nastavte požadovaný " "typ serveru a ověřte, je-li Adresa serveru správná - " "většina uživatelů nebude potřebovat měnit toto políčko. Pokud si přejete, " "aby si Drivel mezi relacemi pamatoval heslo, " "zaškrtněte políčko Zapamatovat si heslo. Pokud " "zaškrtnete Automaticky přihlásit, při příštím spuštění " "Drivel přeskočí přihlašovací okno a automaticky " "vás přihlásí k vašemu účtu deníku. Pokud zvolíte tuto možnost, musíte také " "zaškrtnout políčko Zapamatovat si heslo. Klikněte na " "Přihlásit, čímž dokončíte přihlašování." #: ../help/C/drivel.xml:156(title) msgid "Working Offline" msgstr "Pracovat offline" #: ../help/C/drivel.xml:157(para) msgid "" "You may choose to skip the log in process and work offline. You will not be " "able to post new entries, but you will be able to save your work as drafts " "for later posting. To work offline, click the Work Offline button." msgstr "" "Můžete přeskočit přihlášení a pracovat offline. Nebudete moci odeslat nové " "záznamy, ale budete moci svou práci uložit jako koncept a odeslat ji " "později. Pro práci offline klikněte na tlačítko Pracovat odpojen." #: ../help/C/drivel.xml:164(title) msgid "Composing a New Entry" msgstr "Vytvoření nového záznamu" #: ../help/C/drivel.xml:174(para) msgid "" "LiveJournal only:Mood - You can " "select an available mood, or type in your own. By selecting a mood from the " "menu, LiveJournal will match your mood with a (generally) cute icon." msgstr "" "Pouze pro LiveJournal:Nálada - " "můžete vybrat z dostupných nálad, nebo napsat vlastní. Vyberete-li si náladu " "z menu, LiveJournal bude její ikonu vkládat (všeobecně)." #: ../help/C/drivel.xml:181(para) msgid "" "Music - Enter the current music playing in the " "background or stuck in your head. Drivel can auto-" "detect songs playing in XMMS, Beep Media Player, and Rythmbox by clicking on " "the drop-down arrow to the right of this entry." msgstr "" "Hudba - Vloží vybranou hudbu a přehrává jí na pozadí " "nebo ji sváže s hlavičkou. Drivel může " "automaticky rozpoznat skladby přehrávané v XMMS, Beep Media Player, a " "Rythmbox, pokud kliknete na rozbalovací menu napravo." #: ../help/C/drivel.xml:187(para) msgid "" "Turn off comments - Do not allow other users to leave " "comments on this journal entry." msgstr "" "Vypnout komentáře - Nedovolí ostatním uživatelům " "přidávat komentář k záznamu deníku." #: ../help/C/drivel.xml:191(para) msgid "" "Don't auto-format text - Prevent Drivel from turning line-breaks in your journal entry into HTML tags. " "If you use this options, you'll need to enter the line-break and paragraph " "HTML tags manually in your entry." msgstr "" "Neformátovat text automaticky - Zabrání, aby " "Drivel převáděl konce řádků v záznamu deníku na " "HTML značky. Pokud zvolíte tuto možnost, bude potřeba, aby jste vkládali " "HTML značky pro konce řádků a pro odstavce ručně." #: ../help/C/drivel.xml:197(para) msgid "" "Past date - This allows you to make your journal entry " "appear to have been posted in the past." msgstr "" "Datum v minulosti - Toto umožňuje, aby se záznam deníku " "zobrazoval jako vložený v minulosti." #: ../help/C/drivel.xml:201(para) msgid "" "Picture - Select the picture you would like associated " "with this journal entry." msgstr "" "Obrázek - Zvolí obrázek, který chcete přiřadit k tomuto " "záznamu deníku." #: ../help/C/drivel.xml:205(para) msgid "" "MovableType only:Category - Select " "the category to sort this entry under." msgstr "" "Pouze pro MovableType:Kategorie - " "Vybrat kategorii, ve které se bude tento záznam deníku nacházet." #: ../help/C/drivel.xml:165(para) msgid "" "Drivel provides an integrated editor for " "composing new journal entries. Once logged in, write your entry in the " "provided space. When you are satisfied with the entry, click Post. Depending on the type of journal, different controls may appear. " "Journals which support titles will have an optional Subject field. LiveJournal users will also see a Security menu; this allows you to select who can view your entry. By " "clicking on Show more options, the following entry-" "customization features will become available: These controls " "are completely optional and are provided as ways to customize each journal " "entry. Feel free to set all, some, or none." msgstr "" "Drivel poskytuje vestavěný editor pro psaní " "záznamů deníku. Po přihlášení napište záznam. Až budete se záznamem hotovi, " "klikněte na Vystavit. V závislosti na typu deníku, bude " "třeba odlišné nastavení. Deníky, které podporují titulky, budou mít " "volitelné políčko Předmět. Uživatelé LiveJournal také " "uvidí menu Zabezpečení, které umožňuje si zvolit, komu " "se má záznam zobrazovat. Kliknutím na Zobrazit další možnosti se zpřístupní následující možnosti pro přizpůsobení: Všechny tyto volby jsou volitelné a jsou poskytovány jako možnosti, jak " "si přizpůsobit každý ze záznamů. Klidně zvolte všechny, jen nějaké, nebo " "žádné." #: ../help/C/drivel.xml:215(title) msgid "Editing an Existing Entry" msgstr "Úprava existujícího záznamu" #: ../help/C/drivel.xml:216(para) msgid "" "Drivel allows you to edit previous journal " "entries." msgstr "" "Drivel vám umožňuje upravovat předchozí záznamy " "deníku." #: ../help/C/drivel.xml:218(title) msgid "Editing Your Last Entry" msgstr "Úprava posledního záznamu" #: ../help/C/drivel.xml:219(para) msgid "" "To edit your last journal entry, choose EditLast Entry from the menu " "bar. Drivel will automatically fetch your most " "recent entry. Once you have completed your modifications, click " "Update to update the entry in your journal." msgstr "" "Pro úpravu posledního záznamu deníku, zvolte " "UpravitPoslední záznam z menu. Drivel " "automaticky obdrží poslední záznam. Až s úpravami skončíte, klikněte na " "Aktualizovat, čimž aktualizujete záznam v deníku." #: ../help/C/drivel.xml:227(title) msgid "Edit a Recent Entry" msgstr "Úprava předchozího záznamu" #: ../help/C/drivel.xml:228(para) msgid "" "Drivel builds a list of the fifteen most-recent " "entries when you log in. Choose JournalRecent Entries from the " "menu bar to see the complete list. Click on an item to load the complete " "entry. Once you have completed your modifications, click Update to update the entry in your journal." msgstr "" "Drivel po přihlášení sestavuje patnáct posledních " "záznamů. Zvolte DeníkNedávné záznamy z menu a " "uvidíte kompletní seznam. Kliknete-li na položku, nahraje se celý záznam. Až " "dokončíte úpravy klikněte na Aktualizovat, čímž se " "záznam v deníku aktualizuje." #: ../help/C/drivel.xml:237(title) msgid "Editing any Existing Entry (LiveJournal only)" msgstr "Úprava jakéhokoli existujícího záznamu (pouze LiveJournal)" #: ../help/C/drivel.xml:238(para) msgid "" "To edit any previously-posted journal entry, choose " "EditHistory from the menu bar. This will open a window with a calendar. Any " "bold dates in the calendar have journal entries associated with them. The " "controls on the calendar can be used to go back months or even years. Once " "you've selected the date the entry you'd like to modify was posted, a list " "of entries from that day will appear in the bottom of the window. Select the " "entry to modify and click Edit. Once you have completed " "your modifications, click Update to update the entry in " "your journal." msgstr "" "Pro úpravu jakéhokoli předchozího zaslaného záznamu deníku zvolte " "UpravitHistorie z menu. Otevře se okno s kalendářem. Tučně " "označená data obsahují záznamy. V kalendáři se lze vrátit o měsíce či roky. " "Po té, co si zvolíte datum, zobrazí se záznam, který můžete upravovat, " "Seznam záznamu pro tento den se nachází v horní části okna. Vyberte záznam, " "který chcete upravit a klikněte na Upravit. Až " "dokončíte úpravy klikněte na Aktualizovat, čímž se " "záznam v deníku aktualizuje." #: ../help/C/drivel.xml:252(title) msgid "Working in the Journal Entry Window" msgstr "Práce s oknem záznamu" #: ../help/C/drivel.xml:253(para) msgid "" "The editor built into Drivel includes inline " "spell-checking and HTML syntax highlighting." msgstr "" "Vestavěný editor Drivel obsahuje kontrolu " "pravopisu a zvýrazňování HTML syntaxe." #: ../help/C/drivel.xml:256(title) msgid "Spell Checking" msgstr "Kontrola pravopisu" #: ../help/C/drivel.xml:257(para) msgid "" "To enable inline spell-checking, click ViewHighlight Spelling Errors " "in the menu bar. A wavy red line will appear underneath misspelled words. " "Right-clicking on the word will display a menu with a Spelling " "Suggestions submenu. Clicking on a displayed suggestion will " "insert it in place of the misspelled word." msgstr "" "Pro zapnutí kontroly pravopisu klikněte na ZobrazitZvýrazňovat slova s překlepy v menu. Chyby jsou podtrženy červenou vlnovkou. Kliknutím pravým " "tlačítkem zobrazíte menu Navrhované opravy. " "Kliknutí na návrh nahradí chybné slovo." #: ../help/C/drivel.xml:264(para) msgid "" "Press the F7 key to quickly enable or disable the spell-" "checker." msgstr "" "Pro rychlé zapnutí či vypnutí kontroly pravopisu stiskněte klávesu " "F7." #: ../help/C/drivel.xml:268(title) msgid "HTML Syntax Highlighting" msgstr "Zvýrazňování HTML syntaxe" #: ../help/C/drivel.xml:269(para) msgid "" "Drivel can display HTML keywords in different " "colors than the rest of your entry. This is useful for quickly catching " "formatting errors before posting an entry to your journal. To turn on HTML " "syntax highlighting, click ViewHighlight HTML in the " "menu bar." msgstr "" "Drivel umí zvýraznit HTML značky v odlišných " "barvách než zbylý text záznamu. To je užitečné pro rychlé odhalování chyb ve " "formátování před tím, než záznam odešlete do deníku. Pro zapnutí " "zvýrazňování HTML syntaxe klikněte na ZobrazitZvýrazňovat HTML v menu." #: ../help/C/drivel.xml:283(title) msgid "Frequently Asked Questions" msgstr "Často kladené otázky" #: ../help/C/drivel.xml:285(title) msgid "Why can't I title my Blogger entries?" msgstr "Proč nemohu pojmenovat záznamy na Blogger?" #: ../help/C/drivel.xml:286(para) msgid "" "The original Blogger system did not support titles for journal entries. " "While Blogger has since extended it's servers to accept titles, it is still " "not part of the Blogger 1.0 standard which is used by numerous other journal " "systems, nor is Blogger able to send titles to clients when editing older " "entries or building lists of previous entries. To avoid these " "inconsistencies, Drivel does not support Blogger " "1.0 titles." msgstr "" "Původní systém Blogger nepodporuje názvy záznamů v deníku. Přestože Blogger " "rozšířil své servery o názvy, není to stále zahrnuto do Blogger 1.0 " "standardu, který je používán mnohými ostatními deníkovými systémy, Blogger " "by nebyl schopen zaslat při úpravách či vytváření seznamu záznamů názvy " "klientovi. Aby se předešlo těmto nesrovnalostem, Drivel nepodporuje názvy pro Blogger 1.0." #: ../help/C/drivel.xml:292(para) msgid "" "Blogger.com users can opt to use the Atom API from Drivel's Login window. The Atom API supplants the older Blogger API " "and does include proper support for titling entries. The use of Atom will " "not alter your journal or break existing applications." msgstr "" "Uživatelé Blogger.com si mohou v přihlašovacím okně Drivel zvolit API Atom. API Atom nahrazuje starší API Blogger a " "zahrnuje lepší podporu pro pojmenovávání záznamů. Použití Atom nepozmění váš " "deník nebo nepoškodí existující aplikace." #: ../help/C/drivel.xml:298(title) msgid "" "What should I enter for my WordPress (or other Movable Type compatible) " "server?" msgstr "" "Jak mám vstoupit do WordPress (nebo jiného Movable Type systému ) serveru?" #: ../help/C/drivel.xml:300(para) msgid "" "Wordpress (in common with other blogging engines that " "can be installed on remote servers like serendipity) " "uses Movable\n" " Type communication protocols, so select Movable " "Type in the drivel drop-down list." msgstr "" "Wordpress (ostatní blogovací enginy všeobecně, které " "mohou být nainstalovány na vzdálené servery jako je serendipity) používají Movable\n" " Type komunikační protokol, takže vyberte z rozbalovacího " "seznamu Drivel Movable Type." #: ../help/C/drivel.xml:306(para) msgid "" "The exact URL depends on where your WordPress server is hosted, but it is " "usually something along the lines of http://www.yourwebsite.com/" "path/to/wordpress/xmlrpc.php. If your website was www." "gnome.org and you installed wordpress to /public/wp, then your server line should read http://www.gnome.org/" "public/wp/xmlrpc.php." msgstr "" "URL závisí na tom, na jakém serveru je WordPress hostován, ale obvykle bude " "vypadat nějak takto http://www.yourwebsite.com/cesta/k/wordpress/" "xmlrpc.php . Pokud máte web www.gnome.org a " "nainstalovali jste Wordpress do /public/wp, URL bude " "http://www.gnome.org/public/wp/xmlrpc.php ." #: ../help/C/drivel.xml:329(title) msgid "About Drivel" msgstr "O aplikaci Drivel" #: ../help/C/drivel.xml:330(para) msgid "" "Drivel was written by Todd Kulesza " "(todd@dropline.net). To find more information about " "Drivel, please visit the Drivel web page." msgstr "" "Drivel napsal Todd Kulesza (todd@dropline." "net). Pro více informací o Drivel se " "podívaje na web " "Drivel." #: ../help/C/drivel.xml:335(para) msgid "" "To report a bug or make a suggestion regarding this application or this " "manual, follow the directions in this document." msgstr "" "Pro nahlášení chyby či zaslání ohlasu vztahujícího se k této aplikaci nebo " "příručce, postupujte podle pokynů v tomto dokumentu." #: ../help/C/drivel.xml:340(para) msgid "" "This program is distributed under the terms of the GNU General Public " "license as published by the Free Software Foundation; either version 2 of " "the License, or (at your option) any later version. A copy of this license " "can be found at this link, or " "in the file COPYING included with the source code of this program." msgstr "" "Tento program je distribuován za podmínek GNU General Public license vydané " "Free Software Foundation; především verze 2, nebo (podle vaší volby) " "jakékoli pozdější verze. Kopii licence naleznete zde, nebo v souboru COPYING obsaženého ve zdrojovém " "kódu tohoto programu." #. Put one translator per line, in the form of NAME , YEAR1, YEAR2 #: ../help/C/drivel.xml:0(None) msgid "translator-credits" msgstr "Překlad - Michal Šimůnek (michal.simunek@gmail.com)" #~ msgid "Drivel Journal Editor Manual" #~ msgstr "Příručka pro editor deníku Drivel" drivel-3.0.5/help/cs/drivel.xml0000644000175000017500000004326512164124030013274 00000000000000 Drivel"> ]>
    Příručka pro Drivel 3. 4. 2009 2005 Todd Kulesza Todd Kulesza Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual. This manual is part of a collection of GNOME manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license. Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and the members of the GNOME Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters. DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. Uživatelská příručka pro editor deníku Drivel Todd Kulesza Vývojový tým Drivel
    todd@dropline.net
    Informace pro odezvu Pro nahlášení chyby, nebo pro připomínky k této aplikaci či dokumentaci navštivte stránku odezvy GNOME. 2.0 3 dub 2009
    Drivel drivel Úvod Drivel vám umožňuje vytvářet a upravovat obsah online deníků, obecně známé jako "webové zápisky" nebo jednoduše "blogy". Podporuje nejoblíbenější deníkové servery včetně Advogato, Atom, Blogger, LiveJournal a MovableType. Obsahuje také offline mód pro psaní konceptů. Drivel umí vytvářet nové záznamy, upravit nebo smazat existující záznamy, zobrazit patnáct posledních záznamů ve všech podporovaných deníkových systémech, včetně Advogato. Podporována jsou veškerá nastavení vlastností pro LiveJournal včetně přátel, zabezpečených skupin, nálad atd. stejně tak jako kategorie pro MovableType. Vestavěný editor podporuje zvýrazňování HTML syntaxe, kontrolu pravopisu a klávesové zkratky pro HTML značky. Začínáme Drivel můžete spustit následujícími způsoby: Menu Aplikace Vyberte InternetEditor deníku Drivel. Na příkazové řádce Napište drivel a stiskněte Enter. Pokud nemáte online deník, budete potřebovat si jeden nastavit. Novým uživatelům se budou hodit následující odkazy: Blogger.com - Blogger je jedním z nejoblíbenějších serverů pro hostování online deníků. LiveJournal.com - LiveJournal má jednu z nejaktivnějších komunit kolem jakéhokoli systému pro online deníky. Používání Přihlášení Pro přihlášení k vašemu deníku, zadejte do políčka Jméno uživatele své uživatelské jméno a do políčka Heslo své heslo. V Typ deníku nastavte požadovaný typ serveru a ověřte, je-li Adresa serveru správná - většina uživatelů nebude potřebovat měnit toto políčko. Pokud si přejete, aby si Drivel mezi relacemi pamatoval heslo, zaškrtněte políčko Zapamatovat si heslo. Pokud zaškrtnete Automaticky přihlásit, při příštím spuštění Drivel přeskočí přihlašovací okno a automaticky vás přihlásí k vašemu účtu deníku. Pokud zvolíte tuto možnost, musíte také zaškrtnout políčko Zapamatovat si heslo. Klikněte na Přihlásit, čímž dokončíte přihlašování. Pracovat offline Můžete přeskočit přihlášení a pracovat offline. Nebudete moci odeslat nové záznamy, ale budete moci svou práci uložit jako koncept a odeslat ji později. Pro práci offline klikněte na tlačítko Pracovat odpojen. Vytvoření nového záznamu Drivel poskytuje vestavěný editor pro psaní záznamů deníku. Po přihlášení napište záznam. Až budete se záznamem hotovi, klikněte na Vystavit. V závislosti na typu deníku, bude třeba odlišné nastavení. Deníky, které podporují titulky, budou mít volitelné políčko Předmět. Uživatelé LiveJournal také uvidí menu Zabezpečení, které umožňuje si zvolit, komu se má záznam zobrazovat. Kliknutím na Zobrazit další možnosti se zpřístupní následující možnosti pro přizpůsobení: Pouze pro LiveJournal:Nálada - můžete vybrat z dostupných nálad, nebo napsat vlastní. Vyberete-li si náladu z menu, LiveJournal bude její ikonu vkládat (všeobecně). Hudba - Vloží vybranou hudbu a přehrává jí na pozadí nebo ji sváže s hlavičkou. Drivel může automaticky rozpoznat skladby přehrávané v XMMS, Beep Media Player, a Rythmbox, pokud kliknete na rozbalovací menu napravo. Vypnout komentáře - Nedovolí ostatním uživatelům přidávat komentář k záznamu deníku. Neformátovat text automaticky - Zabrání, aby Drivel převáděl konce řádků v záznamu deníku na HTML značky. Pokud zvolíte tuto možnost, bude potřeba, aby jste vkládali HTML značky pro konce řádků a pro odstavce ručně. Datum v minulosti - Toto umožňuje, aby se záznam deníku zobrazoval jako vložený v minulosti. Obrázek - Zvolí obrázek, který chcete přiřadit k tomuto záznamu deníku. Pouze pro MovableType:Kategorie - Vybrat kategorii, ve které se bude tento záznam deníku nacházet. Všechny tyto volby jsou volitelné a jsou poskytovány jako možnosti, jak si přizpůsobit každý ze záznamů. Klidně zvolte všechny, jen nějaké, nebo žádné. Úprava existujícího záznamu Drivel vám umožňuje upravovat předchozí záznamy deníku. Úprava posledního záznamu Pro úpravu posledního záznamu deníku, zvolte UpravitPoslední záznam z menu. Drivel automaticky obdrží poslední záznam. Až s úpravami skončíte, klikněte na Aktualizovat, čimž aktualizujete záznam v deníku. Úprava předchozího záznamu Drivel po přihlášení sestavuje patnáct posledních záznamů. Zvolte DeníkNedávné záznamy z menu a uvidíte kompletní seznam. Kliknete-li na položku, nahraje se celý záznam. Až dokončíte úpravy klikněte na Aktualizovat, čímž se záznam v deníku aktualizuje. Úprava jakéhokoli existujícího záznamu (pouze LiveJournal) Pro úpravu jakéhokoli předchozího zaslaného záznamu deníku zvolte UpravitHistorie z menu. Otevře se okno s kalendářem. Tučně označená data obsahují záznamy. V kalendáři se lze vrátit o měsíce či roky. Po té, co si zvolíte datum, zobrazí se záznam, který můžete upravovat, Seznam záznamu pro tento den se nachází v horní části okna. Vyberte záznam, který chcete upravit a klikněte na Upravit. Až dokončíte úpravy klikněte na Aktualizovat, čímž se záznam v deníku aktualizuje. Práce s oknem záznamu Vestavěný editor Drivel obsahuje kontrolu pravopisu a zvýrazňování HTML syntaxe. Kontrola pravopisu Pro zapnutí kontroly pravopisu klikněte na ZobrazitZvýrazňovat slova s překlepy v menu. Chyby jsou podtrženy červenou vlnovkou. Kliknutím pravým tlačítkem zobrazíte menu Navrhované opravy. Kliknutí na návrh nahradí chybné slovo. Pro rychlé zapnutí či vypnutí kontroly pravopisu stiskněte klávesu F7. Zvýrazňování HTML syntaxe Drivel umí zvýraznit HTML značky v odlišných barvách než zbylý text záznamu. To je užitečné pro rychlé odhalování chyb ve formátování před tím, než záznam odešlete do deníku. Pro zapnutí zvýrazňování HTML syntaxe klikněte na ZobrazitZvýrazňovat HTML v menu. Často kladené otázky Proč nemohu pojmenovat záznamy na Blogger? Původní systém Blogger nepodporuje názvy záznamů v deníku. Přestože Blogger rozšířil své servery o názvy, není to stále zahrnuto do Blogger 1.0 standardu, který je používán mnohými ostatními deníkovými systémy, Blogger by nebyl schopen zaslat při úpravách či vytváření seznamu záznamů názvy klientovi. Aby se předešlo těmto nesrovnalostem, Drivel nepodporuje názvy pro Blogger 1.0. Uživatelé Blogger.com si mohou v přihlašovacím okně Drivel zvolit API Atom. API Atom nahrazuje starší API Blogger a zahrnuje lepší podporu pro pojmenovávání záznamů. Použití Atom nepozmění váš deník nebo nepoškodí existující aplikace. Jak mám vstoupit do WordPress (nebo jiného Movable Type systému ) serveru? Wordpress (ostatní blogovací enginy všeobecně, které mohou být nainstalovány na vzdálené servery jako je serendipity) používají Movable Type komunikační protokol, takže vyberte z rozbalovacího seznamu Drivel Movable Type. URL závisí na tom, na jakém serveru je WordPress hostován, ale obvykle bude vypadat nějak takto http://www.yourwebsite.com/cesta/k/wordpress/xmlrpc.php . Pokud máte web www.gnome.org a nainstalovali jste Wordpress do /public/wp, URL bude http://www.gnome.org/public/wp/xmlrpc.php . O aplikaci <application>Drivel</application> Drivel napsal Todd Kulesza (todd@dropline.net). Pro více informací o Drivel se podívaje na web Drivel. Pro nahlášení chyby či zaslání ohlasu vztahujícího se k této aplikaci nebo příručce, postupujte podle pokynů v tomto dokumentu. Tento program je distribuován za podmínek GNU General Public license vydané Free Software Foundation; především verze 2, nebo (podle vaší volby) jakékoli pozdější verze. Kopii licence naleznete zde, nebo v souboru COPYING obsaženého ve zdrojovém kódu tohoto programu.
    drivel-3.0.5/help/pt/0000755000175000017500000000000012164124030011351 500000000000000drivel-3.0.5/help/pt/pt.po0000644000175000017500000010006212164124030012253 00000000000000# Translation of Drivel's manual messages to Portuguese # # António Moreira , 2009. # Américo Monteiro , 2010. msgid "" msgstr "" "Project-Id-Version: drivel-help 3.0.1-1\n" "POT-Creation-Date: 2009-11-04 00:27+0000\n" "PO-Revision-Date: 2010-05-23 09:32+0100\n" "Last-Translator: Américo Monteiro \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Portuguese\n" "X-Poedit-SourceCharset: utf-8\n" "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../help/C/drivel.xml:12(title) msgid "Drivel Manual" msgstr "Manual do Drivel" #: ../help/C/drivel.xml:13(date) msgid "2009-04-03" msgstr "2009-04-03" #: ../help/C/drivel.xml:15(year) msgid "2005" msgstr "2005" #: ../help/C/drivel.xml:16(holder) ../help/C/drivel.xml:19(publishername) msgid "Todd Kulesza" msgstr "Todd Kulesza" #: ../help/C/drivel.xml:2(para) msgid "" "Permission is granted to copy, distribute and/or modify this document under " "the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any " "later version published by the Free Software Foundation with no Invariant " "Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy " "of the GFDL at this link or " "in the file COPYING-DOCS distributed with this manual." msgstr "" "Permission is granted to copy, distribute and/or modify this document under " "the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any " "later version published by the Free Software Foundation with no Invariant " "Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy " "of the GFDL at this link or " "in the file COPYING-DOCS distributed with this manual." #: ../help/C/drivel.xml:12(para) msgid "" "This manual is part of a collection of GNOME manuals distributed under the " "GFDL. If you want to distribute this manual separately from the collection, " "you can do so by adding a copy of the license to the manual, as described in " "section 6 of the license." msgstr "" "This manual is part of a collection of GNOME manuals distributed under the " "GFDL. If you want to distribute this manual separately from the collection, " "you can do so by adding a copy of the license to the manual, as described in " "section 6 of the license." #: ../help/C/drivel.xml:19(para) msgid "" "Many of the names used by companies to distinguish their products and " "services are claimed as trademarks. Where those names appear in any GNOME " "documentation, and the members of the GNOME Documentation Project are made " "aware of those trademarks, then the names are in capital letters or initial " "capital letters." msgstr "" "Many of the names used by companies to distinguish their products and " "services are claimed as trademarks. Where those names appear in any GNOME " "documentation, and the members of the GNOME Documentation Project are made " "aware of those trademarks, then the names are in capital letters or initial " "capital letters." #: ../help/C/drivel.xml:35(para) msgid "" "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " "EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT " "THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " "MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE " "RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR " "MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR " "MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL " "WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY " "SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN " "ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION " "OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" msgstr "" "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " "EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT " "THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " "MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE " "RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR " "MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR " "MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL " "WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY " "SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN " "ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION " "OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" #: ../help/C/drivel.xml:55(para) msgid "" "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING " "NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY " "CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE " "DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON " "FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF " "ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, " "WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES " "OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED " "VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE " "POSSIBILITY OF SUCH DAMAGES." msgstr "" "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING " "NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY " "CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE " "DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON " "FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF " "ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, " "WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES " "OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED " "VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE " "POSSIBILITY OF SUCH DAMAGES." #: ../help/C/drivel.xml:28(para) msgid "" "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS " "OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " "" msgstr "" "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS " "OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " "" #: ../help/C/drivel.xml:23(para) msgid "User manual for the Drivel journal editor." msgstr "Manual de Utilizador para o editor de diário Drivel." #: ../help/C/drivel.xml:29(firstname) msgid "Todd" msgstr "Todd" #: ../help/C/drivel.xml:30(surname) msgid "Kulesza" msgstr "Kulesza" #: ../help/C/drivel.xml:32(orgname) msgid "Drivel Development Team" msgstr "Equipa de Programadores do Drivel" #: ../help/C/drivel.xml:34(email) msgid "todd@dropline.net" msgstr "todd@dropline.net" #: ../help/C/drivel.xml:40(title) msgid "Feedback Information" msgstr "Informação de Retorno" #: ../help/C/drivel.xml:41(para) msgid "" "To report a bug or make a suggestion regarding this application or this " "documentation, see the GNOME Feedback Page." msgstr "" "Para relatar um bug ou fazer uma sugestão a respeito desta aplicação ou " "desta documentação, consulte o Página Feedback GNOME." #: ../help/C/drivel.xml:49(revnumber) msgid "2.0" msgstr "2.0" #: ../help/C/drivel.xml:50(date) msgid "03 Apr 2009" msgstr "03 Apr 2009" #: ../help/C/drivel.xml:56(primary) msgid "Drivel" msgstr "Drivel" #: ../help/C/drivel.xml:59(primary) msgid "drivel" msgstr "drivel" #: ../help/C/drivel.xml:67(title) msgid "Introduction" msgstr "Introdução" #: ../help/C/drivel.xml:68(para) msgid "" "Drivel allows you to create and edit entries for " "online journals, commonly known as \"web logs\" or simply \"blogs\". Most " "popular journal servers are supported, including Advogato, Atom, Blogger, " "LiveJournal, and MovableType. An offline mode is also included for writing " "draft entries. Drivel is able to create new " "entries, edit or delete existing entries, and list the fifteen most recent " "entries for all of its supported journal systems, save Advogato. The entire " "LiveJournal feature set, including friends, security groups, moods, etc., is " "also supported, as are MovableType categories. The integrated editor " "supports HTML syntax highlighting, in-line spell-checking, and keyboard " "shortcuts for common HTML tags." msgstr "" "Drivel permite-lhe criar e editar entradas para " "diários online, vulgarmente conhecidos como \"web logs\" ou simplesmente " "\"blogs\". São suportados a maioria dos servidores de diários mais " "populares, incluindo Advogato, Atom, Blogger, LiveJournal e MovableType. Um " "modo offline está também incluído para gravar entradas de rascunho. " "Drivel é capaz de criar novas entradas, editar ou " "apagar entradas existentes e enumera as quinze entradas mais recentes para " "todos os seus sistemas de suporte de diário, excepto Advogato. Também é " "suportado o conjunto inteiro de recursos LiveJournal, incluindo amigos, " "grupos de segurança, humor, etc, assim como categorias MovableType. O editor " "integrado de HTML suporta sintaxe destacada, verificação ortográfica online " "e atalhos de teclado para as etiquetas HTML mais comuns." #: ../help/C/drivel.xml:89(title) msgid "Getting Started" msgstr "Começando" #: ../help/C/drivel.xml:94(term) msgid "Applications menu" msgstr "menu Aplicações" #: ../help/C/drivel.xml:96(para) msgid "" "Choose InternetDrivel " "Journal Editor." msgstr "" "EscolhaInternetEditor de " "diário Drivel." #: ../help/C/drivel.xml:103(term) msgid "Command line" msgstr "Linha de Comandos" #: ../help/C/drivel.xml:105(para) msgid "Type drivel, then press Return." msgstr "" "Digite drivel, depois pressione Enter." #: ../help/C/drivel.xml:90(para) msgid "" "You can start Drivel in the following ways: " "" msgstr "" "Você pode iniciar o Drivel das seguintes " "maneiras: " #: ../help/C/drivel.xml:117(para) msgid "" "Blogger.com - " "Blogger is one of the most popular sites for hosting online journals." msgstr "" "Blogger.com - O " "Blogger é um dos sites mais populares para hospedagem de diários online." #: ../help/C/drivel.xml:123(para) msgid "" "LiveJournal.com - LiveJournal has one of the most active communities surrounding it " "of any online journal system." msgstr "" "LiveJournal.com - LiveJournal tem uma das comunidades mais activas, rodeando-o de " "qualquer sistema de diário online." #: ../help/C/drivel.xml:112(para) msgid "" "If you do not have an online journal, you'll need to set one up. New users " "may find the following links useful: " msgstr "" "Se você não tiver um diário online, precisa de configurar um. Novos " "utilizadores podem encontrar os seguintes links úteis: " #: ../help/C/drivel.xml:137(title) msgid "Usage" msgstr "Utilização" #: ../help/C/drivel.xml:141(title) msgid "Logging In" msgstr "Registando-se" #: ../help/C/drivel.xml:142(para) msgid "" "To log in to your journal, enter your username in the Username field and your password in the Password " "field. Set Journal type to the appropriate server type " "and verify that the Server address is correct--most " "users will not need to modify this field. If you wish, you can check the " "Remember password box to make Drivel store your password between sessions. If the " "Automatically login box is checked, " "Drivel will skip the Login Window when started " "and automatically log in to your journal account. Remember " "password must be checked in order for the Automatically " "login option to be available. Click Log In " "to complete the process." msgstr "" "Para iniciar sessão no seu diário, digite seu nome de utilizador no campo " "Nome de utilizador e a sua palavra-passe no campo " "Palavra-passe. Definir o tipo de diário para o tipo de servidor adequado e verificar se o " "endereço do servidor está correcto - a maioria dos " "utilizadores não terão que modificar este campo. Se quiser, você pode " "validar a caixa Lembrar palavra-passe para fazer o " "Drivel armazenar a sua palavra-passe entre " "sessões. Se a caixa do Registo automático está marcada, " "o Drivel irá saltar a janela de registo " "automaticamente quando começar a sessão na sua conta de diário. " "Lembrar palavra-passe deve ser verificada para que a " "opção Registo automático esteja disponível. Clique " "Entrar para concluir o processo." #: ../help/C/drivel.xml:156(title) msgid "Working Offline" msgstr "Trabalhando Offline" #: ../help/C/drivel.xml:157(para) msgid "" "You may choose to skip the log in process and work offline. You will not be " "able to post new entries, but you will be able to save your work as drafts " "for later posting. To work offline, click the Work Offline button." msgstr "" "Você pode optar por ignorar o processo de registo e trabalhar offline. Não " "será capaz de publicar novas entradas, mas será capaz de guardar o seu " "trabalho como rascunho para posterior publicação. Para trabalhar offline, " "clique no botão Trabalhar offline." #: ../help/C/drivel.xml:164(title) msgid "Composing a New Entry" msgstr "Compor uma Nova Entrada" #: ../help/C/drivel.xml:174(para) msgid "" "LiveJournal only:Mood - You can " "select an available mood, or type in your own. By selecting a mood from the " "menu, LiveJournal will match your mood with a (generally) cute icon." msgstr "" "apenas LiveJournal:Humor - Você " "pode seleccionar um tipo de humor disponível, ou digite o seu próprio. Ao " "seleccionar um estado de espírito a partir do menu, LiveJournal vai combinar " "o seu humor com um ícone (geralmente) engraçado." #: ../help/C/drivel.xml:181(para) msgid "" "Music - Enter the current music playing in the " "background or stuck in your head. Drivel can auto-" "detect songs playing in XMMS, Beep Media Player, and Rythmbox by clicking on " "the drop-down arrow to the right of this entry." msgstr "" "Música - Digite a música actual que está a tocar em " "fundo ou a que tem na cabeça. O Drivel pode auto-" "detectar músicas reproduzidas no XMMS, Beep Media Player e Rythmbox clicando " "na seta de opções suspensa à direita desta entrada." #: ../help/C/drivel.xml:187(para) msgid "" "Turn off comments - Do not allow other users to leave " "comments on this journal entry." msgstr "" "Desactivar comentários - Não permitir que outros " "utilizadores deixem comentários nesta entrada do diário." #: ../help/C/drivel.xml:191(para) msgid "" "Don't auto-format text - Prevent Drivel from turning line-breaks in your journal entry into HTML tags. " "If you use this options, you'll need to enter the line-break and paragraph " "HTML tags manually in your entry." msgstr "" "Não auto formatar texto - Prevenir o " "Drivel de converter as quebras de linha na " "entrada do diário em etiquetas HTML. Se você usar esta opção, vai precisar " "de digitar manualmente nas suas entradas as quebras de linha e as etiquetas " "nos parágrafos HTML." #: ../help/C/drivel.xml:197(para) msgid "" "Past date - This allows you to make your journal entry " "appear to have been posted in the past." msgstr "" "Data Passada - Isto permite que você faça uma entrada " "no seu diário parecer ter sido publicada no passado." #: ../help/C/drivel.xml:201(para) msgid "" "Picture - Select the picture you would like associated " "with this journal entry." msgstr "" "Imagem - Seleccione a imagem que você gostaria que " "fosse associada com a entrada do diário." #: ../help/C/drivel.xml:205(para) msgid "" "MovableType only:Category - Select " "the category to sort this entry under." msgstr "" "Apenas MovableType:Categoria - " "Seleccione a categoria para classificar esta entrada em baixo." #: ../help/C/drivel.xml:165(para) msgid "" "Drivel provides an integrated editor for " "composing new journal entries. Once logged in, write your entry in the " "provided space. When you are satisfied with the entry, click Post. Depending on the type of journal, different controls may appear. " "Journals which support titles will have an optional Subject field. LiveJournal users will also see a Security menu; this allows you to select who can view your entry. By " "clicking on Show more options, the following entry-" "customization features will become available: These controls " "are completely optional and are provided as ways to customize each journal " "entry. Feel free to set all, some, or none." msgstr "" "Drivel fornece um editor integrado para compor " "novas entradas de diário. Uma vez ligado, escreva a sua entrada no espaço " "fornecido. Quando estiver satisfeito com a entrada, clique " "Publicar. Dependendo do tipo de diário, diferentes " "controlos podem aparecer. Diários que suportam títulos terão um campo " "opcional Assunto. Utilizadores LiveJournal também verão " "um menu Segurança, o que lhe permite seleccionar quem " "pode ver a sua entrada. Ao clicar em Mostrar mais opções, as seguintes funcionalidades de personalização de entrada estarão " "disponíveis: Estes controlos são completamente opcionais e " "são fornecidos como formas de personalizar cada entrada do diário. Sinta-se " "livre para os definir todos, alguns ou nenhuns." #: ../help/C/drivel.xml:215(title) msgid "Editing an Existing Entry" msgstr "Editar uma Entrada Existente" #: ../help/C/drivel.xml:216(para) msgid "" "Drivel allows you to edit previous journal " "entries." msgstr "" "Drivel permite-lhe editar entradas prévias de " "diário." #: ../help/C/drivel.xml:218(title) msgid "Editing Your Last Entry" msgstr "Editar a Sua Última Entrada" #: ../help/C/drivel.xml:219(para) msgid "" "To edit your last journal entry, choose EditLast Entry from the menu " "bar. Drivel will automatically fetch your most " "recent entry. Once you have completed your modifications, click " "Update to update the entry in your journal." msgstr "" "Para editar a sua última entrada no diário, escolha " "EditarÚltima Entrada a partir da barra de menus. Drivel irá obter automaticamente a sua entrada mais recente. Depois de " "ter concluído as suas modificações, clique em Update " "para actualizar a entrada no seu diário." #: ../help/C/drivel.xml:227(title) msgid "Edit a Recent Entry" msgstr "Editar uma Entrada Recente" #: ../help/C/drivel.xml:228(para) msgid "" "Drivel builds a list of the fifteen most-recent " "entries when you log in. Choose JournalRecent Entries from the " "menu bar to see the complete list. Click on an item to load the complete " "entry. Once you have completed your modifications, click Update to update the entry in your journal." msgstr "" "Drivel cria uma lista das quinze entradas mais " "recentes quando se regista. Escolha Diário Entradas Recentes a " "partir do barra de menus para ver a lista completa. Clique num item para " "carregar a entrada completa. Depois de ter concluído as suas modificações, " "clique em Actualizar para actualizar a entrada em seu " "diário." #: ../help/C/drivel.xml:237(title) msgid "Editing any Existing Entry (LiveJournal only)" msgstr "Editar qualquer Entrada Existente (apenas LiveJournal)" #: ../help/C/drivel.xml:238(para) msgid "" "To edit any previously-posted journal entry, choose " "EditHistory from the menu bar. This will open a window with a calendar. Any " "bold dates in the calendar have journal entries associated with them. The " "controls on the calendar can be used to go back months or even years. Once " "you've selected the date the entry you'd like to modify was posted, a list " "of entries from that day will appear in the bottom of the window. Select the " "entry to modify and click Edit. Once you have completed " "your modifications, click Update to update the entry in " "your journal." msgstr "" "Para editar qualquer entrada previamente publicada no diário, escolha " "EditarHistória a partir da barra de menus. Isto irá abrir uma " "janela com um calendário. Quaisquer datas em negrito no calendário são " "entradas de diário que lhe estão associadas. Os controlos sobre o calendário " "podem ser usados para recuar meses ou mesmo anos. Depois de seleccionar a " "data em que foi publicada a entrada que você gostaria de modificar, uma " "lista de entradas a partir desse dia será exibida na parte inferior da " "janela. Seleccione a entrada para modificar e clique em Editar. Depois de ter concluído as suas modificações, clique em " "Actualizar para actualizar a entrada em seu diário." #: ../help/C/drivel.xml:252(title) msgid "Working in the Journal Entry Window" msgstr "Trabalhar na Janela de Entradas do Diário" #: ../help/C/drivel.xml:253(para) msgid "" "The editor built into Drivel includes inline " "spell-checking and HTML syntax highlighting." msgstr "" "O editor incorporado em Drivel inclui a " "verificação ortográfica automática e realce de sintaxe HTML." #: ../help/C/drivel.xml:256(title) msgid "Spell Checking" msgstr "Verificação Ortográfica" #: ../help/C/drivel.xml:257(para) msgid "" "To enable inline spell-checking, click ViewHighlight Spelling Errors " "in the menu bar. A wavy red line will appear underneath misspelled words. " "Right-clicking on the word will display a menu with a Spelling " "Suggestions submenu. Clicking on a displayed suggestion will " "insert it in place of the misspelled word." msgstr "" "Para activar a verificação ortográfica automática, clique " "VerSublinhar Erros de " "Ortografia na barra de menus. Uma linha ondulada " "vermelha vai aparecer em baixo das palavras com erros ortográficos. Com o " "botão direito do rato sobre a palavra será exibido um menu com um submenu " "Sugestões de Ortografia. Clicando na sugestão " "apresentada irá inseri-la no lugar da palavra incorrectamente escrita." #: ../help/C/drivel.xml:264(para) msgid "" "Press the F7 key to quickly enable or disable the spell-" "checker." msgstr "" "Pressione F7 para activar ou desactivar rapidamente o " "corretor ortográfico." #: ../help/C/drivel.xml:268(title) msgid "HTML Syntax Highlighting" msgstr "Realce de Sintaxe HTML" #: ../help/C/drivel.xml:269(para) msgid "" "Drivel can display HTML keywords in different " "colors than the rest of your entry. This is useful for quickly catching " "formatting errors before posting an entry to your journal. To turn on HTML " "syntax highlighting, click ViewHighlight HTML in the " "menu bar." msgstr "" "Drivel pode exibir palavras-chave HTML em cores " "diferentes do resto de sua entrada. Isto é útil para a rápida recuperação de " "erros de formatação antes de publicar uma entrada para seu diário. Para " "activar o destaque de sintaxe HTML, clique em VerDestaque HTML na barra de " "menus." #: ../help/C/drivel.xml:283(title) msgid "Frequently Asked Questions" msgstr "Perguntas Frequentes (FAQs)" #: ../help/C/drivel.xml:285(title) msgid "Why can't I title my Blogger entries?" msgstr "Por que não posso Eu intitular entradas do Blogger?" #: ../help/C/drivel.xml:286(para) msgid "" "The original Blogger system did not support titles for journal entries. " "While Blogger has since extended it's servers to accept titles, it is still " "not part of the Blogger 1.0 standard which is used by numerous other journal " "systems, nor is Blogger able to send titles to clients when editing older " "entries or building lists of previous entries. To avoid these " "inconsistencies, Drivel does not support Blogger " "1.0 titles." msgstr "" "O sistema original do Blogger não suporta títulos de entradas de diário. " "Embora o Blogger tenha sido estendido desde que os servidores aceitam " "títulos, ainda não faz parte do padrão do Blogger 1.0, que é utilizado por " "inúmeros sistemas de outros diários, nem o Blogger é capaz de enviar títulos " "para os clientes quando edita entradas mais velhas ou constrói listas de " "entradas precedentes. Para evitar estas inconsistências, " "Drivel o Blogger 1.0 não suporta títulos." #: ../help/C/drivel.xml:292(para) msgid "" "Blogger.com users can opt to use the Atom API from Drivel's Login window. The Atom API supplants the older Blogger API " "and does include proper support for titling entries. The use of Atom will " "not alter your journal or break existing applications." msgstr "" "Os utilizadores Blogger.com podem optar por usar a API do Atom da janela de " "registo do Drivel. A API Atom suplanta a antiga " "API do Blogger e inclui o suporte adequado para a titulação de entradas. O " "uso do Atom não irá alterar o seu diário ou quebrar aplicações existentes." #: ../help/C/drivel.xml:298(title) msgid "" "What should I enter for my WordPress (or other Movable Type compatible) " "server?" msgstr "" "O que devo digitar para o meu servidor WordPress (ou outro Movable Type " "compatível)?" #: ../help/C/drivel.xml:300(para) msgid "" "Wordpress (in common with other blogging engines that " "can be installed on remote servers like serendipity) " "uses Movable\n" " Type communication protocols, so select Movable " "Type in the drivel drop-down list." msgstr "" "Wordpress (em comum com outros motores de blogging que " "pode ser instalado em servidores remotos como serendipity) usa protocolos de comunicação Movable\n" " Type, assim seleccione Movable Type " "na lista de opções do Drivel." #: ../help/C/drivel.xml:306(para) msgid "" "The exact URL depends on where your WordPress server is hosted, but it is " "usually something along the lines of http://www.yourwebsite.com/" "path/to/wordpress/xmlrpc.php. If your website was www." "gnome.org and you installed wordpress to /public/wp, then your server line should read http://www.gnome.org/" "public/wp/xmlrpc.php." msgstr "" "O URL exacto depende de onde o seu servidor WordPress está hospedado, mas " "geralmente é algo nos moldes de http://www.yourwebsite.com/path/to/" "wordpress/xmlrpc.php . Se o seu site era www.gnome.org e você instalou o wordpress para /public/wp, " "então a sua linha de servidores deve ler http://www.gnome.org/" "public/wp/xmlrpc.php ." #: ../help/C/drivel.xml:329(title) msgid "About Drivel" msgstr "Sobre o Drivel" #: ../help/C/drivel.xml:330(para) msgid "" "Drivel was written by Todd Kulesza " "(todd@dropline.net). To find more information about " "Drivel, please visit the Drivel web page." msgstr "" "O Drivel foi escrito por Todd Kulesza " "(todd@dropline.net). Para obter mais informações sobre " "Drivel, visite o Página web do Drivel." #: ../help/C/drivel.xml:335(para) msgid "" "To report a bug or make a suggestion regarding this application or this " "manual, follow the directions in this document." msgstr "" "Para relatar um bug ou fazer uma sugestão a respeito desta aplicação ou " "deste manual, siga as instruções neste documento." #: ../help/C/drivel.xml:340(para) msgid "" "This program is distributed under the terms of the GNU General Public " "license as published by the Free Software Foundation; either version 2 of " "the License, or (at your option) any later version. A copy of this license " "can be found at this link, or " "in the file COPYING included with the source code of this program." msgstr "" "This program is distributed under the terms of the GNU General Public " "license as published by the Free Software Foundation; either version 2 of " "the License, or (at your option) any later version. A copy of this license " "can be found at this link, or " "in the file COPYING included with the source code of this program." #. Put one translator per line, in the form of NAME , YEAR1, YEAR2 #: ../help/C/drivel.xml:0(None) msgid "translator-credits" msgstr "António Moreira , 2003, 2009" #~ msgid "Drivel Journal Editor Manual" #~ msgstr "Manual do Editor de Diário Drivel" drivel-3.0.5/help/pt/drivel.xml0000644000175000017500000004501612164124030013306 00000000000000 Drivel"> ]>
    Manual do Drivel 2009-04-03 2005 Todd Kulesza Todd Kulesza Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual. This manual is part of a collection of GNOME manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license. Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and the members of the GNOME Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters. DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. Manual de Utilizador para o editor de diário Drivel. Todd Kulesza Equipa de Programadores do Drivel
    todd@dropline.net
    Informação de Retorno Para relatar um bug ou fazer uma sugestão a respeito desta aplicação ou desta documentação, consulte o Página Feedback GNOME. 2.0 03 Apr 2009
    Drivel drivel Introdução Drivel permite-lhe criar e editar entradas para diários online, vulgarmente conhecidos como "web logs" ou simplesmente "blogs". São suportados a maioria dos servidores de diários mais populares, incluindo Advogato, Atom, Blogger, LiveJournal e MovableType. Um modo offline está também incluído para gravar entradas de rascunho. Drivel é capaz de criar novas entradas, editar ou apagar entradas existentes e enumera as quinze entradas mais recentes para todos os seus sistemas de suporte de diário, excepto Advogato. Também é suportado o conjunto inteiro de recursos LiveJournal, incluindo amigos, grupos de segurança, humor, etc, assim como categorias MovableType. O editor integrado de HTML suporta sintaxe destacada, verificação ortográfica online e atalhos de teclado para as etiquetas HTML mais comuns. Começando Você pode iniciar o Drivel das seguintes maneiras: menu Aplicações EscolhaInternetEditor de diário Drivel. Linha de Comandos Digite drivel, depois pressione Enter. Se você não tiver um diário online, precisa de configurar um. Novos utilizadores podem encontrar os seguintes links úteis: Blogger.com - O Blogger é um dos sites mais populares para hospedagem de diários online. LiveJournal.com - LiveJournal tem uma das comunidades mais activas, rodeando-o de qualquer sistema de diário online. Utilização Registando-se Para iniciar sessão no seu diário, digite seu nome de utilizador no campo Nome de utilizador e a sua palavra-passe no campo Palavra-passe. Definir o tipo de diário para o tipo de servidor adequado e verificar se o endereço do servidor está correcto - a maioria dos utilizadores não terão que modificar este campo. Se quiser, você pode validar a caixa Lembrar palavra-passe para fazer o Drivel armazenar a sua palavra-passe entre sessões. Se a caixa do Registo automático está marcada, o Drivel irá saltar a janela de registo automaticamente quando começar a sessão na sua conta de diário. Lembrar palavra-passe deve ser verificada para que a opção Registo automático esteja disponível. Clique Entrar para concluir o processo. Trabalhando Offline Você pode optar por ignorar o processo de registo e trabalhar offline. Não será capaz de publicar novas entradas, mas será capaz de guardar o seu trabalho como rascunho para posterior publicação. Para trabalhar offline, clique no botão Trabalhar offline. Compor uma Nova Entrada Drivel fornece um editor integrado para compor novas entradas de diário. Uma vez ligado, escreva a sua entrada no espaço fornecido. Quando estiver satisfeito com a entrada, clique Publicar. Dependendo do tipo de diário, diferentes controlos podem aparecer. Diários que suportam títulos terão um campo opcional Assunto. Utilizadores LiveJournal também verão um menu Segurança, o que lhe permite seleccionar quem pode ver a sua entrada. Ao clicar em Mostrar mais opções, as seguintes funcionalidades de personalização de entrada estarão disponíveis: apenas LiveJournal:Humor - Você pode seleccionar um tipo de humor disponível, ou digite o seu próprio. Ao seleccionar um estado de espírito a partir do menu, LiveJournal vai combinar o seu humor com um ícone (geralmente) engraçado. Música - Digite a música actual que está a tocar em fundo ou a que tem na cabeça. O Drivel pode auto-detectar músicas reproduzidas no XMMS, Beep Media Player e Rythmbox clicando na seta de opções suspensa à direita desta entrada. Desactivar comentários - Não permitir que outros utilizadores deixem comentários nesta entrada do diário. Não auto formatar texto - Prevenir o Drivel de converter as quebras de linha na entrada do diário em etiquetas HTML. Se você usar esta opção, vai precisar de digitar manualmente nas suas entradas as quebras de linha e as etiquetas nos parágrafos HTML. Data Passada - Isto permite que você faça uma entrada no seu diário parecer ter sido publicada no passado. Imagem - Seleccione a imagem que você gostaria que fosse associada com a entrada do diário. Apenas MovableType:Categoria - Seleccione a categoria para classificar esta entrada em baixo. Estes controlos são completamente opcionais e são fornecidos como formas de personalizar cada entrada do diário. Sinta-se livre para os definir todos, alguns ou nenhuns. Editar uma Entrada Existente Drivel permite-lhe editar entradas prévias de diário. Editar a Sua Última Entrada Para editar a sua última entrada no diário, escolha EditarÚltima Entrada a partir da barra de menus. Drivel irá obter automaticamente a sua entrada mais recente. Depois de ter concluído as suas modificações, clique em Update para actualizar a entrada no seu diário. Editar uma Entrada Recente Drivel cria uma lista das quinze entradas mais recentes quando se regista. Escolha Diário Entradas Recentes a partir do barra de menus para ver a lista completa. Clique num item para carregar a entrada completa. Depois de ter concluído as suas modificações, clique em Actualizar para actualizar a entrada em seu diário. Editar qualquer Entrada Existente (apenas LiveJournal) Para editar qualquer entrada previamente publicada no diário, escolha EditarHistória a partir da barra de menus. Isto irá abrir uma janela com um calendário. Quaisquer datas em negrito no calendário são entradas de diário que lhe estão associadas. Os controlos sobre o calendário podem ser usados para recuar meses ou mesmo anos. Depois de seleccionar a data em que foi publicada a entrada que você gostaria de modificar, uma lista de entradas a partir desse dia será exibida na parte inferior da janela. Seleccione a entrada para modificar e clique em Editar. Depois de ter concluído as suas modificações, clique em Actualizar para actualizar a entrada em seu diário. Trabalhar na Janela de Entradas do Diário O editor incorporado em Drivel inclui a verificação ortográfica automática e realce de sintaxe HTML. Verificação Ortográfica Para activar a verificação ortográfica automática, clique VerSublinhar Erros de Ortografia na barra de menus. Uma linha ondulada vermelha vai aparecer em baixo das palavras com erros ortográficos. Com o botão direito do rato sobre a palavra será exibido um menu com um submenu Sugestões de Ortografia. Clicando na sugestão apresentada irá inseri-la no lugar da palavra incorrectamente escrita. Pressione F7 para activar ou desactivar rapidamente o corretor ortográfico. Realce de Sintaxe HTML Drivel pode exibir palavras-chave HTML em cores diferentes do resto de sua entrada. Isto é útil para a rápida recuperação de erros de formatação antes de publicar uma entrada para seu diário. Para activar o destaque de sintaxe HTML, clique em VerDestaque HTML na barra de menus. Perguntas Frequentes (FAQs) Por que não posso Eu intitular entradas do Blogger? O sistema original do Blogger não suporta títulos de entradas de diário. Embora o Blogger tenha sido estendido desde que os servidores aceitam títulos, ainda não faz parte do padrão do Blogger 1.0, que é utilizado por inúmeros sistemas de outros diários, nem o Blogger é capaz de enviar títulos para os clientes quando edita entradas mais velhas ou constrói listas de entradas precedentes. Para evitar estas inconsistências, Drivel o Blogger 1.0 não suporta títulos. Os utilizadores Blogger.com podem optar por usar a API do Atom da janela de registo do Drivel. A API Atom suplanta a antiga API do Blogger e inclui o suporte adequado para a titulação de entradas. O uso do Atom não irá alterar o seu diário ou quebrar aplicações existentes. O que devo digitar para o meu servidor WordPress (ou outro Movable Type compatível)? Wordpress (em comum com outros motores de blogging que pode ser instalado em servidores remotos como serendipity) usa protocolos de comunicação Movable Type, assim seleccione Movable Type na lista de opções do Drivel. O URL exacto depende de onde o seu servidor WordPress está hospedado, mas geralmente é algo nos moldes de http://www.yourwebsite.com/path/to/wordpress/xmlrpc.php . Se o seu site era www.gnome.org e você instalou o wordpress para /public/wp, então a sua linha de servidores deve ler http://www.gnome.org/public/wp/xmlrpc.php . Sobre o <application>Drivel</application> O Drivel foi escrito por Todd Kulesza (todd@dropline.net). Para obter mais informações sobre Drivel, visite o Página web do Drivel. Para relatar um bug ou fazer uma sugestão a respeito desta aplicação ou deste manual, siga as instruções neste This program is distributed under the terms of the GNU General Public license as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. A copy of this license can be found at this link, or in the file COPYING included with the source code of this program.
    drivel-3.0.5/help/Makefile.am0000644000175000017500000000143711552103110012703 00000000000000include $(top_srcdir)/gnome-doc-utils.make dist-hook: doc-dist-hook DOC_MODULE = drivel DOC_ENTITIES = legal.xml DOC_INCLUDES = DOC_FIGURES = drivel-help.pot: Makefile xml2po -e -o $(PACKAGE)-help.pot $(top_srcdir)/help/C/${PACKAGE}.xml EXTRA_DIST = drivel-help.pot DISTCLEANFILES = drivel-help.pot #figures/main_window.png figures/open_document.png DOC_LINGUAS = cs de pt report-po: Makefile if [ ! -d po ]; then \ mkdir po/ ; \ fi cp $(PACKAGE)-help.pot po cd po ; \ for l in $(DOC_LINGUAS); do \ if [ ! -L $$l.po ]; then \ ln -s ../$$l/$$l.po . ; \ fi; \ echo -n $$l: ; \ msgfmt -c --statistics $$l.po; \ rm -f messages.mo; \ done update-po: Makefile for l in $(DOC_LINGUAS); do \ msgmerge -U $(top_srcdir)/help/$$l/$$l.po $(top_srcdir)/help/$(PACKAGE)-help.pot; \ done drivel-3.0.5/help/drivel.omf.in0000644000175000017500000000131712164124030013245 00000000000000 Todd Kulesza (todd@dropline.net) Todd Kulesza (todd@dropline.net) 2004-08-16 user's guide drivel-3.0.5/help/drivel-help.pot0000644000175000017500000004144312161412440013615 00000000000000msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2013-06-22 22:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../help/C/drivel.xml:12(title) msgid "Drivel Manual" msgstr "" #: ../help/C/drivel.xml:13(date) msgid "2009-04-03" msgstr "" #: ../help/C/drivel.xml:15(year) msgid "2005" msgstr "" #: ../help/C/drivel.xml:16(holder) ../help/C/drivel.xml:19(publishername) msgid "Todd Kulesza" msgstr "" #: ../help/C/drivel.xml:2(para) msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual." msgstr "" #: ../help/C/drivel.xml:12(para) msgid "This manual is part of a collection of GNOME manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license." msgstr "" #: ../help/C/drivel.xml:19(para) msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and the members of the GNOME Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters." msgstr "" #: ../help/C/drivel.xml:35(para) msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" msgstr "" #: ../help/C/drivel.xml:55(para) msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES." msgstr "" #: ../help/C/drivel.xml:28(para) msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " msgstr "" #: ../help/C/drivel.xml:23(para) msgid "User manual for the Drivel journal editor." msgstr "" #: ../help/C/drivel.xml:29(firstname) msgid "Todd" msgstr "" #: ../help/C/drivel.xml:30(surname) msgid "Kulesza" msgstr "" #: ../help/C/drivel.xml:32(orgname) msgid "Drivel Development Team" msgstr "" #: ../help/C/drivel.xml:34(email) msgid "todd@dropline.net" msgstr "" #: ../help/C/drivel.xml:40(title) msgid "Feedback Information" msgstr "" #: ../help/C/drivel.xml:41(para) msgid "To report a bug or make a suggestion regarding this application or this documentation, see the GNOME Feedback Page." msgstr "" #: ../help/C/drivel.xml:49(revnumber) msgid "2.0" msgstr "" #: ../help/C/drivel.xml:50(date) msgid "03 Apr 2009" msgstr "" #: ../help/C/drivel.xml:56(primary) msgid "Drivel" msgstr "" #: ../help/C/drivel.xml:59(primary) msgid "drivel" msgstr "" #: ../help/C/drivel.xml:67(title) msgid "Introduction" msgstr "" #: ../help/C/drivel.xml:68(para) msgid "Drivel allows you to create and edit entries for online journals, commonly known as \"web logs\" or simply \"blogs\". Most popular journal servers are supported, including Advogato, Atom, Blogger, LiveJournal, and MovableType. An offline mode is also included for writing draft entries. Drivel is able to create new entries, edit or delete existing entries, and list the fifteen most recent entries for all of its supported journal systems, save Advogato. The entire LiveJournal feature set, including friends, security groups, moods, etc., is also supported, as are MovableType categories. The integrated editor supports HTML syntax highlighting, in-line spell-checking, and keyboard shortcuts for common HTML tags." msgstr "" #: ../help/C/drivel.xml:89(title) msgid "Getting Started" msgstr "" #: ../help/C/drivel.xml:94(term) msgid "Applications menu" msgstr "" #: ../help/C/drivel.xml:96(para) msgid "Choose InternetDrivel Journal Editor." msgstr "" #: ../help/C/drivel.xml:103(term) msgid "Command line" msgstr "" #: ../help/C/drivel.xml:105(para) msgid "Type drivel, then press Return." msgstr "" #: ../help/C/drivel.xml:90(para) msgid "You can start Drivel in the following ways: " msgstr "" #: ../help/C/drivel.xml:117(para) msgid "Blogger.com - Blogger is one of the most popular sites for hosting online journals." msgstr "" #: ../help/C/drivel.xml:123(para) msgid "LiveJournal.com - LiveJournal has one of the most active communities surrounding it of any online journal system." msgstr "" #: ../help/C/drivel.xml:112(para) msgid "If you do not have an online journal, you'll need to set one up. New users may find the following links useful: " msgstr "" #: ../help/C/drivel.xml:137(title) msgid "Usage" msgstr "" #: ../help/C/drivel.xml:141(title) msgid "Logging In" msgstr "" #: ../help/C/drivel.xml:142(para) msgid "To log in to your journal, enter your username in the Username field and your password in the Password field. Set Journal type to the appropriate server type and verify that the Server address is correct--most users will not need to modify this field. If you wish, you can check the Remember password box to make Drivel store your password between sessions. If the Automatically login box is checked, Drivel will skip the Login Window when started and automatically log in to your journal account. Remember password must be checked in order for the Automatically login option to be available. Click Log In to complete the process." msgstr "" #: ../help/C/drivel.xml:156(title) msgid "Working Offline" msgstr "" #: ../help/C/drivel.xml:157(para) msgid "You may choose to skip the log in process and work offline. You will not be able to post new entries, but you will be able to save your work as drafts for later posting. To work offline, click the Work Offline button." msgstr "" #: ../help/C/drivel.xml:164(title) msgid "Composing a New Entry" msgstr "" #: ../help/C/drivel.xml:174(para) msgid "LiveJournal only:Mood - You can select an available mood, or type in your own. By selecting a mood from the menu, LiveJournal will match your mood with a (generally) cute icon." msgstr "" #: ../help/C/drivel.xml:181(para) msgid "Music - Enter the current music playing in the background or stuck in your head. Drivel can auto-detect songs playing in XMMS, Beep Media Player, and Rythmbox by clicking on the drop-down arrow to the right of this entry." msgstr "" #: ../help/C/drivel.xml:187(para) msgid "Turn off comments - Do not allow other users to leave comments on this journal entry." msgstr "" #: ../help/C/drivel.xml:191(para) msgid "Don't auto-format text - Prevent Drivel from turning line-breaks in your journal entry into HTML tags. If you use this options, you'll need to enter the line-break and paragraph HTML tags manually in your entry." msgstr "" #: ../help/C/drivel.xml:197(para) msgid "Past date - This allows you to make your journal entry appear to have been posted in the past." msgstr "" #: ../help/C/drivel.xml:201(para) msgid "Picture - Select the picture you would like associated with this journal entry." msgstr "" #: ../help/C/drivel.xml:205(para) msgid "MovableType only:Category - Select the category to sort this entry under." msgstr "" #: ../help/C/drivel.xml:165(para) msgid "Drivel provides an integrated editor for composing new journal entries. Once logged in, write your entry in the provided space. When you are satisfied with the entry, click Post. Depending on the type of journal, different controls may appear. Journals which support titles will have an optional Subject field. LiveJournal users will also see a Security menu; this allows you to select who can view your entry. By clicking on Show more options, the following entry-customization features will become available: These controls are completely optional and are provided as ways to customize each journal entry. Feel free to set all, some, or none." msgstr "" #: ../help/C/drivel.xml:215(title) msgid "Editing an Existing Entry" msgstr "" #: ../help/C/drivel.xml:216(para) msgid "Drivel allows you to edit previous journal entries." msgstr "" #: ../help/C/drivel.xml:218(title) msgid "Editing Your Last Entry" msgstr "" #: ../help/C/drivel.xml:219(para) msgid "To edit your last journal entry, choose EditLast Entry from the menu bar. Drivel will automatically fetch your most recent entry. Once you have completed your modifications, click Update to update the entry in your journal." msgstr "" #: ../help/C/drivel.xml:227(title) msgid "Edit a Recent Entry" msgstr "" #: ../help/C/drivel.xml:228(para) msgid "Drivel builds a list of the fifteen most-recent entries when you log in. Choose JournalRecent Entries from the menu bar to see the complete list. Click on an item to load the complete entry. Once you have completed your modifications, click Update to update the entry in your journal." msgstr "" #: ../help/C/drivel.xml:237(title) msgid "Editing any Existing Entry (LiveJournal only)" msgstr "" #: ../help/C/drivel.xml:238(para) msgid "To edit any previously-posted journal entry, choose EditHistory from the menu bar. This will open a window with a calendar. Any bold dates in the calendar have journal entries associated with them. The controls on the calendar can be used to go back months or even years. Once you've selected the date the entry you'd like to modify was posted, a list of entries from that day will appear in the bottom of the window. Select the entry to modify and click Edit. Once you have completed your modifications, click Update to update the entry in your journal." msgstr "" #: ../help/C/drivel.xml:252(title) msgid "Working in the Journal Entry Window" msgstr "" #: ../help/C/drivel.xml:253(para) msgid "The editor built into Drivel includes inline spell-checking and HTML syntax highlighting." msgstr "" #: ../help/C/drivel.xml:256(title) msgid "Spell Checking" msgstr "" #: ../help/C/drivel.xml:257(para) msgid "To enable inline spell-checking, click ViewHighlight Spelling Errors in the menu bar. A wavy red line will appear underneath misspelled words. Right-clicking on the word will display a menu with a Spelling Suggestions submenu. Clicking on a displayed suggestion will insert it in place of the misspelled word." msgstr "" #: ../help/C/drivel.xml:264(para) msgid "Press the F7 key to quickly enable or disable the spell-checker." msgstr "" #: ../help/C/drivel.xml:268(title) msgid "HTML Syntax Highlighting" msgstr "" #: ../help/C/drivel.xml:269(para) msgid "Drivel can display HTML keywords in different colors than the rest of your entry. This is useful for quickly catching formatting errors before posting an entry to your journal. To turn on HTML syntax highlighting, click ViewHighlight HTML in the menu bar." msgstr "" #: ../help/C/drivel.xml:283(title) msgid "Frequently Asked Questions" msgstr "" #: ../help/C/drivel.xml:285(title) msgid "Why can't I title my Blogger entries?" msgstr "" #: ../help/C/drivel.xml:286(para) msgid "The original Blogger system did not support titles for journal entries. While Blogger has since extended it's servers to accept titles, it is still not part of the Blogger 1.0 standard which is used by numerous other journal systems, nor is Blogger able to send titles to clients when editing older entries or building lists of previous entries. To avoid these inconsistencies, Drivel does not support Blogger 1.0 titles." msgstr "" #: ../help/C/drivel.xml:292(para) msgid "Blogger.com users can opt to use the Atom API from Drivel's Login window. The Atom API supplants the older Blogger API and does include proper support for titling entries. The use of Atom will not alter your journal or break existing applications." msgstr "" #: ../help/C/drivel.xml:298(title) msgid "What should I enter for my WordPress (or other Movable Type compatible) server?" msgstr "" #: ../help/C/drivel.xml:300(para) msgid "Wordpress (in common with other blogging engines that can be installed on remote servers like serendipity) uses Movable\n Type communication protocols, so select Movable Type in the drivel drop-down list." msgstr "" #: ../help/C/drivel.xml:306(para) msgid "The exact URL depends on where your WordPress server is hosted, but it is usually something along the lines of http://www.yourwebsite.com/path/to/wordpress/xmlrpc.php. If your website was www.gnome.org and you installed wordpress to /public/wp, then your server line should read http://www.gnome.org/public/wp/xmlrpc.php." msgstr "" #: ../help/C/drivel.xml:329(title) msgid "About Drivel" msgstr "" #: ../help/C/drivel.xml:330(para) msgid "Drivel was written by Todd Kulesza (todd@dropline.net). To find more information about Drivel, please visit the Drivel web page." msgstr "" #: ../help/C/drivel.xml:335(para) msgid "To report a bug or make a suggestion regarding this application or this manual, follow the directions in this document." msgstr "" #: ../help/C/drivel.xml:340(para) msgid "This program is distributed under the terms of the GNU General Public license as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. A copy of this license can be found at this link, or in the file COPYING included with the source code of this program." msgstr "" #. Put one translator per line, in the form of NAME , YEAR1, YEAR2 #: ../help/C/drivel.xml:0(None) msgid "translator-credits" msgstr "" drivel-3.0.5/help/de/0000755000175000017500000000000012164124030011316 500000000000000drivel-3.0.5/help/de/de.po0000644000175000017500000010226412164124030012173 00000000000000# German translation of the Drivel manual. # Mario Blättermann , 2009. # msgid "" msgstr "" "Project-Id-Version: drivel 3.0\n" "POT-Creation-Date: 2009-11-04 00:27+0000\n" "PO-Revision-Date: 2009-09-02 21:05+0100\n" "Last-Translator: Mario Blättermann \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: German\n" "X-Poedit-Country: GERMANY\n" #: ../help/C/drivel.xml:12(title) msgid "Drivel Manual" msgstr "Drivel-Handbuch" #: ../help/C/drivel.xml:13(date) msgid "2009-04-03" msgstr "3. April 2009" #: ../help/C/drivel.xml:15(year) msgid "2005" msgstr "2005" #: ../help/C/drivel.xml:16(holder) ../help/C/drivel.xml:19(publishername) msgid "Todd Kulesza" msgstr "Todd Kulesza" #: ../help/C/drivel.xml:2(para) msgid "" "Permission is granted to copy, distribute and/or modify this document under " "the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any " "later version published by the Free Software Foundation with no Invariant " "Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy " "of the GFDL at this link or " "in the file COPYING-DOCS distributed with this manual." msgstr "" "Das vorliegende Dokument kann gemäß den Bedingungen der GNU Free " "Documentation License (GFDL), Version 1.1 oder jeder späteren, von der Free " "Software Foundation veröffentlichten Version ohne unveränderbare Abschnitte " "sowie ohne Texte auf dem vorderen und hinteren Buchdeckel kopiert, verteilt " "und/oder modifiziert werden. Eine Kopie der GFDL finden Sie unter diesem " "Link oder in der mit diesem " "Handbuch gelieferten Datei COPYING-DOCS." #: ../help/C/drivel.xml:12(para) msgid "" "This manual is part of a collection of GNOME manuals distributed under the " "GFDL. If you want to distribute this manual separately from the collection, " "you can do so by adding a copy of the license to the manual, as described in " "section 6 of the license." msgstr "" "Das vorliegende Handbuch ist Teil einer Reihe von GNOME-Handbüchern, die " "unter der GFDL verteilt werden. Wenn Sie dieses Handbuch separat verteilen " "möchten, können Sie dies tun, indem Sie dem Handbuch eine Kopie der Lizenz, " "wie in Abschnitt 6 der Lizenz beschrieben, hinzufügen." #: ../help/C/drivel.xml:19(para) msgid "" "Many of the names used by companies to distinguish their products and " "services are claimed as trademarks. Where those names appear in any GNOME " "documentation, and the members of the GNOME Documentation Project are made " "aware of those trademarks, then the names are in capital letters or initial " "capital letters." msgstr "" "Bei vielen der von Firmen zur Unterscheidung ihrer Produkte und " "Dienstleistungen verwendeten Namen handelt es sich um Marken. An den " "Stellen, an denen derartige Namen in einer GNOME-Dokumentation vorkommen und " "wenn die Mitglieder des GNOME Documentation Project über diese Marken " "informiert wurden, sind die Namen in Grossbuchstaben oder mit großen " "Anfangsbuchstaben geschrieben." #: ../help/C/drivel.xml:35(para) msgid "" "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " "EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT " "THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " "MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE " "RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR " "MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR " "MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL " "WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY " "SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN " "ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION " "OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" msgstr "" "DAS DOKUMENT WIRD »WIE VORLIEGEND« GELIEFERT, OHNE JEGLICHE GEWÄHRLEISTUNG, " "WEDER AUSDRÜCKLICH NOCH STILLSCHWEIGEND, EINSCHLIESSLICH, ABER NICHT " "BESCHRÄNKT AUF, GEWÄHRLEISTUNGEN, DASS DAS DOKUMENT ODER EINE MODIFIZIERTE " "VERSION DES DOKUMENTS FREI VON HANDELSÜBLICHEN FEHLERN UND FÜR EINEN " "BESTIMMTEN ZWECK GEEIGNET IST UND KEINE RECHTE DRITTER VERLETZT. JEGLICHES " "RISIKO IN BEZUG AUF DIE QUALITÄT, GENAUIGKEIT UND LEISTUNG DES DOKUMENTS " "ODER EINER MODIFIZIERTEN VERSION DES DOKUMENTS TRAGEN SIE. SOLLTE SICH EIN " "DOKUMENT ODER EINE MODIFIZIERTE VERSION DAVON IN IRGENDEINER WEISE ALS " "FEHLERHAFT ERWEISEN, TRAGEN SIE (NICHT DER URSPRÜNGLICHE VERFASSER, AUTOR " "ODER EIN MITWIRKENDER) DIE KOSTEN FÜR JEGLICHE ERFORDERLICHE SERVICE-, " "REPARATUR- UND KORREKTURMASSNAHMEN: DIESE BESCHRÄNKUNG DER GEWÄHRLEISTUNG " "IST WESENTLICHER BESTANDTEIL DIESER LIZENZ. JEDE VERWENDUNG EINES DOKUMENTS " "ODER EINER MODIFIZIERTEN VERSION DES DOKUMENTS UNTERLIEGT DIESER " "BESCHRÄNKUNG; UND" #: ../help/C/drivel.xml:55(para) msgid "" "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING " "NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY " "CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE " "DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON " "FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF " "ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, " "WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES " "OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED " "VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE " "POSSIBILITY OF SUCH DAMAGES." msgstr "" "UNTER KEINEN UMSTÄNDEN UND GEMÄSS KEINER RECHTSLEHRE, WEDER AUFGRUND VON " "UNERLAUBTEN HANDLUNGEN (EINSCHLIESSLICH FAHRLÄSSIGKEIT), VERTRÄGEN ODER " "SONSTIGEM, KANN DER AUTOR, DER URSPRÜNGLICHE VERFASSER, EIN MITWIRKENDER " "ODER EIN VERTEILER DES DOKUMENTS ODER EINER MODIFIZIERTEN VERSION DES " "DOKUMENTS ODER EIN LIEFERANT EINER DIESER PARTEIEN VON EINER PERSON FÜR " "DIREKTE, INDIREKTE, BESONDERE, ZUFÄLLIGE ODER ALS FOLGE AUFGETRETENE SCHÄDEN " "IRGENDEINER ART, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF, SCHÄDEN DURCH " "GESCHÄFTSWERTVERLUSTE, ARBEITSAUSFÄLLE, COMPUTERAUSFÄLLE ODER -" "FUNKTIONSSTÖRUNGEN ODER JEGLICHE ANDERE SCHÄDEN ODER VERLUSTE, DIE DURCH " "ODER IM ZUSAMMENHANG MIT DER VERWENDUNG DES DOKUMENTS ODER EINER " "MODIFIZIERTEN VERSION DES DOKUMENTS ENTSTANDEN SIND, SELBST WENN DIESE " "PARTEI ÜBER MÖGLICHE SCHÄDEN INFORMIERT WORDEN SEIN SOLLTE, HAFTBAR GEMACHT " "WERDEN." #: ../help/C/drivel.xml:28(para) msgid "" "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS " "OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " "" msgstr "" "DAS DOKUMENT UND VERÄNDERTE FASSUNGEN DES DOKUMENTS WERDEN UNTER DEN " "BEDINGUNGEN DER GNU FREE DOCUMENTATION LICENSE ZUR VERFÜGUNG GESTELLT MIT " "DEM WEITERGEHENDEN VERSTÄNDNIS, DASS: " #: ../help/C/drivel.xml:23(para) msgid "User manual for the Drivel journal editor." msgstr "Benutzerhandbuch für den Drivel Tagebucheditor" #: ../help/C/drivel.xml:29(firstname) msgid "Todd" msgstr "Todd" #: ../help/C/drivel.xml:30(surname) msgid "Kulesza" msgstr "Kulesza" #: ../help/C/drivel.xml:32(orgname) msgid "Drivel Development Team" msgstr "Drivel-Entwicklerteam" #: ../help/C/drivel.xml:34(email) msgid "todd@dropline.net" msgstr "todd@dropline.net" #: ../help/C/drivel.xml:40(title) msgid "Feedback Information" msgstr "Rückmeldungen" #: ../help/C/drivel.xml:41(para) msgid "" "To report a bug or make a suggestion regarding this application or this " "documentation, see the GNOME Feedback Page." msgstr "" "Um einen Fehler zu melden oder einen Vorschlag zu dieser Anwendung oder zu " "diesem Handbuch zu machen, folgen Sie den Anweisungen auf der GNOME-Seite für Rückmeldungen." #: ../help/C/drivel.xml:49(revnumber) msgid "2.0" msgstr "2.0" #: ../help/C/drivel.xml:50(date) msgid "03 Apr 2009" msgstr "3. April 2009" #: ../help/C/drivel.xml:56(primary) msgid "Drivel" msgstr "Drivel" #: ../help/C/drivel.xml:59(primary) msgid "drivel" msgstr "drivel" #: ../help/C/drivel.xml:67(title) msgid "Introduction" msgstr "Einführung" #: ../help/C/drivel.xml:68(para) msgid "" "Drivel allows you to create and edit entries for " "online journals, commonly known as \"web logs\" or simply \"blogs\". Most " "popular journal servers are supported, including Advogato, Atom, Blogger, " "LiveJournal, and MovableType. An offline mode is also included for writing " "draft entries. Drivel is able to create new " "entries, edit or delete existing entries, and list the fifteen most recent " "entries for all of its supported journal systems, save Advogato. The entire " "LiveJournal feature set, including friends, security groups, moods, etc., is " "also supported, as are MovableType categories. The integrated editor " "supports HTML syntax highlighting, in-line spell-checking, and keyboard " "shortcuts for common HTML tags." msgstr "" "Drivel ermöglicht Ihnen die Erstellung und " "Bearbeitung von Einträgen für Online-Tagebücher, gemeinhin als »Weblogs« oder " "einfach »Blogs« bekannt. Die populärsten Tagebuchserver werden unterstützt, " "einschließlich Advogato, Atom, Blogger, LiveJournal und MovableType. In " "einem Offline-Modus können Sie Entwürfe für Einträge schreiben. " "Drivel ist in der Lage, neue Einträge zu " "erstellen, bestehende Einträge bearbeiten oder löschen sowie die fünfzehn " "zuletzt bearbeiteten Einträge für alle unterstützten Tagebuchsysteme " "auflisten. Die komplette Funktionsvielfalt von LiveJournal, wie Freunde, " "Sicherheitsgruppen, Stimmungen usw. wird ebenfalls unterstützt, wie auch " "MovableType-Kategorien. Der eingebaute Editor besitzt einen " "Hervorhebungsmodus für HTML und Tastenkürzel für die gebräuchlichsten HTML-" "Tags." #: ../help/C/drivel.xml:89(title) msgid "Getting Started" msgstr "Erste Schritte" #: ../help/C/drivel.xml:94(term) msgid "Applications menu" msgstr "Menü Anwendungen" #: ../help/C/drivel.xml:96(para) msgid "" "Choose InternetDrivel " "Journal Editor." msgstr "" "Wählen Sie InternetDrivel " "Tagebucheditor." #: ../help/C/drivel.xml:103(term) msgid "Command line" msgstr "Befehlszeile" #: ../help/C/drivel.xml:105(para) msgid "Type drivel, then press Return." msgstr "" "Geben Sie drivel ein und drücken Sie die " "Eingabetaste." #: ../help/C/drivel.xml:90(para) msgid "" "You can start Drivel in the following ways: " "" msgstr "" "Sie können Drivel auf folgende Arten starten: " "" #: ../help/C/drivel.xml:117(para) msgid "" "Blogger.com - " "Blogger is one of the most popular sites for hosting online journals." msgstr "" "Blogger.com - " "Blogger ist eine der populärsten Seiten für die Bereitstellung von Online-" "Tagebüchern." #: ../help/C/drivel.xml:123(para) msgid "" "LiveJournal.com - LiveJournal has one of the most active communities surrounding it " "of any online journal system." msgstr "" "LiveJournal.com - LiveJournal hat eine der aktivsten Communities unter den Online-" "Tagebuchsystemen." #: ../help/C/drivel.xml:112(para) msgid "" "If you do not have an online journal, you'll need to set one up. New users " "may find the following links useful: " msgstr "" "Falls Sie kein Online-Tagebuch haben, müssen Sie zunächst eines einrichten. " "Für Neulinge dürften folgende Links nützlich sein: " #: ../help/C/drivel.xml:137(title) msgid "Usage" msgstr "Benutzung" #: ../help/C/drivel.xml:141(title) msgid "Logging In" msgstr "Anmelden" #: ../help/C/drivel.xml:142(para) msgid "" "To log in to your journal, enter your username in the Username field and your password in the Password " "field. Set Journal type to the appropriate server type " "and verify that the Server address is correct--most " "users will not need to modify this field. If you wish, you can check the " "Remember password box to make Drivel store your password between sessions. If the " "Automatically login box is checked, " "Drivel will skip the Login Window when started " "and automatically log in to your journal account. Remember " "password must be checked in order for the Automatically " "login option to be available. Click Log In " "to complete the process." msgstr "" "Um sich an Ihrem Tagebuch anzumelden, geben Sie Ihren Benutzernamen in das " "Benutzername-Feld und Ihr Passwort in das " "Passwort-Feld ein. Setzen Sie Tagebuchtyp auf den entsprechenden Servertyp und stellen Sie sicher, dass die " "Serveradresse korrekt ist. Für die meisten Benutzer " "wird es nicht nötig sein, dieses Feld zu ändern. Falls gewünscht, können Sie " "das Ankreuzfeld Passwort speichern, um durch " "Drivel das Passwort für weitere Sitzungen " "speichern zu lassen. Falls das Ankreuzfeld Automatisch anmelden aktiviert ist, überspringt Drivel das " "Anmeldefenster beim Start und meldet Sie automatisch an Ihrem Tagebuchkonto " "an. Passwort speichern muss aktiviert sein, damit die " "Option Automatisch anmelden verfügbar wird. Klicken Sie " "auf Anmelden, um den Vorgang abzuschließen." #: ../help/C/drivel.xml:156(title) msgid "Working Offline" msgstr "Offline arbeiten" #: ../help/C/drivel.xml:157(para) msgid "" "You may choose to skip the log in process and work offline. You will not be " "able to post new entries, but you will be able to save your work as drafts " "for later posting. To work offline, click the Work Offline button." msgstr "" "Sie können wählen, ob Sie den Anmeldevorgang überspringen wollen, um offline " "zu arbeiten. Sie sind dann nicht in der Lage, neue Einträge anzulegen, aber " "Sie können sie als Entürfe speichern, um sie später zu übertragen. Um " "offline zu arbeiten, klicken Sie auf den Knopf Offline arbeiten." #: ../help/C/drivel.xml:164(title) msgid "Composing a New Entry" msgstr "Erstellen eines neuen Eintrages" #: ../help/C/drivel.xml:174(para) msgid "" "LiveJournal only:Mood - You can " "select an available mood, or type in your own. By selecting a mood from the " "menu, LiveJournal will match your mood with a (generally) cute icon." msgstr "" "Nur für LiveJournal:Stimmung - Sie " "können eine der verfügbaren Stimmungen auswählen oder eine eigene eingeben. " "Wenn Sie eine der Stimmungen aus dem Menü wählen, dann ordnet LiveJournal " "Ihrer Stimmung ein passendes Symbol zu." #: ../help/C/drivel.xml:181(para) msgid "" "Music - Enter the current music playing in the " "background or stuck in your head. Drivel can auto-" "detect songs playing in XMMS, Beep Media Player, and Rythmbox by clicking on " "the drop-down arrow to the right of this entry." msgstr "" "Music - Geben Sie die aktuell im Hintergrund " "abgespielte Musik ein. Drivel erkennt automatisch " "die in XMMS, Beep Media Player und Rhythmbox abgespielte Musik, wenn Sie auf " "den Auswahlpfeil rechts neben dem Eintrag klicken." #: ../help/C/drivel.xml:187(para) msgid "" "Turn off comments - Do not allow other users to leave " "comments on this journal entry." msgstr "" "Kommentare abschalten - Dadurch wird Benutzern die " "Erlaubnis verweigert, Kommentare zu diesem Tagebucheintrag zu hinterlassen." #: ../help/C/drivel.xml:191(para) msgid "" "Don't auto-format text - Prevent Drivel from turning line-breaks in your journal entry into HTML tags. " "If you use this options, you'll need to enter the line-break and paragraph " "HTML tags manually in your entry." msgstr "" "Text nicht automatisch formatieren - Dies verhindert, " "dass Drivel Zeilenumbrüche im Tagebucheintrag " "automatisch in HTML-Tags umwandelt. Falls Sie diese Optionen verwenden " "wollen, müssen Sie die HTML-Tags für Zeilenumbrüche und Absätze manuell in " "Ihren Eintrag einfügen." #: ../help/C/drivel.xml:197(para) msgid "" "Past date - This allows you to make your journal entry " "appear to have been posted in the past." msgstr "" "Zurückdatieren - Dadurch wird ermöglicht, dass Ihr " "Tagebucheintrag so erscheint, als ob er bereits zu einem früheren Zeitpunkt " "angelegt worden wäre." #: ../help/C/drivel.xml:201(para) msgid "" "Picture - Select the picture you would like associated " "with this journal entry." msgstr "" "Bild - Wählen Sie ein Bild aus, welches Sie diesem " "Tagebucheintrag zuordnen wollen." #: ../help/C/drivel.xml:205(para) msgid "" "MovableType only:Category - Select " "the category to sort this entry under." msgstr "" "Nur MovableType:Kategorie - Wählen " "Sie die Kategorie aus, in die Sie diesen Eintrag einsortieren wollen." #: ../help/C/drivel.xml:165(para) msgid "" "Drivel provides an integrated editor for " "composing new journal entries. Once logged in, write your entry in the " "provided space. When you are satisfied with the entry, click Post. Depending on the type of journal, different controls may appear. " "Journals which support titles will have an optional Subject field. LiveJournal users will also see a Security menu; this allows you to select who can view your entry. By " "clicking on Show more options, the following entry-" "customization features will become available: These controls " "are completely optional and are provided as ways to customize each journal " "entry. Feel free to set all, some, or none." msgstr "" "Drivel stellt einen integrierten Editor zum " "Erstellen neuer Tagebucheinträge zur Verfügung. Sobald Sie sich angemeldet " "haben, schreiben Sie Ihren Eintrag in den dafür bereitgestellten Bereich. " "Wenn Sie mit dem Inhalt zufrieden sind, klicken Sie auf Absenden. Abhängig von der Art des Tagebuchs erscheinen verschiedene " "Bedienelemente. Wenn ein Tagebuch Titel unterstützt, dann wird ein " "optionales Betreff-Feld angezeigt. LiveJournal-" "Benutzern steht auch ein Sicherheits-Menü zur " "Verfügung. In diesem Menü können Sie bestimmen, wer Ihren Eintrag lesen " "darf. Durch einen Klick auf Mehr Optionen zeigen werden " "folgende weitere Funktionen zur Anpassung des Eintrags aktiviert: " " Diese Bedienelemente sind völlig optional und werden nur " "als Möglichkeit zur Anpassung eines Tagebucheintrages bereitgestellt. Nach " "Ihrem Ermessen können Sie alle, einige oder keine anpassen." #: ../help/C/drivel.xml:215(title) msgid "Editing an Existing Entry" msgstr "Bearbeiten eines vorhandenen Eintrags" #: ../help/C/drivel.xml:216(para) msgid "" "Drivel allows you to edit previous journal " "entries." msgstr "" "Drivel ermöglicht Ihnen das Bearbeiten früherer " "Tagebucheinträge." #: ../help/C/drivel.xml:218(title) msgid "Editing Your Last Entry" msgstr "Bearbeiten Ihres letzten Eintrags" #: ../help/C/drivel.xml:219(para) msgid "" "To edit your last journal entry, choose EditLast Entry from the menu " "bar. Drivel will automatically fetch your most " "recent entry. Once you have completed your modifications, click " "Update to update the entry in your journal." msgstr "" "Um Ihren letzten Tagebucheintrag zu bearbeiten, wählen Sie " "BearbeitenLetzter Eintrag in der Menüleiste. Drivel ermittelt automatisch Ihren aktuellsten Eintrag. Sobald Ihre " "Änderungen abgeschlossen sind, klicken Sie auf Aktualisieren, um den Eintrag in Ihrem Tagebuch zu aktualisieren." #: ../help/C/drivel.xml:227(title) msgid "Edit a Recent Entry" msgstr "Bearbeiten eines kürzlich erstellten Eintrags" #: ../help/C/drivel.xml:228(para) msgid "" "Drivel builds a list of the fifteen most-recent " "entries when you log in. Choose JournalRecent Entries from the " "menu bar to see the complete list. Click on an item to load the complete " "entry. Once you have completed your modifications, click Update to update the entry in your journal." msgstr "" "Drivel erstellt beim Anmelden eine Liste der " "fünfzehn aktuellsten Einträge. Wählen Sie TagebuchLetzte Einträge in der " "Menüleiste, um die vollständige Liste anzuzeigen. Klicken Sie auf ein " "Objekt, um den kompletten Eintrag zu laden. Sobald Ihre Änderungen " "abgeschlossen sind, klicken Sie auf Aktualisieren, um " "den Eintrag in Ihrem Tagebuch zu aktualisieren." #: ../help/C/drivel.xml:237(title) msgid "Editing any Existing Entry (LiveJournal only)" msgstr "Bearbeiten eines vorhandenen Eintrags (nur LiveJournal)" #: ../help/C/drivel.xml:238(para) msgid "" "To edit any previously-posted journal entry, choose " "EditHistory from the menu bar. This will open a window with a calendar. Any " "bold dates in the calendar have journal entries associated with them. The " "controls on the calendar can be used to go back months or even years. Once " "you've selected the date the entry you'd like to modify was posted, a list " "of entries from that day will appear in the bottom of the window. Select the " "entry to modify and click Edit. Once you have completed " "your modifications, click Update to update the entry in " "your journal." msgstr "" "Um einen Ihrer früheren Tagebucheinträge zu bearbeiten, wählen Sie " "BearbeitenChronik in der Menüleiste. Dadurch wird ein Fenster mit " "einem Kalender geöffnet. Zu in FEttschrift erscheinenden Daten im Kalender " "gibt es einen zugehörigen Eintrag. Mit den Bedienelementen des Kalenders " "können Sie Monate oder selbst Jahre in der Chronik zurückgehen. Sobald Sie " "ein Datum eines zu bearbeitenden Eintrages ausgewählt haben, erscheint eine " "Liste der Einträge dieses Tages unten in Fenster. Wählen Sie den zu " "bearbeitenden Eintrag aus und klicken Sie auf Edit. " "Sobald Ihre Änderungen abgeschlossen sind, klicken Sie auf " "Aktualisieren, um den Eintrag in Ihrem Tagebuch zu " "aktualisieren." #: ../help/C/drivel.xml:252(title) msgid "Working in the Journal Entry Window" msgstr "Arbeiten im Fenster für Tagebucheinträge" #: ../help/C/drivel.xml:253(para) msgid "" "The editor built into Drivel includes inline " "spell-checking and HTML syntax highlighting." msgstr "" "Der in Drivel eingebaute Editor bietet eine " "sofortige Rechtschreibprüfung mit eingebetteter Fehleranzeige und die " "Hervorhebung der HTML-Syntax." #: ../help/C/drivel.xml:256(title) msgid "Spell Checking" msgstr "Rechtschreibprüfung" #: ../help/C/drivel.xml:257(para) msgid "" "To enable inline spell-checking, click ViewHighlight Spelling Errors " "in the menu bar. A wavy red line will appear underneath misspelled words. " "Right-clicking on the word will display a menu with a Spelling " "Suggestions submenu. Clicking on a displayed suggestion will " "insert it in place of the misspelled word." msgstr "" "Um die unmittelbare Rechtschreibprüfung zu aktivieren, wählen Sie " "AnsichtRechtschreibfehler " "hervorheben in der Menüleiste. Eine rote " "Wellenlinie erscheint unter falsch geschriebenen Wörtern. Durch einen Klick " "mit der rechten Maustaste auf das Wort wird ein Menü mit dem Untermenü für " "Änderungsvorschläge geöffnet. Durch einen klick auf einen der Vorschläge " "wird das falsch geschriebene Wort durch das vorgeschlagene Wort ersetzt." #: ../help/C/drivel.xml:264(para) msgid "" "Press the F7 key to quickly enable or disable the spell-" "checker." msgstr "" "Drücken Sie F7, um die Rechtschreibprüfung zu " "aktivieren oder zu deaktivieren." #: ../help/C/drivel.xml:268(title) msgid "HTML Syntax Highlighting" msgstr "Syntax-Hervorhebung für HTML" #: ../help/C/drivel.xml:269(para) msgid "" "Drivel can display HTML keywords in different " "colors than the rest of your entry. This is useful for quickly catching " "formatting errors before posting an entry to your journal. To turn on HTML " "syntax highlighting, click ViewHighlight HTML in the " "menu bar." msgstr "" "Drivel kann HTML-Schlüsselwörter gegenüber dem " "übrigen Text des Eintrages in verschiedenen Farben hervorheben. Dies ist " "nützlich für das schnelle Auffinden von Formatierungsfehlern, bevor Sie den " "Eintrag in Ihr Tagebuch übertragen. Um die Syntax-Hervorhebung für HTML " "einzuschalten, wählen Sie AnsichtHTML hervorheben in der " "Menüleiste." #: ../help/C/drivel.xml:283(title) msgid "Frequently Asked Questions" msgstr "Häufig gestellte Fragen" #: ../help/C/drivel.xml:285(title) msgid "Why can't I title my Blogger entries?" msgstr "Warum kann ich meine Blogger-Einträge nicht mit einem Titel versehen?" #: ../help/C/drivel.xml:286(para) msgid "" "The original Blogger system did not support titles for journal entries. " "While Blogger has since extended it's servers to accept titles, it is still " "not part of the Blogger 1.0 standard which is used by numerous other journal " "systems, nor is Blogger able to send titles to clients when editing older " "entries or building lists of previous entries. To avoid these " "inconsistencies, Drivel does not support Blogger " "1.0 titles." msgstr "" "Das originale Blogger-System unterstützt es nicht, Tagebucheinträge mit " "einem Titel zu versehen. Zwar hat Blogger auf seinen Servern diese " "Unterstützung bereits eingebaut, aber im von einer Reihe von anderen " "Tagebuchsystemen verwendeten Blogger-Standard 1.0 ist diese Unterstützung " "noch nicht enthalten. Außerdem ist Blogger nicht fähig, Titel beim " "Bearbeiten älterer Einträge an Clients zu senden oder Listen aus früheren " "Einträgen zu erstellen. Um solche Inkonsistenzen zu vermeiden, unterstützt " "Drivel die Blogger-1.0-Titel nicht." #: ../help/C/drivel.xml:292(para) msgid "" "Blogger.com users can opt to use the Atom API from Drivel's Login window. The Atom API supplants the older Blogger API " "and does include proper support for titling entries. The use of Atom will " "not alter your journal or break existing applications." msgstr "" "Die Benutzer von Blogger.com können wahlweise die Atom-Schnittstelle für das " "Anmeldefenster von Drivel verwenden. Die Atom-" "Schnittstelle ersetzt die ältere Blogger-Schnittstelle und bietet saubere " "Unterstützung dafür, Einträge mit einem Titel zu versehen. Durch die Nutzung " "der Atom-Schnittstelle ergeben sich keine Änderungen in Ihrem Tagebuch oder " "in bestehenden Anwendungen." #: ../help/C/drivel.xml:298(title) msgid "" "What should I enter for my WordPress (or other Movable Type compatible) " "server?" msgstr "" "Was soll ich für meinen WordPress- (oder andere zu MovableType kompatiblen) " "Server eingeben?" #: ../help/C/drivel.xml:300(para) msgid "" "Wordpress (in common with other blogging engines that " "can be installed on remote servers like serendipity) " "uses Movable\n" " Type communication protocols, so select Movable " "Type in the drivel drop-down list." msgstr "" "Wordpress (wie auch andere Blogging-Engines, die auf " "entfernten Servern installiert werden können, wie beispielsweise " "serendipity) benutzt MovableType-" "Kommunikationsprotokolle, also wählen Sie MovableType " "in der Auswahlliste von Drivel." #: ../help/C/drivel.xml:306(para) msgid "" "The exact URL depends on where your WordPress server is hosted, but it is " "usually something along the lines of http://www.yourwebsite.com/" "path/to/wordpress/xmlrpc.php. If your website was www." "gnome.org and you installed wordpress to /public/wp, then your server line should read http://www.gnome.org/" "public/wp/xmlrpc.php." msgstr "" "Die genaue Adresse hängt davon ab, wo sich Ihr WordPress-Server befindet. " "Üblicherweise folgt sie dem Schema http://www.ihre_webseite.com/" "pfad/zu/wordpress/xmlrpc.php. Nehmen wir an, Ihre Webseite hieße " "www.gnome.org und Sie hätten WordPress in /" "public/wp installiert, so würde die Adresse http://www." "gnome.org/public/wp/xmlrpc.php lauten." #: ../help/C/drivel.xml:329(title) msgid "About Drivel" msgstr "Info zu Drivel" #: ../help/C/drivel.xml:330(para) msgid "" "Drivel was written by Todd Kulesza " "(todd@dropline.net). To find more information about " "Drivel, please visit the Drivel web page." msgstr "" "Drivel wurde von Todd Kulesza geschrieben " "(todd@dropline.net). Weitere Informationen über " "Drivel finden Sie auf der Drivel-Webseite." #: ../help/C/drivel.xml:335(para) msgid "" "To report a bug or make a suggestion regarding this application or this " "manual, follow the directions in this document." msgstr "" "Um Fehler zu melden oder einen Vorschlag zu dieser Anwendung oder zu diesem " "Handbuch zu machen, folgen Sie den Anweisungen in diesem Dokument." #: ../help/C/drivel.xml:340(para) msgid "" "This program is distributed under the terms of the GNU General Public " "license as published by the Free Software Foundation; either version 2 of " "the License, or (at your option) any later version. A copy of this license " "can be found at this link, or " "in the file COPYING included with the source code of this program." msgstr "" "Das vorliegende Programm unterliegt den Bedingungen der GNU General Public " "License (GPL), Version 2 oder (nach Ihrem Ermessen) jeder späteren, von der " "Free Software Foundation veröffentlichten Version. Ein Kopie der GPL finden " "Sie unter diesem Link oder in " "der dem Quelltext beiliegenden Datei COPYING." #. Put one translator per line, in the form of NAME , YEAR1, YEAR2 #: ../help/C/drivel.xml:0(None) msgid "translator-credits" msgstr "Mario Blättermann , 2009" #~ msgid "Drivel Journal Editor Manual" #~ msgstr "Drivel Tagebucheditor-Handbuch" drivel-3.0.5/help/de/drivel.xml0000644000175000017500000004767312164124030013266 00000000000000 Drivel"> ]>
    Drivel-Handbuch 3. April 2009 2005 Todd Kulesza 2009Mario Blättermann (mariobl@gnome.org) Todd Kulesza Das vorliegende Dokument kann gemäß den Bedingungen der GNU Free Documentation License (GFDL), Version 1.1 oder jeder späteren, von der Free Software Foundation veröffentlichten Version ohne unveränderbare Abschnitte sowie ohne Texte auf dem vorderen und hinteren Buchdeckel kopiert, verteilt und/oder modifiziert werden. Eine Kopie der GFDL finden Sie unter diesem Link oder in der mit diesem Handbuch gelieferten Datei COPYING-DOCS. Das vorliegende Handbuch ist Teil einer Reihe von GNOME-Handbüchern, die unter der GFDL verteilt werden. Wenn Sie dieses Handbuch separat verteilen möchten, können Sie dies tun, indem Sie dem Handbuch eine Kopie der Lizenz, wie in Abschnitt 6 der Lizenz beschrieben, hinzufügen. Bei vielen der von Firmen zur Unterscheidung ihrer Produkte und Dienstleistungen verwendeten Namen handelt es sich um Marken. An den Stellen, an denen derartige Namen in einer GNOME-Dokumentation vorkommen und wenn die Mitglieder des GNOME Documentation Project über diese Marken informiert wurden, sind die Namen in Grossbuchstaben oder mit großen Anfangsbuchstaben geschrieben. DAS DOKUMENT UND VERÄNDERTE FASSUNGEN DES DOKUMENTS WERDEN UNTER DEN BEDINGUNGEN DER GNU FREE DOCUMENTATION LICENSE ZUR VERFÜGUNG GESTELLT MIT DEM WEITERGEHENDEN VERSTÄNDNIS, DASS: DAS DOKUMENT WIRD »WIE VORLIEGEND« GELIEFERT, OHNE JEGLICHE GEWÄHRLEISTUNG, WEDER AUSDRÜCKLICH NOCH STILLSCHWEIGEND, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF, GEWÄHRLEISTUNGEN, DASS DAS DOKUMENT ODER EINE MODIFIZIERTE VERSION DES DOKUMENTS FREI VON HANDELSÜBLICHEN FEHLERN UND FÜR EINEN BESTIMMTEN ZWECK GEEIGNET IST UND KEINE RECHTE DRITTER VERLETZT. JEGLICHES RISIKO IN BEZUG AUF DIE QUALITÄT, GENAUIGKEIT UND LEISTUNG DES DOKUMENTS ODER EINER MODIFIZIERTEN VERSION DES DOKUMENTS TRAGEN SIE. SOLLTE SICH EIN DOKUMENT ODER EINE MODIFIZIERTE VERSION DAVON IN IRGENDEINER WEISE ALS FEHLERHAFT ERWEISEN, TRAGEN SIE (NICHT DER URSPRÜNGLICHE VERFASSER, AUTOR ODER EIN MITWIRKENDER) DIE KOSTEN FÜR JEGLICHE ERFORDERLICHE SERVICE-, REPARATUR- UND KORREKTURMASSNAHMEN: DIESE BESCHRÄNKUNG DER GEWÄHRLEISTUNG IST WESENTLICHER BESTANDTEIL DIESER LIZENZ. JEDE VERWENDUNG EINES DOKUMENTS ODER EINER MODIFIZIERTEN VERSION DES DOKUMENTS UNTERLIEGT DIESER BESCHRÄNKUNG; UND UNTER KEINEN UMSTÄNDEN UND GEMÄSS KEINER RECHTSLEHRE, WEDER AUFGRUND VON UNERLAUBTEN HANDLUNGEN (EINSCHLIESSLICH FAHRLÄSSIGKEIT), VERTRÄGEN ODER SONSTIGEM, KANN DER AUTOR, DER URSPRÜNGLICHE VERFASSER, EIN MITWIRKENDER ODER EIN VERTEILER DES DOKUMENTS ODER EINER MODIFIZIERTEN VERSION DES DOKUMENTS ODER EIN LIEFERANT EINER DIESER PARTEIEN VON EINER PERSON FÜR DIREKTE, INDIREKTE, BESONDERE, ZUFÄLLIGE ODER ALS FOLGE AUFGETRETENE SCHÄDEN IRGENDEINER ART, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF, SCHÄDEN DURCH GESCHÄFTSWERTVERLUSTE, ARBEITSAUSFÄLLE, COMPUTERAUSFÄLLE ODER -FUNKTIONSSTÖRUNGEN ODER JEGLICHE ANDERE SCHÄDEN ODER VERLUSTE, DIE DURCH ODER IM ZUSAMMENHANG MIT DER VERWENDUNG DES DOKUMENTS ODER EINER MODIFIZIERTEN VERSION DES DOKUMENTS ENTSTANDEN SIND, SELBST WENN DIESE PARTEI ÜBER MÖGLICHE SCHÄDEN INFORMIERT WORDEN SEIN SOLLTE, HAFTBAR GEMACHT WERDEN. Benutzerhandbuch für den Drivel Tagebucheditor Todd Kulesza Drivel-Entwicklerteam
    todd@dropline.net
    Rückmeldungen Um einen Fehler zu melden oder einen Vorschlag zu dieser Anwendung oder zu diesem Handbuch zu machen, folgen Sie den Anweisungen auf der GNOME-Seite für Rückmeldungen. 2.0 3. April 2009
    Drivel drivel Einführung Drivel ermöglicht Ihnen die Erstellung und Bearbeitung von Einträgen für Online-Tagebücher, gemeinhin als »Weblogs« oder einfach »Blogs« bekannt. Die populärsten Tagebuchserver werden unterstützt, einschließlich Advogato, Atom, Blogger, LiveJournal und MovableType. In einem Offline-Modus können Sie Entwürfe für Einträge schreiben. Drivel ist in der Lage, neue Einträge zu erstellen, bestehende Einträge bearbeiten oder löschen sowie die fünfzehn zuletzt bearbeiteten Einträge für alle unterstützten Tagebuchsysteme auflisten. Die komplette Funktionsvielfalt von LiveJournal, wie Freunde, Sicherheitsgruppen, Stimmungen usw. wird ebenfalls unterstützt, wie auch MovableType-Kategorien. Der eingebaute Editor besitzt einen Hervorhebungsmodus für HTML und Tastenkürzel für die gebräuchlichsten HTML-Tags. Erste Schritte Sie können Drivel auf folgende Arten starten: Menü Anwendungen Wählen Sie InternetDrivel Tagebucheditor. Befehlszeile Geben Sie drivel ein und drücken Sie die Eingabetaste. Falls Sie kein Online-Tagebuch haben, müssen Sie zunächst eines einrichten. Für Neulinge dürften folgende Links nützlich sein: Blogger.com - Blogger ist eine der populärsten Seiten für die Bereitstellung von Online-Tagebüchern. LiveJournal.com - LiveJournal hat eine der aktivsten Communities unter den Online-Tagebuchsystemen. Benutzung Anmelden Um sich an Ihrem Tagebuch anzumelden, geben Sie Ihren Benutzernamen in das Benutzername-Feld und Ihr Passwort in das Passwort-Feld ein. Setzen Sie Tagebuchtyp auf den entsprechenden Servertyp und stellen Sie sicher, dass die Serveradresse korrekt ist. Für die meisten Benutzer wird es nicht nötig sein, dieses Feld zu ändern. Falls gewünscht, können Sie das Ankreuzfeld Passwort speichern, um durch Drivel das Passwort für weitere Sitzungen speichern zu lassen. Falls das Ankreuzfeld Automatisch anmelden aktiviert ist, überspringt Drivel das Anmeldefenster beim Start und meldet Sie automatisch an Ihrem Tagebuchkonto an. Passwort speichern muss aktiviert sein, damit die Option Automatisch anmelden verfügbar wird. Klicken Sie auf Anmelden, um den Vorgang abzuschließen. Offline arbeiten Sie können wählen, ob Sie den Anmeldevorgang überspringen wollen, um offline zu arbeiten. Sie sind dann nicht in der Lage, neue Einträge anzulegen, aber Sie können sie als Entürfe speichern, um sie später zu übertragen. Um offline zu arbeiten, klicken Sie auf den Knopf Offline arbeiten. Erstellen eines neuen Eintrages Drivel stellt einen integrierten Editor zum Erstellen neuer Tagebucheinträge zur Verfügung. Sobald Sie sich angemeldet haben, schreiben Sie Ihren Eintrag in den dafür bereitgestellten Bereich. Wenn Sie mit dem Inhalt zufrieden sind, klicken Sie auf Absenden. Abhängig von der Art des Tagebuchs erscheinen verschiedene Bedienelemente. Wenn ein Tagebuch Titel unterstützt, dann wird ein optionales Betreff-Feld angezeigt. LiveJournal-Benutzern steht auch ein Sicherheits-Menü zur Verfügung. In diesem Menü können Sie bestimmen, wer Ihren Eintrag lesen darf. Durch einen Klick auf Mehr Optionen zeigen werden folgende weitere Funktionen zur Anpassung des Eintrags aktiviert: Nur für LiveJournal:Stimmung - Sie können eine der verfügbaren Stimmungen auswählen oder eine eigene eingeben. Wenn Sie eine der Stimmungen aus dem Menü wählen, dann ordnet LiveJournal Ihrer Stimmung ein passendes Symbol zu. Music - Geben Sie die aktuell im Hintergrund abgespielte Musik ein. Drivel erkennt automatisch die in XMMS, Beep Media Player und Rhythmbox abgespielte Musik, wenn Sie auf den Auswahlpfeil rechts neben dem Eintrag klicken. Kommentare abschalten - Dadurch wird Benutzern die Erlaubnis verweigert, Kommentare zu diesem Tagebucheintrag zu hinterlassen. Text nicht automatisch formatieren - Dies verhindert, dass Drivel Zeilenumbrüche im Tagebucheintrag automatisch in HTML-Tags umwandelt. Falls Sie diese Optionen verwenden wollen, müssen Sie die HTML-Tags für Zeilenumbrüche und Absätze manuell in Ihren Eintrag einfügen. Zurückdatieren - Dadurch wird ermöglicht, dass Ihr Tagebucheintrag so erscheint, als ob er bereits zu einem früheren Zeitpunkt angelegt worden wäre. Bild - Wählen Sie ein Bild aus, welches Sie diesem Tagebucheintrag zuordnen wollen. Nur MovableType:Kategorie - Wählen Sie die Kategorie aus, in die Sie diesen Eintrag einsortieren wollen. Diese Bedienelemente sind völlig optional und werden nur als Möglichkeit zur Anpassung eines Tagebucheintrages bereitgestellt. Nach Ihrem Ermessen können Sie alle, einige oder keine anpassen. Bearbeiten eines vorhandenen Eintrags Drivel ermöglicht Ihnen das Bearbeiten früherer Tagebucheinträge. Bearbeiten Ihres letzten Eintrags Um Ihren letzten Tagebucheintrag zu bearbeiten, wählen Sie BearbeitenLetzter Eintrag in der Menüleiste. Drivel ermittelt automatisch Ihren aktuellsten Eintrag. Sobald Ihre Änderungen abgeschlossen sind, klicken Sie auf Aktualisieren, um den Eintrag in Ihrem Tagebuch zu aktualisieren. Bearbeiten eines kürzlich erstellten Eintrags Drivel erstellt beim Anmelden eine Liste der fünfzehn aktuellsten Einträge. Wählen Sie TagebuchLetzte Einträge in der Menüleiste, um die vollständige Liste anzuzeigen. Klicken Sie auf ein Objekt, um den kompletten Eintrag zu laden. Sobald Ihre Änderungen abgeschlossen sind, klicken Sie auf Aktualisieren, um den Eintrag in Ihrem Tagebuch zu aktualisieren. Bearbeiten eines vorhandenen Eintrags (nur LiveJournal) Um einen Ihrer früheren Tagebucheinträge zu bearbeiten, wählen Sie BearbeitenChronik in der Menüleiste. Dadurch wird ein Fenster mit einem Kalender geöffnet. Zu in FEttschrift erscheinenden Daten im Kalender gibt es einen zugehörigen Eintrag. Mit den Bedienelementen des Kalenders können Sie Monate oder selbst Jahre in der Chronik zurückgehen. Sobald Sie ein Datum eines zu bearbeitenden Eintrages ausgewählt haben, erscheint eine Liste der Einträge dieses Tages unten in Fenster. Wählen Sie den zu bearbeitenden Eintrag aus und klicken Sie auf Edit. Sobald Ihre Änderungen abgeschlossen sind, klicken Sie auf Aktualisieren, um den Eintrag in Ihrem Tagebuch zu aktualisieren. Arbeiten im Fenster für Tagebucheinträge Der in Drivel eingebaute Editor bietet eine sofortige Rechtschreibprüfung mit eingebetteter Fehleranzeige und die Hervorhebung der HTML-Syntax. Rechtschreibprüfung Um die unmittelbare Rechtschreibprüfung zu aktivieren, wählen Sie AnsichtRechtschreibfehler hervorheben in der Menüleiste. Eine rote Wellenlinie erscheint unter falsch geschriebenen Wörtern. Durch einen Klick mit der rechten Maustaste auf das Wort wird ein Menü mit dem Untermenü für Änderungsvorschläge geöffnet. Durch einen klick auf einen der Vorschläge wird das falsch geschriebene Wort durch das vorgeschlagene Wort ersetzt. Drücken Sie F7, um die Rechtschreibprüfung zu aktivieren oder zu deaktivieren. Syntax-Hervorhebung für HTML Drivel kann HTML-Schlüsselwörter gegenüber dem übrigen Text des Eintrages in verschiedenen Farben hervorheben. Dies ist nützlich für das schnelle Auffinden von Formatierungsfehlern, bevor Sie den Eintrag in Ihr Tagebuch übertragen. Um die Syntax-Hervorhebung für HTML einzuschalten, wählen Sie AnsichtHTML hervorheben in der Menüleiste. Häufig gestellte Fragen Warum kann ich meine Blogger-Einträge nicht mit einem Titel versehen? Das originale Blogger-System unterstützt es nicht, Tagebucheinträge mit einem Titel zu versehen. Zwar hat Blogger auf seinen Servern diese Unterstützung bereits eingebaut, aber im von einer Reihe von anderen Tagebuchsystemen verwendeten Blogger-Standard 1.0 ist diese Unterstützung noch nicht enthalten. Außerdem ist Blogger nicht fähig, Titel beim Bearbeiten älterer Einträge an Clients zu senden oder Listen aus früheren Einträgen zu erstellen. Um solche Inkonsistenzen zu vermeiden, unterstützt Drivel die Blogger-1.0-Titel nicht. Die Benutzer von Blogger.com können wahlweise die Atom-Schnittstelle für das Anmeldefenster von Drivel verwenden. Die Atom-Schnittstelle ersetzt die ältere Blogger-Schnittstelle und bietet saubere Unterstützung dafür, Einträge mit einem Titel zu versehen. Durch die Nutzung der Atom-Schnittstelle ergeben sich keine Änderungen in Ihrem Tagebuch oder in bestehenden Anwendungen. Was soll ich für meinen WordPress- (oder andere zu MovableType kompatiblen) Server eingeben? Wordpress (wie auch andere Blogging-Engines, die auf entfernten Servern installiert werden können, wie beispielsweise serendipity) benutzt MovableType-Kommunikationsprotokolle, also wählen Sie MovableType in der Auswahlliste von Drivel. Die genaue Adresse hängt davon ab, wo sich Ihr WordPress-Server befindet. Üblicherweise folgt sie dem Schema http://www.ihre_webseite.com/pfad/zu/wordpress/xmlrpc.php. Nehmen wir an, Ihre Webseite hieße www.gnome.org und Sie hätten WordPress in /public/wp installiert, so würde die Adresse http://www.gnome.org/public/wp/xmlrpc.php lauten. Info zu <application>Drivel</application> Drivel wurde von Todd Kulesza geschrieben (todd@dropline.net). Weitere Informationen über Drivel finden Sie auf der Drivel-Webseite. Um Fehler zu melden oder einen Vorschlag zu dieser Anwendung oder zu diesem Handbuch zu machen, folgen Sie den Anweisungen in diesem Dokument. Das vorliegende Programm unterliegt den Bedingungen der GNU General Public License (GPL), Version 2 oder (nach Ihrem Ermessen) jeder späteren, von der Free Software Foundation veröffentlichten Version. Ein Kopie der GPL finden Sie unter diesem Link oder in der dem Quelltext beiliegenden Datei COPYING.