hardware-monitor-0.2/0000777000175000017500000000000007617564727010427 5hardware-monitor-0.2/Makefile.in0000644000175000017500000003330207617564724012406 # Makefile.in generated automatically by automake 1.4-p6 from Makefile.am # Copyright (C) 1994, 1995-8, 1999, 2001 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. SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = . ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CXX = @CXX@ DATADIRNAME = @DATADIRNAME@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ PACKAGE = @PACKAGE@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ SUBDIRS = src po help # server file serverdir = $(libdir)/bonobo/servers server_in_files = HardwareMonitor.server.in server_DATA = $(server_in_files:.server.in=.server) # icon icondir = $(datadir)/pixmaps icon_DATA = $(PACKAGE)-applet.png EXTRA_DIST = $(icon_DATA) $(server_DATA:.server=.server.in.in) intltool-merge.in intltool-extract.in intltool-update.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = DATA = $(icon_DATA) $(server_DATA) DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \ Makefile.am Makefile.in NEWS acconfig.h aclocal.m4 config.h.in \ configure configure.in install-sh missing mkinstalldirs DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar GZIP_ENV = --best all: all-redirect .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) \ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in cd $(srcdir) && $(ACLOCAL) config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) cd $(srcdir) && $(AUTOCONF) config.h: stamp-h @if test ! -f $@; then \ rm -f stamp-h; \ $(MAKE) stamp-h; \ else :; fi stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status cd $(top_builddir) \ && CONFIG_FILES= CONFIG_HEADERS=config.h \ $(SHELL) ./config.status @echo timestamp > stamp-h 2> /dev/null $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/stamp-h.in @if test ! -f $@; then \ rm -f $(srcdir)/stamp-h.in; \ $(MAKE) $(srcdir)/stamp-h.in; \ else :; fi $(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h cd $(top_srcdir) && $(AUTOHEADER) @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null mostlyclean-hdr: clean-hdr: distclean-hdr: -rm -f config.h maintainer-clean-hdr: install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(icondir) @list='$(icon_DATA)'; for p in $$list; do \ if test -f $(srcdir)/$$p; then \ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(icondir)/$$p"; \ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(icondir)/$$p; \ else if test -f $$p; then \ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(icondir)/$$p"; \ $(INSTALL_DATA) $$p $(DESTDIR)$(icondir)/$$p; \ fi; fi; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) list='$(icon_DATA)'; for p in $$list; do \ rm -f $(DESTDIR)$(icondir)/$$p; \ done install-serverDATA: $(server_DATA) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(serverdir) @list='$(server_DATA)'; for p in $$list; do \ if test -f $(srcdir)/$$p; then \ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(serverdir)/$$p"; \ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(serverdir)/$$p; \ else if test -f $$p; then \ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(serverdir)/$$p"; \ $(INSTALL_DATA) $$p $(DESTDIR)$(serverdir)/$$p; \ fi; fi; \ done uninstall-serverDATA: @$(NORMAL_UNINSTALL) list='$(server_DATA)'; for p in $$list; do \ rm -f $(DESTDIR)$(serverdir)/$$p; \ done # 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. @SET_MAKE@ all-recursive install-data-recursive install-exec-recursive \ installdirs-recursive install-recursive uninstall-recursive \ check-recursive installcheck-recursive info-recursive dvi-recursive: @set fnord $(MAKEFLAGS); amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; 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; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: @set fnord $(MAKEFLAGS); amf=$$2; \ dot_seen=no; \ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ rev="$$subdir $$rev"; \ test "$$subdir" != "." || dot_seen=yes; \ done; \ test "$$dot_seen" = "no" && rev=". $$rev"; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS)'; \ unique=`for i in $$list; do echo $$i; done | \ awk ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ here=`pwd` && cd $(srcdir) \ && mkid -f$$here/ID $$unique $(LISP) TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP) tags=; \ here=`pwd`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS)'; \ unique=`for i in $$list; do echo $$i; done | \ awk ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP)) mostlyclean-tags: clean-tags: distclean-tags: -rm -f TAGS ID maintainer-clean-tags: distdir = $(PACKAGE)-$(VERSION) top_distdir = $(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 -rm -rf $(distdir) GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz mkdir $(distdir)/=build mkdir $(distdir)/=inst dc_install_base=`cd $(distdir)/=inst && pwd`; \ cd $(distdir)/=build \ && ../configure --srcdir=.. --prefix=$$dc_install_base \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) dist -rm -rf $(distdir) @banner="$(distdir).tar.gz is ready for distribution"; \ dashes=`echo "$$banner" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ echo "$$dashes" dist: distdir -chmod -R a+r $(distdir) GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) -rm -rf $(distdir) dist-all: distdir -chmod -R a+r $(distdir) GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) -rm -rf $(distdir) distdir: $(DISTFILES) -rm -rf $(distdir) mkdir $(distdir) -chmod 777 $(distdir) @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done for subdir in $(SUBDIRS); do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ || exit 1; \ chmod 777 $(distdir)/$$subdir; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \ || exit 1; \ fi; \ done info-am: info: info-recursive dvi-am: dvi: dvi-recursive check-am: all-am check: check-recursive installcheck-am: installcheck: installcheck-recursive all-recursive-am: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive install-exec-am: install-exec: install-exec-recursive install-data-am: install-iconDATA install-serverDATA install-data: install-data-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am install: install-recursive uninstall-am: uninstall-iconDATA uninstall-serverDATA uninstall: uninstall-recursive all-am: Makefile $(DATA) config.h all-redirect: all-recursive-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: installdirs-recursive installdirs-am: $(mkinstalldirs) $(DESTDIR)$(icondir) $(DESTDIR)$(serverdir) mostlyclean-generic: clean-generic: distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic mostlyclean: mostlyclean-recursive clean-am: clean-hdr clean-tags clean-generic mostlyclean-am clean: clean-recursive distclean-am: distclean-hdr distclean-tags distclean-generic clean-am distclean: distclean-recursive -rm -f config.status maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \ maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." maintainer-clean: maintainer-clean-recursive -rm -f config.status .PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ uninstall-iconDATA install-iconDATA uninstall-serverDATA \ install-serverDATA install-data-recursive uninstall-data-recursive \ install-exec-recursive uninstall-exec-recursive installdirs-recursive \ uninstalldirs-recursive all-recursive check-recursive \ installcheck-recursive info-recursive dvi-recursive \ mostlyclean-recursive distclean-recursive clean-recursive \ maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \ install-exec-am install-exec install-data-am install-data install-am \ install uninstall-am uninstall all-redirect all-am all installdirs-am \ installdirs mostlyclean-generic distclean-generic clean-generic \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean $(server_in_files): $(server_in_files:.server.in=.server.in.in) sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" -e "s|\@PACKAGE\@|$(PACKAGE)|" $< > $@ @INTLTOOL_SERVER_RULE@ # 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: hardware-monitor-0.2/README0000644000175000017500000000176607616726155011227 Hardware Monitor ---------------- Hardware Monitor is a monitor applet for the Gnome panel. It supports a variety of monitoring capabilities (CPU usage, network throughput etc.) and different kinds of viewers (curves, bars, text, flames). The homepage (with screenshots) is: http://www.cs.auc.dk/~olau/hardware-monitor/ Oh, and it is licensed under the GNU GPL. And proudly written with the One True Editor, GNU Emacs (no eVIl here). Requirements ------------ You need a modern Gnome desktop (i.e. at least Gnome 2.0) with the related libraries and the C++ wrappers for GTK+ and Gnome libraries, gtkmm and gnomemm (more specifically libgnomemm, libgnomeuimm, gconfmm and libglademm). These can be fetched from http://www.gtkmm.org, or are alternatively probably available as packages from your distributor. Also, to compile the program you need the panel-applet library and probably GCC > 3.0 (I'm using GCC 3.2 myself). Bugs ---- Report bugs and suggestions to the maintainer: $ cat MAINTAINERS hardware-monitor-0.2/stamp-h.in0000644000175000017500000000001207617562233012223 timestamp hardware-monitor-0.2/AUTHORS0000644000175000017500000000004207616232556011376 Ole Laursen hardware-monitor-0.2/COPYING0000644000175000017500000004311007615767162011371 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 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 Library 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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 Library General Public License instead of this License. hardware-monitor-0.2/ChangeLog0000644000175000017500000000135107617564540012106 2003-02-03 Ole Laursen * configure.in, README, NEWS: V. 0.2 released! * src/flame-view.cpp, src/flame-view.hpp: Implemented a nice flame view. * src/hardware-monitor.glade, src/preferences-window.cpp: Added support for setting the preferences for the flames. * src/applet.cpp: Added support for the flame view. 2003-02-01 Ole Laursen * src/monitor-impls.cpp: Made NetworkLoadMonitor::get_name append the direction (in/out). * src/preferences-window.cpp: Start out without selecting any monitors so that a user can see that the grayed-out buttons become active. Also gray-out the change button. 2003-01-31 Ole Laursen * configure.in: V. 0.1 released! hardware-monitor-0.2/INSTALL0000644000175000017500000001722707615767162011401 Basic Installation ================== These are generic installation instructions. 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, a file `config.cache' that saves the results of its tests to speed up reconfiguring, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). 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 at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.in' is used to create `configure' by a program called `autoconf'. You only need `configure.in' 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. If you're using `csh' on an old version of System V, you might need to type `sh ./configure' instead to prevent `csh' from trying to execute `configure' itself. Running `configure' takes awhile. 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. 4. Type `make install' to install the programs and any data files and documentation. 5. 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. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. You can give `configure' initial values for variables by setting them in the environment. Using a Bourne-compatible shell, you can do that on the command line like this: CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure Or on systems that have the `env' program, you can do it like this: env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure 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 must use a version of `make' that supports the `VPATH' variable, such as 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 `..'. If you have to use a `make' that does not supports the `VPATH' variable, you have 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. Installation Names ================== By default, `make install' will install the package's files in `/usr/local/bin', `/usr/local/man', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PATH'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you give `configure' the option `--exec-prefix=PATH', the package will use PATH as the prefix for installing programs and libraries. Documentation and other data files will still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=PATH' 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. 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'. Optional Features ================= 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. Specifying the System Type ========================== There may be some features `configure' can not figure out automatically, but needs to determine by the type of host the package will run on. Usually `configure' can figure that out, but if it prints a message saying it can not guess the host type, give it the `--host=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name with three fields: CPU-COMPANY-SYSTEM 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 host type. If you are building compiler tools for cross-compiling, you can also use the `--target=TYPE' option to select the type of system they will produce code for and the `--build=TYPE' option to select the type of system on which you are compiling the package. 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. Operation Controls ================== `configure' recognizes the following options to control how it operates. `--cache-file=FILE' Use and save the results of the tests in FILE instead of `./config.cache'. Set FILE to `/dev/null' to disable caching, for debugging `configure'. `--help' Print a summary of the options to `configure', and exit. `--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. `--version' Print the version of Autoconf used to generate the `configure' script, and exit. `configure' also accepts some other, not widely useful, options. hardware-monitor-0.2/Makefile.am0000644000175000017500000000105507616457545012376 SUBDIRS = src po help # server file serverdir = $(libdir)/bonobo/servers server_in_files = HardwareMonitor.server.in server_DATA = $(server_in_files:.server.in=.server) $(server_in_files): $(server_in_files:.server.in=.server.in.in) sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" -e "s|\@PACKAGE\@|$(PACKAGE)|" $< > $@ @INTLTOOL_SERVER_RULE@ # icon icondir = $(datadir)/pixmaps icon_DATA = $(PACKAGE)-applet.png EXTRA_DIST = $(icon_DATA) $(server_DATA:.server=.server.in.in) \ intltool-merge.in intltool-extract.in intltool-update.in hardware-monitor-0.2/NEWS0000644000175000017500000000044007617564705011034 Version 0.2 (2003-02-03) ------------------------ A couple of minor bug fixes, and a brand-new beautiful flame view. Version 0.1 (2003-01-31) ------------------------ First public release. Supports bar view, curve view and textual view, and the various monitors supported by libgtop. hardware-monitor-0.2/acconfig.h0000644000175000017500000000030107615767162012253 #undef PACKAGE #undef GETTEXT_PACKAGE #undef VERSION #undef HAVE_LIBSM #undef HAVE_CATGETS #undef HAVE_GETTEXT #undef HAVE_LC_MESSAGES #undef HAVE_STPCPY #undef ENABLE_NLS #undef ENABLE_GPRINT hardware-monitor-0.2/aclocal.m40000644000175000017500000006023507617562207012200 dnl aclocal.m4 generated automatically by aclocal 1.4-p6 dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A dnl PARTICULAR PURPOSE. # Like AC_CONFIG_HEADER, but automatically create stamp file. AC_DEFUN([AM_CONFIG_HEADER], [AC_PREREQ([2.12]) AC_CONFIG_HEADER([$1]) dnl When config.status generates a header, we must update the stamp-h file. dnl This file resides in the same directory as the config header dnl that is generated. We must strip everything past the first ":", dnl and everything past the last "/". AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>, <>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>, <>; do case " <<$>>CONFIG_HEADERS " in *" <<$>>am_file "*<<)>> echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx ;; esac am_indx=`expr "<<$>>am_indx" + 1` done<<>>dnl>>) changequote([,]))]) # Do all the work for Automake. 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. # serial 1 dnl Usage: dnl AM_INIT_AUTOMAKE(package,version, [no-define]) AC_DEFUN([AM_INIT_AUTOMAKE], [AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL]) PACKAGE=[$1] AC_SUBST(PACKAGE) VERSION=[$2] AC_SUBST(VERSION) dnl test to see if srcdir already configured if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi ifelse([$3],, AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])) AC_REQUIRE([AM_SANITY_CHECK]) AC_REQUIRE([AC_ARG_PROGRAM]) dnl FIXME This is truly gross. missing_dir=`cd $ac_aux_dir && pwd` AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}, $missing_dir) AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}, $missing_dir) AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) AC_REQUIRE([AC_PROG_MAKE_SET])]) # Copyright 2002 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, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 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. AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.4"]) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.4-p6])]) # # Check to make sure that the build environment is sane. # AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftestfile # 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 ( set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` if test "[$]*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftestfile` fi if test "[$]*" != "X $srcdir/configure conftestfile" \ && test "[$]*" != "X conftestfile $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 test "[$]2" = conftestfile ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi rm -f conftest* AC_MSG_RESULT(yes)]) dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) dnl The program must properly implement --version. AC_DEFUN([AM_MISSING_PROG], [AC_MSG_CHECKING(for working $2) # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. if ($2 --version) < /dev/null > /dev/null 2>&1; then $1=$2 AC_MSG_RESULT(found) else $1="$3/missing $2" AC_MSG_RESULT(missing) fi AC_SUBST($1)]) dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page dnl also defines GSTUFF_PKG_ERRORS on error AC_DEFUN(PKG_CHECK_MODULES, [ succeeded=no if test -z "$PKG_CONFIG"; then AC_PATH_PROG(PKG_CONFIG, pkg-config, no) fi if test "$PKG_CONFIG" = "no" ; then echo "*** The pkg-config script could not be found. Make sure it is" echo "*** in your path, or set the PKG_CONFIG environment variable" echo "*** to the full path to pkg-config." echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then AC_MSG_CHECKING(for $2) if $PKG_CONFIG --exists "$2" ; then AC_MSG_RESULT(yes) succeeded=yes AC_MSG_CHECKING($1_CFLAGS) $1_CFLAGS=`$PKG_CONFIG --cflags "$2"` AC_MSG_RESULT($$1_CFLAGS) AC_MSG_CHECKING($1_LIBS) $1_LIBS=`$PKG_CONFIG --libs "$2"` AC_MSG_RESULT($$1_LIBS) else $1_CFLAGS="" $1_LIBS="" ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` ifelse([$4], ,echo $$1_PKG_ERRORS,) fi AC_SUBST($1_CFLAGS) AC_SUBST($1_LIBS) else echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." echo "*** See http://www.freedesktop.org/software/pkgconfig" fi fi if test $succeeded = yes; then ifelse([$3], , :, [$3]) else ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4]) fi ]) # 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 # # 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. # # # 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 dgettext in libc], gt_cv_func_dgettext_libc, [AC_TRY_LINK([ #include ], [return (int) dgettext ("","")], gt_cv_func_dgettext_libc=yes, gt_cv_func_dgettext_libc=no) ]) if test "$gt_cv_func_dgettext_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 "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then AC_CHECK_LIB(intl, bindtextdomain, [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, dcgettext, [gt_cv_func_dgettext_libintl=yes libintl_extra_libs=-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 # 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"; 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 AC_CHECK_FUNCS(dcgettext) 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], [CATOBJEXT=.mo DATADIRNAME=lib]) INSTOBJEXT=.mo 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.in. 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 lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; esac 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" test "x$prefix" = xNONE && prefix=$ac_default_prefix if test "x$CATOBJEXT" = "x.mo" ; then localedir=`eval echo "${libdir}/locale"` else localedir=`eval echo "${datadir}/locale"` fi prefix="$glib_save_prefix" 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_in,[],[ AC_DEFUN(AM_GLIB_GNU_GETTEXT,[GLIB_GNU_GETTEXT($@)]) AC_DEFUN(AM_GLIB_DEFINE_LOCALEDIR,[GLIB_DEFINE_LOCALEDIR($@)]) ])dnl dnl AC_PROG_INTLTOOL([MINIMUM-VERSION]) # serial 1 AC_PROG_INTLTOOL AC_DEFUN(AC_PROG_INTLTOOL, [ if test -n "$1"; then AC_MSG_CHECKING(for intltool >= $1) INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ printf "%d", $[1] * 100 + $[2]; }'` INTLTOOL_APPLIED_VERSION=`awk -F\" '/\\$VERSION / { printf $[2]; }' < ${srcdir}/intltool-update.in` changequote({{,}}) INTLTOOL_APPLIED_VERSION_AS_INT=`awk -F\" '/\\$VERSION / { split(${{2}}, VERSION, "."); printf "%d\n", VERSION[1] * 100 + VERSION[2];}' < ${srcdir}/intltool-update.in` changequote([,]) if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT"; then AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) else AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found. Your intltool is too old. You need intltool $1 or later.]) exit 1 fi fi INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -d -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -d -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -k -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -d -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -o -p' INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -x -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -o -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -x -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -d -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -x -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -x -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -d -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -s -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< [$]@ -d -u -c $(top_builddir)/po/.intltool-merge-cache' AC_SUBST(INTLTOOL_DESKTOP_RULE) AC_SUBST(INTLTOOL_DIRECTORY_RULE) AC_SUBST(INTLTOOL_KEYS_RULE) AC_SUBST(INTLTOOL_PROP_RULE) AC_SUBST(INTLTOOL_OAF_RULE) AC_SUBST(INTLTOOL_PONG_RULE) AC_SUBST(INTLTOOL_SERVER_RULE) AC_SUBST(INTLTOOL_SHEET_RULE) AC_SUBST(INTLTOOL_SOUNDLIST_RULE) AC_SUBST(INTLTOOL_UI_RULE) AC_SUBST(INTLTOOL_XML_RULE) AC_SUBST(INTLTOOL_CAVES_RULE) AC_SUBST(INTLTOOL_SCHEMAS_RULE) AC_SUBST(INTLTOOL_THEME_RULE) # Use the tools built into the package, not the ones that are installed. INTLTOOL_EXTRACT='$(top_builddir)/intltool-extract' INTLTOOL_MERGE='$(top_builddir)/intltool-merge' INTLTOOL_UPDATE='$(top_builddir)/intltool-update' AC_SUBST(INTLTOOL_EXTRACT) AC_SUBST(INTLTOOL_MERGE) AC_SUBST(INTLTOOL_UPDATE) AC_PATH_PROG(INTLTOOL_PERL, perl) if test -z "$INTLTOOL_PERL"; then AC_MSG_ERROR([perl not found; required for intltool]) fi if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then AC_MSG_ERROR([perl 5.x required for intltool]) fi # Remove file type tags (using []) from po/POTFILES. ifdef([AC_DIVERSION_ICMDS],[ AC_DIVERT_PUSH(AC_DIVERSION_ICMDS) changequote(,) mv -f po/POTFILES po/POTFILES.tmp sed -e 's/\[.*\] *//' < po/POTFILES.tmp > po/POTFILES rm -f po/POTFILES.tmp changequote([,]) AC_DIVERT_POP() ],[ ifdef([AC_CONFIG_COMMANDS_PRE],[ AC_CONFIG_COMMANDS_PRE([ changequote(,) mv -f po/POTFILES po/POTFILES.tmp sed -e 's/\[.*\] *//' < po/POTFILES.tmp > po/POTFILES rm -f po/POTFILES.tmp changequote([,]) ]) ]) ]) # Manually sed perl in so people don't have to put the intltool scripts in AC_OUTPUT. AC_OUTPUT_COMMANDS([ sed -e "s:@INTLTOOL_PERL@:${INTLTOOL_PERL}:;" < ${srcdir}/intltool-extract.in > intltool-extract.out if cmp -s intltool-extract intltool-extract.out 2>/dev/null; then rm -f intltool-extract.out else mv -f intltool-extract.out intltool-extract fi chmod ugo+x intltool-extract chmod u+w intltool-extract sed -e "s:@INTLTOOL_PERL@:${INTLTOOL_PERL}:;" < ${srcdir}/intltool-merge.in > intltool-merge.out if cmp -s intltool-merge intltool-merge.out 2>/dev/null; then rm -f intltool-merge.out else mv -f intltool-merge.out intltool-merge fi chmod ugo+x intltool-merge chmod u+w intltool-merge sed -e "s:@INTLTOOL_PERL@:${INTLTOOL_PERL}:;" < ${srcdir}/intltool-update.in > intltool-update.out if cmp -s intltool-update intltool-update.out 2>/dev/null; then rm -f intltool-update.out else mv -f intltool-update.out intltool-update fi chmod ugo+x intltool-update chmod u+w intltool-update ], INTLTOOL_PERL=${INTLTOOL_PERL}) ]) # Add --enable-maintainer-mode option to configure. # From Jim Meyering # serial 1 AC_DEFUN([AM_MAINTAINER_MODE], [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode is disabled by default AC_ARG_ENABLE(maintainer-mode, [ --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer], USE_MAINTAINER_MODE=$enableval, USE_MAINTAINER_MODE=no) AC_MSG_RESULT($USE_MAINTAINER_MODE) AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes) MAINT=$MAINTAINER_MODE_TRUE AC_SUBST(MAINT)dnl ] ) # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_SUBST($1_TRUE) AC_SUBST($1_FALSE) if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi]) hardware-monitor-0.2/config.h.in0000644000175000017500000000404407615767162012364 /* config.h.in. Generated from configure.in by autoheader. */ #undef PACKAGE #undef GETTEXT_PACKAGE #undef VERSION #undef HAVE_LIBSM #undef HAVE_CATGETS #undef HAVE_GETTEXT #undef HAVE_LC_MESSAGES #undef HAVE_STPCPY #undef ENABLE_NLS #undef ENABLE_GPRINT /* always defined to indicate that i18n is enabled */ #undef ENABLE_NLS /* Define to 1 if you have the `bind_textdomain_codeset' function. */ #undef HAVE_BIND_TEXTDOMAIN_CODESET /* Define to 1 if you have the `dcgettext' function. */ #undef HAVE_DCGETTEXT /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* 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_LOCALE_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* 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 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 header file. */ #undef HAVE_SYS_STAT_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 /* 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 version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION hardware-monitor-0.2/configure0000755000175000017500000053437707617562213012261 #! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.57. # # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 # 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 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+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi # Support unset when possible. if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; 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 # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # 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 # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. 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 ;; 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 { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # 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 sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="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="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` exec 6>&1 # # Initializations. # ac_default_prefix=/usr/local ac_config_libobj_dir=. cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. # This variable seems obsolete. It should probably be removed, and # only ac_max_sed_lines should be used. : ${ac_max_here_lines=38} # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= ac_unique_file="src/main.cpp" # Factoring default headers for most tests. ac_includes_default="\ #include #if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_STAT_H # include #endif #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_STRING_H # if !STDC_HEADERS && HAVE_MEMORY_H # include # endif # include #endif #if HAVE_STRINGS_H # include #endif #if HAVE_INTTYPES_H # include #else # if HAVE_STDINT_H # include # endif #endif #if HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO SET_MAKE CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT PKG_CONFIG DEPS_CFLAGS DEPS_LIBS GETTEXT_PACKAGE CC CFLAGS ac_ct_CC CPP EGREP USE_NLS MSGFMT GMSGFMT XGETTEXT CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLLIBS PO_IN_DATADIR_TRUE PO_IN_DATADIR_FALSE POFILES POSUB MKINSTALLDIRS INTLTOOL_DESKTOP_RULE INTLTOOL_DIRECTORY_RULE INTLTOOL_KEYS_RULE INTLTOOL_PROP_RULE INTLTOOL_OAF_RULE INTLTOOL_PONG_RULE INTLTOOL_SERVER_RULE INTLTOOL_SHEET_RULE INTLTOOL_SOUNDLIST_RULE INTLTOOL_UI_RULE INTLTOOL_XML_RULE INTLTOOL_CAVES_RULE INTLTOOL_SCHEMAS_RULE INTLTOOL_THEME_RULE INTLTOOL_EXTRACT INTLTOOL_MERGE INTLTOOL_UPDATE INTLTOOL_PERL MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. ac_init_help= ac_init_version=false # 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. bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' ac_prev= 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 ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_option in -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 | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` eval "enable_$ac_feature=no" ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "enable_$ac_feature='$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 ;; -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 ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) 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 ;; -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_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package| sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "with_$ac_package='$ac_optarg'" ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/-/_/g'` eval "with_$ac_package=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 ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` eval "$ac_envvar='$ac_optarg'" export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && 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'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute paths. for ac_var in exec_prefix prefix do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* | NONE | '' ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac 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 echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 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 # 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 its parent. ac_confdir=`(dirname "$0") 2>/dev/null || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$0" | 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 if test "$ac_srcdir_defaulted" = yes; then { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 { (exit 1); exit 1; }; } else { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi fi (cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 { (exit 1); exit 1; }; } srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ac_env_build_alias_set=${build_alias+set} ac_env_build_alias_value=$build_alias ac_cv_env_build_alias_set=${build_alias+set} ac_cv_env_build_alias_value=$build_alias ac_env_host_alias_set=${host_alias+set} ac_env_host_alias_value=$host_alias ac_cv_env_host_alias_set=${host_alias+set} ac_cv_env_host_alias_value=$host_alias ac_env_target_alias_set=${target_alias+set} ac_env_target_alias_value=$target_alias ac_cv_env_target_alias_set=${target_alias+set} ac_cv_env_target_alias_value=$target_alias ac_env_CXX_set=${CXX+set} ac_env_CXX_value=$CXX ac_cv_env_CXX_set=${CXX+set} ac_cv_env_CXX_value=$CXX ac_env_CXXFLAGS_set=${CXXFLAGS+set} ac_env_CXXFLAGS_value=$CXXFLAGS ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} ac_cv_env_CXXFLAGS_value=$CXXFLAGS ac_env_LDFLAGS_set=${LDFLAGS+set} ac_env_LDFLAGS_value=$LDFLAGS ac_cv_env_LDFLAGS_set=${LDFLAGS+set} ac_cv_env_LDFLAGS_value=$LDFLAGS ac_env_CPPFLAGS_set=${CPPFLAGS+set} ac_env_CPPFLAGS_value=$CPPFLAGS ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} ac_cv_env_CPPFLAGS_value=$CPPFLAGS ac_env_CC_set=${CC+set} ac_env_CC_value=$CC ac_cv_env_CC_set=${CC+set} ac_cv_env_CC_value=$CC ac_env_CFLAGS_set=${CFLAGS+set} ac_env_CFLAGS_value=$CFLAGS ac_cv_env_CFLAGS_set=${CFLAGS+set} ac_cv_env_CFLAGS_value=$CFLAGS ac_env_CPP_set=${CPP+set} ac_env_CPP_value=$CPP ac_cv_env_CPP_set=${CPP+set} ac_cv_env_CPP_value=$CPP # # 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 this package 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 \`..'] _ACEOF cat <<_ACEOF 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] --datadir=DIR read-only architecture-independent data [PREFIX/share] --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] --infodir=DIR info documentation [PREFIX/info] --mandir=DIR man documentation [PREFIX/man] _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 _ACEOF fi if test -n "$ac_init_help"; then cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer Some influential environment variables: CXX C++ compiler command CXXFLAGS C++ compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory CPPFLAGS 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 Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. ac_popdir=`pwd` for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d $ac_dir || continue ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` cd $ac_dir # Check for guested configure; otherwise get Cygnus style 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 elif test -f $ac_srcdir/configure.ac || test -f $ac_srcdir/configure.in; then echo $ac_configure --help else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi cd $ac_popdir done fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 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 0 fi exec 5>config.log cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was generated by GNU Autoconf 2.57. Invocation command line was $ $0 $@ _ACEOF { 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` hostinfo = `(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=. echo "PATH: $as_dir" done } >&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_sep= 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=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$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 ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" # Get rid of the leading space. ac_sep=" " ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export 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: Be sure not to use single quotes in there, as some shells, # such as our DU 5.0 friend, will then `close' the trap. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, { (set) 2>&1 | case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------- ## ## Output files. ## ## ------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo sed "/^$/d" confdefs.h | sort echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core core.* *.core && rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo >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 # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" 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. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . $cache_file;; *) . ./$cache_file;; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; 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,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 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 { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=$ac_var=`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. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } 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 ac_config_headers="$ac_config_headers config.h" ac_config_commands="$ac_config_commands default-1" PACKAGE=hardware-monitor VERSION=0.2 am__api_version="1.4" 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 { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} { (exit 1); exit 1; }; } fi ac_config_guess="$SHELL $ac_aux_dir/config.guess" ac_config_sub="$SHELL $ac_aux_dir/config.sub" ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # 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" # ./install, which can be erroneously created by make from ./install.sh. echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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/* | \ /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_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 ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done 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. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. INSTALL=$ac_install_sh fi fi echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$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' echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 # Just in case sleep 1 echo timestamp > conftestfile # 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 ( set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftestfile` fi if test "$*" != "X $srcdir/configure conftestfile" \ && test "$*" != "X conftestfile $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". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftestfile ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest* echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 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 $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm conftest.sed echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF all: @echo 'ac_maketemp="$(MAKE)"' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` if test -n "$ac_maketemp"; then eval ac_cv_prog_make_${ac_make}_set=yes else eval ac_cv_prog_make_${ac_make}_set=no fi rm -f conftest.make fi if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 SET_MAKE= else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" fi PACKAGE=$PACKAGE VERSION=$VERSION if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF missing_dir=`cd $ac_aux_dir && pwd` echo "$as_me:$LINENO: checking for working aclocal-${am__api_version}" >&5 echo $ECHO_N "checking for working aclocal-${am__api_version}... $ECHO_C" >&6 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. if (aclocal-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then ACLOCAL=aclocal-${am__api_version} echo "$as_me:$LINENO: result: found" >&5 echo "${ECHO_T}found" >&6 else ACLOCAL="$missing_dir/missing aclocal-${am__api_version}" echo "$as_me:$LINENO: result: missing" >&5 echo "${ECHO_T}missing" >&6 fi echo "$as_me:$LINENO: checking for working autoconf" >&5 echo $ECHO_N "checking for working autoconf... $ECHO_C" >&6 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. if (autoconf --version) < /dev/null > /dev/null 2>&1; then AUTOCONF=autoconf echo "$as_me:$LINENO: result: found" >&5 echo "${ECHO_T}found" >&6 else AUTOCONF="$missing_dir/missing autoconf" echo "$as_me:$LINENO: result: missing" >&5 echo "${ECHO_T}missing" >&6 fi echo "$as_me:$LINENO: checking for working automake-${am__api_version}" >&5 echo $ECHO_N "checking for working automake-${am__api_version}... $ECHO_C" >&6 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. if (automake-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then AUTOMAKE=automake-${am__api_version} echo "$as_me:$LINENO: result: found" >&5 echo "${ECHO_T}found" >&6 else AUTOMAKE="$missing_dir/missing automake-${am__api_version}" echo "$as_me:$LINENO: result: missing" >&5 echo "${ECHO_T}missing" >&6 fi echo "$as_me:$LINENO: checking for working autoheader" >&5 echo $ECHO_N "checking for working autoheader... $ECHO_C" >&6 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. if (autoheader --version) < /dev/null > /dev/null 2>&1; then AUTOHEADER=autoheader echo "$as_me:$LINENO: result: found" >&5 echo "${ECHO_T}found" >&6 else AUTOHEADER="$missing_dir/missing autoheader" echo "$as_me:$LINENO: result: missing" >&5 echo "${ECHO_T}missing" >&6 fi echo "$as_me:$LINENO: checking for working makeinfo" >&5 echo $ECHO_N "checking for working makeinfo... $ECHO_C" >&6 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. if (makeinfo --version) < /dev/null > /dev/null 2>&1; then MAKEINFO=makeinfo echo "$as_me:$LINENO: result: found" >&5 echo "${ECHO_T}found" >&6 else MAKEINFO="$missing_dir/missing makeinfo" echo "$as_me:$LINENO: result: missing" >&5 echo "${ECHO_T}missing" >&6 fi GNOME_COMMON_INIT ac_ext=cc 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 -n "$ac_tool_prefix"; then for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl 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 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl 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 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out 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. echo "$as_me:$LINENO: checking for C++ compiler default output" >&5 echo $ECHO_N "checking for C++ compiler default output... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last # resort. # Be careful to initialize this variable, since it used to be cached. # Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. ac_cv_exeext= # b.out is created by i960 compilers. for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; conftest.$ac_ext ) # This is the source file. ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` # FIXME: I believe we export ac_cv_exeext for Libtool, # but it would be cool to find out if it's true. Does anybody # maintain Libtool? --akim. export ac_cv_exeext break;; * ) break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C++ compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C++ compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` export ac_cv_exeext break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$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 for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h 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 succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_PKG_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done 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 echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 echo "${ECHO_T}$PKG_CONFIG" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test "$PKG_CONFIG" = "no" ; then echo "*** The pkg-config script could not be found. Make sure it is" echo "*** in your path, or set the PKG_CONFIG environment variable" echo "*** to the full path to pkg-config." echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then echo "$as_me:$LINENO: checking for \ gtkmm-2.0 >= 2.0.0 \ libgnomemm-2.0 >= 1.3.9 \ libgnomeuimm-2.0 >= 1.3.11 \ libglademm-2.0 >= 2.0.0 \ libgnomecanvasmm-2.0 >= 2.0.0 \ gconfmm-2.0 >= 2.0.0 \ libpanelapplet-2.0 >= 2.0.0 \ libgtop-2.0 >= 2.0.0" >&5 echo $ECHO_N "checking for \ gtkmm-2.0 >= 2.0.0 \ libgnomemm-2.0 >= 1.3.9 \ libgnomeuimm-2.0 >= 1.3.11 \ libglademm-2.0 >= 2.0.0 \ libgnomecanvasmm-2.0 >= 2.0.0 \ gconfmm-2.0 >= 2.0.0 \ libpanelapplet-2.0 >= 2.0.0 \ libgtop-2.0 >= 2.0.0... $ECHO_C" >&6 if $PKG_CONFIG --exists "\ gtkmm-2.0 >= 2.0.0 \ libgnomemm-2.0 >= 1.3.9 \ libgnomeuimm-2.0 >= 1.3.11 \ libglademm-2.0 >= 2.0.0 \ libgnomecanvasmm-2.0 >= 2.0.0 \ gconfmm-2.0 >= 2.0.0 \ libpanelapplet-2.0 >= 2.0.0 \ libgtop-2.0 >= 2.0.0" ; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 succeeded=yes echo "$as_me:$LINENO: checking DEPS_CFLAGS" >&5 echo $ECHO_N "checking DEPS_CFLAGS... $ECHO_C" >&6 DEPS_CFLAGS=`$PKG_CONFIG --cflags "\ gtkmm-2.0 >= 2.0.0 \ libgnomemm-2.0 >= 1.3.9 \ libgnomeuimm-2.0 >= 1.3.11 \ libglademm-2.0 >= 2.0.0 \ libgnomecanvasmm-2.0 >= 2.0.0 \ gconfmm-2.0 >= 2.0.0 \ libpanelapplet-2.0 >= 2.0.0 \ libgtop-2.0 >= 2.0.0"` echo "$as_me:$LINENO: result: $DEPS_CFLAGS" >&5 echo "${ECHO_T}$DEPS_CFLAGS" >&6 echo "$as_me:$LINENO: checking DEPS_LIBS" >&5 echo $ECHO_N "checking DEPS_LIBS... $ECHO_C" >&6 DEPS_LIBS=`$PKG_CONFIG --libs "\ gtkmm-2.0 >= 2.0.0 \ libgnomemm-2.0 >= 1.3.9 \ libgnomeuimm-2.0 >= 1.3.11 \ libglademm-2.0 >= 2.0.0 \ libgnomecanvasmm-2.0 >= 2.0.0 \ gconfmm-2.0 >= 2.0.0 \ libpanelapplet-2.0 >= 2.0.0 \ libgtop-2.0 >= 2.0.0"` echo "$as_me:$LINENO: result: $DEPS_LIBS" >&5 echo "${ECHO_T}$DEPS_LIBS" >&6 else DEPS_CFLAGS="" DEPS_LIBS="" ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. DEPS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "\ gtkmm-2.0 >= 2.0.0 \ libgnomemm-2.0 >= 1.3.9 \ libgnomeuimm-2.0 >= 1.3.11 \ libglademm-2.0 >= 2.0.0 \ libgnomecanvasmm-2.0 >= 2.0.0 \ gconfmm-2.0 >= 2.0.0 \ libpanelapplet-2.0 >= 2.0.0 \ libgtop-2.0 >= 2.0.0"` echo $DEPS_PKG_ERRORS fi else echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." echo "*** See http://www.freedesktop.org/software/pkgconfig" fi fi if test $succeeded = yes; then : else { { echo "$as_me:$LINENO: error: Library requirements (\ gtkmm-2.0 >= 2.0.0 \ libgnomemm-2.0 >= 1.3.9 \ libgnomeuimm-2.0 >= 1.3.11 \ libglademm-2.0 >= 2.0.0 \ libgnomecanvasmm-2.0 >= 2.0.0 \ gconfmm-2.0 >= 2.0.0 \ libpanelapplet-2.0 >= 2.0.0 \ libgtop-2.0 >= 2.0.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 echo "$as_me: error: Library requirements (\ gtkmm-2.0 >= 2.0.0 \ libgnomemm-2.0 >= 1.3.9 \ libgnomeuimm-2.0 >= 1.3.11 \ libglademm-2.0 >= 2.0.0 \ libgnomecanvasmm-2.0 >= 2.0.0 \ gconfmm-2.0 >= 2.0.0 \ libpanelapplet-2.0 >= 2.0.0 \ libgtop-2.0 >= 2.0.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi GETTEXT_PACKAGE=$PACKAGE cat >>confdefs.h <<_ACEOF #define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" _ACEOF ALL_LINGUAS="da" 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 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC 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 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" 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 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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_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" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done 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 echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl 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 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$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 echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* 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; } 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 # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF #ifndef __cplusplus choke me #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext 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 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 echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f 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 echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$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 >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } 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 echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6 if test "${ac_cv_prog_egrep+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | (grep -E '(a|b)') >/dev/null 2>&1 then ac_cv_prog_egrep='grep -E' else ac_cv_prog_egrep='egrep' fi fi echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 echo "${ECHO_T}$ac_cv_prog_egrep" >&6 EGREP=$ac_cv_prog_egrep echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f 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 >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #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)) exit(2); exit (0); } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF 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=`echo "ac_cv_header_$ac_header" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in locale.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_header_locale_h = yes; then echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5 echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6 if test "${am_cv_val_LC_MESSAGES+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return LC_MESSAGES ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then am_cv_val_LC_MESSAGES=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 am_cv_val_LC_MESSAGES=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5 echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6 if test $am_cv_val_LC_MESSAGES = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_LC_MESSAGES 1 _ACEOF fi fi USE_NLS=yes gt_cv_have_gettext=no CATOBJEXT=NONE XGETTEXT=: INTLLIBS= if test "${ac_cv_header_libintl_h+set}" = set; then echo "$as_me:$LINENO: checking for libintl.h" >&5 echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6 if test "${ac_cv_header_libintl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 echo "${ECHO_T}$ac_cv_header_libintl_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking libintl.h usability" >&5 echo $ECHO_N "checking libintl.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking libintl.h presence" >&5 echo $ECHO_N "checking libintl.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: libintl.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: libintl.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: libintl.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: libintl.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for libintl.h" >&5 echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6 if test "${ac_cv_header_libintl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_libintl_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 echo "${ECHO_T}$ac_cv_header_libintl_h" >&6 fi if test $ac_cv_header_libintl_h = yes; then gt_cv_func_dgettext_libintl="no" libintl_extra_libs="" # # First check in libc # echo "$as_me:$LINENO: checking for dgettext in libc" >&5 echo $ECHO_N "checking for dgettext in libc... $ECHO_C" >&6 if test "${gt_cv_func_dgettext_libc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return (int) dgettext ("","") ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gt_cv_func_dgettext_libc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_dgettext_libc=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $gt_cv_func_dgettext_libc" >&5 echo "${ECHO_T}$gt_cv_func_dgettext_libc" >&6 if test "$gt_cv_func_dgettext_libc" = "yes" ; then for ac_func in bind_textdomain_codeset do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); /* 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_$ac_func) || defined (__stub___$ac_func) choke me #else char (*f) () = $ac_func; #endif #ifdef __cplusplus } #endif int main () { return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 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 "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then echo "$as_me:$LINENO: checking for bindtextdomain in -lintl" >&5 echo $ECHO_N "checking for bindtextdomain in -lintl... $ECHO_C" >&6 if test "${ac_cv_lib_intl_bindtextdomain+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char bindtextdomain (); int main () { bindtextdomain (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_intl_bindtextdomain=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_intl_bindtextdomain=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_intl_bindtextdomain" >&5 echo "${ECHO_T}$ac_cv_lib_intl_bindtextdomain" >&6 if test $ac_cv_lib_intl_bindtextdomain = yes; then echo "$as_me:$LINENO: checking for dgettext in -lintl" >&5 echo $ECHO_N "checking for dgettext in -lintl... $ECHO_C" >&6 if test "${ac_cv_lib_intl_dgettext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dgettext (); int main () { dgettext (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_intl_dgettext=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_intl_dgettext=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dgettext" >&5 echo "${ECHO_T}$ac_cv_lib_intl_dgettext" >&6 if test $ac_cv_lib_intl_dgettext = yes; then gt_cv_func_dgettext_libintl=yes fi fi if test "$gt_cv_func_dgettext_libintl" != "yes" ; then echo "$as_me:$LINENO: checking if -liconv is needed to use gettext" >&5 echo $ECHO_N "checking if -liconv is needed to use gettext... $ECHO_C" >&6 echo "$as_me:$LINENO: result: " >&5 echo "${ECHO_T}" >&6 echo "$as_me:$LINENO: checking for dcgettext in -lintl" >&5 echo $ECHO_N "checking for dcgettext in -lintl... $ECHO_C" >&6 if test "${ac_cv_lib_intl_dcgettext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl -liconv $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dcgettext (); int main () { dcgettext (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_intl_dcgettext=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_intl_dcgettext=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dcgettext" >&5 echo "${ECHO_T}$ac_cv_lib_intl_dcgettext" >&6 if test $ac_cv_lib_intl_dcgettext = yes; then gt_cv_func_dgettext_libintl=yes libintl_extra_libs=-liconv 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 # 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 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); /* 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_$ac_func) || defined (__stub___$ac_func) choke me #else char (*f) () = $ac_func; #endif #ifdef __cplusplus } #endif int main () { return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 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"; 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 cat >>confdefs.h <<\_ACEOF #define HAVE_GETTEXT 1 _ACEOF # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_MSGFMT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 echo "$as_me:$LINENO: result: $MSGFMT" >&5 echo "${ECHO_T}$MSGFMT" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi if test "$MSGFMT" != "no"; then for ac_func in dcgettext do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); /* 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_$ac_func) || defined (__stub___$ac_func) choke me #else char (*f) () = $ac_func; #endif #ifdef __cplusplus } #endif int main () { return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_GMSGFMT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then echo "$as_me:$LINENO: result: $GMSGFMT" >&5 echo "${ECHO_T}$GMSGFMT" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_XGETTEXT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 echo "$as_me:$LINENO: result: $XGETTEXT" >&5 echo "${ECHO_T}$XGETTEXT" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then CATOBJEXT=.gmo DATADIRNAME=share else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CATOBJEXT=.mo DATADIRNAME=lib fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext INSTOBJEXT=.mo fi fi fi if test "$gt_cv_have_gettext" = "yes" ; then cat >>confdefs.h <<\_ACEOF #define ENABLE_NLS 1 _ACEOF fi if test "$XGETTEXT" != ":"; then if $XGETTEXT --omit-header /dev/null 2> /dev/null; then : ; else echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5 echo "${ECHO_T}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-2" 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 echo "$as_me:$LINENO: checking for catalogs to be installed" >&5 echo $ECHO_N "checking for catalogs to be installed... $ECHO_C" >&6 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; esac done LINGUAS=$NEW_LINGUAS echo "$as_me:$LINENO: result: $LINGUAS" >&5 echo "${ECHO_T}$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 if test -n ""; then echo "$as_me:$LINENO: checking for intltool >= " >&5 echo $ECHO_N "checking for intltool >= ... $ECHO_C" >&6 INTLTOOL_REQUIRED_VERSION_AS_INT=`echo | awk -F. '{ printf "%d", $1 * 100 + $2; }'` INTLTOOL_APPLIED_VERSION=`awk -F\" '/\\$VERSION / { printf $2; }' < ${srcdir}/intltool-update.in` INTLTOOL_APPLIED_VERSION_AS_INT=`awk -F\" '/\\$VERSION / { split($2, VERSION, "."); printf "%d\n", VERSION[1] * 100 + VERSION[2];}' < ${srcdir}/intltool-update.in` if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT"; then echo "$as_me:$LINENO: result: $INTLTOOL_APPLIED_VERSION found" >&5 echo "${ECHO_T}$INTLTOOL_APPLIED_VERSION found" >&6 else echo "$as_me:$LINENO: result: $INTLTOOL_APPLIED_VERSION found. Your intltool is too old. You need intltool or later." >&5 echo "${ECHO_T}$INTLTOOL_APPLIED_VERSION found. Your intltool is too old. You need intltool or later." >&6 exit 1 fi fi INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -k -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -o -p' INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -o -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -x -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -s -u -c $(top_builddir)/po/.intltool-merge-cache' INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache' # Use the tools built into the package, not the ones that are installed. INTLTOOL_EXTRACT='$(top_builddir)/intltool-extract' INTLTOOL_MERGE='$(top_builddir)/intltool-merge' INTLTOOL_UPDATE='$(top_builddir)/intltool-update' # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_INTLTOOL_PERL+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done ;; esac fi INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL if test -n "$INTLTOOL_PERL"; then echo "$as_me:$LINENO: result: $INTLTOOL_PERL" >&5 echo "${ECHO_T}$INTLTOOL_PERL" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi if test -z "$INTLTOOL_PERL"; then { { echo "$as_me:$LINENO: error: perl not found; required for intltool" >&5 echo "$as_me: error: perl not found; required for intltool" >&2;} { (exit 1); exit 1; }; } fi if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then { { echo "$as_me:$LINENO: error: perl 5.x required for intltool" >&5 echo "$as_me: error: perl 5.x required for intltool" >&2;} { (exit 1); exit 1; }; } fi # Remove file type tags (using []) from po/POTFILES. # Manually sed perl in so people don't have to put the intltool scripts in AC_OUTPUT. ac_config_commands="$ac_config_commands default-3" echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no fi; echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6 if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi MAINT=$MAINTAINER_MODE_TRUE ac_config_files="$ac_config_files Makefile src/Makefile po/Makefile.in help/Makefile help/C/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, don't put newlines in cache variables' values. # 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. { (set) 2>&1 | case `(ac_space=' '; set | grep ac_space) 2>&1` in *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 \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } | sed ' t clear : clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ : end' >>confcache if diff $cache_file confcache >/dev/null 2>&1; then :; else if test -w $cache_file; then test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" cat confcache >$cache_file else echo "not updating unwritable cache $cache_file" 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}' # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ 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[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; s/^[^=]*=[ ]*$//; }' fi DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_i=`echo "$ac_i" | sed 's/\$U\././;s/\.o$//;s/\.obj$//'` # 2. Add them. ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs mv -f po/POTFILES po/POTFILES.tmp sed -e 's/\[.*\] *//' < po/POTFILES.tmp > po/POTFILES rm -f po/POTFILES.tmp : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $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} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # 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+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi # Support unset when possible. if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; 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 # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # 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 # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. 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 ;; 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 { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} { (exit 1); exit 1; }; } # 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 sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="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="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH exec 6>&1 # Open the log real soon, to keep \$[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. Logging --version etc. is OK. exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX } >&5 cat >&5 <<_CSEOF This file was extended by $as_me, which was generated by GNU Autoconf 2.57. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ _CSEOF echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 echo >&5 _ACEOF # Files that config.status was made for. if test -n "$ac_config_files"; then echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS fi if test -n "$ac_config_headers"; then echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS fi if test -n "$ac_config_links"; then echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS fi if test -n "$ac_config_commands"; then echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS fi cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -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 --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_cs_version="\\ config.status configured by $0, generated by GNU Autoconf 2.57, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=$srcdir INSTALL="$INSTALL" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. 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=$1 ac_optarg=$2 ac_shift=shift ;; *) # This is not an option, so the user has probably given explicit # arguments. ac_option=$1 ac_need_defaults=false;; esac case $ac_option in # Handling of the options. _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header { { echo "$as_me:$LINENO: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ;; 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 if \$ac_cs_recheck; then echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS section. # INTLTOOL_PERL=${INTLTOOL_PERL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "po/Makefile.in" ) CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "help/Makefile" ) CONFIG_FILES="$CONFIG_FILES help/Makefile" ;; "help/C/Makefile" ) CONFIG_FILES="$CONFIG_FILES help/C/Makefile" ;; "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "default-2" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-2" ;; "default-3" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-3" ;; "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; 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 to put it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Create a temporary directory, and hook for its removal unless debugging. $debug || { trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./confstat$$-$RANDOM (umask 077 && mkdir $tmp) } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "\$CONFIG_FILES"; then # Protect against being on the right side of a sed subst in config.status. sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF s,@SHELL@,$SHELL,;t t s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t s,@exec_prefix@,$exec_prefix,;t t s,@prefix@,$prefix,;t t s,@program_transform_name@,$program_transform_name,;t t s,@bindir@,$bindir,;t t s,@sbindir@,$sbindir,;t t s,@libexecdir@,$libexecdir,;t t s,@datadir@,$datadir,;t t s,@sysconfdir@,$sysconfdir,;t t s,@sharedstatedir@,$sharedstatedir,;t t s,@localstatedir@,$localstatedir,;t t s,@libdir@,$libdir,;t t s,@includedir@,$includedir,;t t s,@oldincludedir@,$oldincludedir,;t t s,@infodir@,$infodir,;t t s,@mandir@,$mandir,;t t s,@build_alias@,$build_alias,;t t s,@host_alias@,$host_alias,;t t s,@target_alias@,$target_alias,;t t s,@DEFS@,$DEFS,;t t s,@ECHO_C@,$ECHO_C,;t t s,@ECHO_N@,$ECHO_N,;t t s,@ECHO_T@,$ECHO_T,;t t s,@LIBS@,$LIBS,;t t s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t s,@INSTALL_DATA@,$INSTALL_DATA,;t t s,@PACKAGE@,$PACKAGE,;t t s,@VERSION@,$VERSION,;t t s,@ACLOCAL@,$ACLOCAL,;t t s,@AUTOCONF@,$AUTOCONF,;t t s,@AUTOMAKE@,$AUTOMAKE,;t t s,@AUTOHEADER@,$AUTOHEADER,;t t s,@MAKEINFO@,$MAKEINFO,;t t s,@SET_MAKE@,$SET_MAKE,;t t s,@CXX@,$CXX,;t t s,@CXXFLAGS@,$CXXFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t s,@CPPFLAGS@,$CPPFLAGS,;t t s,@ac_ct_CXX@,$ac_ct_CXX,;t t s,@EXEEXT@,$EXEEXT,;t t s,@OBJEXT@,$OBJEXT,;t t s,@PKG_CONFIG@,$PKG_CONFIG,;t t s,@DEPS_CFLAGS@,$DEPS_CFLAGS,;t t s,@DEPS_LIBS@,$DEPS_LIBS,;t t s,@GETTEXT_PACKAGE@,$GETTEXT_PACKAGE,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@ac_ct_CC@,$ac_ct_CC,;t t s,@CPP@,$CPP,;t t s,@EGREP@,$EGREP,;t t s,@USE_NLS@,$USE_NLS,;t t s,@MSGFMT@,$MSGFMT,;t t s,@GMSGFMT@,$GMSGFMT,;t t s,@XGETTEXT@,$XGETTEXT,;t t s,@CATALOGS@,$CATALOGS,;t t s,@CATOBJEXT@,$CATOBJEXT,;t t s,@DATADIRNAME@,$DATADIRNAME,;t t s,@GMOFILES@,$GMOFILES,;t t s,@INSTOBJEXT@,$INSTOBJEXT,;t t s,@INTLLIBS@,$INTLLIBS,;t t s,@PO_IN_DATADIR_TRUE@,$PO_IN_DATADIR_TRUE,;t t s,@PO_IN_DATADIR_FALSE@,$PO_IN_DATADIR_FALSE,;t t s,@POFILES@,$POFILES,;t t s,@POSUB@,$POSUB,;t t s,@MKINSTALLDIRS@,$MKINSTALLDIRS,;t t s,@INTLTOOL_DESKTOP_RULE@,$INTLTOOL_DESKTOP_RULE,;t t s,@INTLTOOL_DIRECTORY_RULE@,$INTLTOOL_DIRECTORY_RULE,;t t s,@INTLTOOL_KEYS_RULE@,$INTLTOOL_KEYS_RULE,;t t s,@INTLTOOL_PROP_RULE@,$INTLTOOL_PROP_RULE,;t t s,@INTLTOOL_OAF_RULE@,$INTLTOOL_OAF_RULE,;t t s,@INTLTOOL_PONG_RULE@,$INTLTOOL_PONG_RULE,;t t s,@INTLTOOL_SERVER_RULE@,$INTLTOOL_SERVER_RULE,;t t s,@INTLTOOL_SHEET_RULE@,$INTLTOOL_SHEET_RULE,;t t s,@INTLTOOL_SOUNDLIST_RULE@,$INTLTOOL_SOUNDLIST_RULE,;t t s,@INTLTOOL_UI_RULE@,$INTLTOOL_UI_RULE,;t t s,@INTLTOOL_XML_RULE@,$INTLTOOL_XML_RULE,;t t s,@INTLTOOL_CAVES_RULE@,$INTLTOOL_CAVES_RULE,;t t s,@INTLTOOL_SCHEMAS_RULE@,$INTLTOOL_SCHEMAS_RULE,;t t s,@INTLTOOL_THEME_RULE@,$INTLTOOL_THEME_RULE,;t t s,@INTLTOOL_EXTRACT@,$INTLTOOL_EXTRACT,;t t s,@INTLTOOL_MERGE@,$INTLTOOL_MERGE,;t t s,@INTLTOOL_UPDATE@,$INTLTOOL_UPDATE,;t t s,@INTLTOOL_PERL@,$INTLTOOL_PERL,;t t s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t s,@MAINT@,$MAINT,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t CEOF _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_lines=48 ac_sed_frag=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_lines # Line after last line for current file. ac_more_lines=: ac_sed_cmds= while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag else sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag fi if test ! -s $tmp/subs.frag; then ac_more_lines=false else # The purpose of the label and of the branching condition is to # speed up the sed processing (if there are no `@' at all, there # is no need to browse any of the substitutions). # These are the two extra sed commands mentioned above. (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_lines` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi fi # test -n "$CONFIG_FILES" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_builddir$INSTALL ;; esac if test x"$ac_file" != x-; then { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi # 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. */ if test x"$ac_file" = x-; then configure_input= else configure_input="$ac_file. " fi configure_input=$configure_input"Generated from `echo $ac_file_in | sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; *) # Relative if test -f "$f"; then # Build tree echo $f elif test -f "$srcdir/$f"; then # Source tree echo $srcdir/$f else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } _ACEOF cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s,@configure_input@,$configure_input,;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,@top_builddir@,$ac_top_builddir,;t t s,@abs_top_builddir@,$ac_abs_top_builddir,;t t s,@INSTALL@,$ac_INSTALL,;t t " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out rm -f $tmp/stdin if test x"$ac_file" != x-; then mv $tmp/out $ac_file else cat $tmp/out rm -f $tmp/out fi done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_HEADER section. # # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' ac_dB='[ ].*$,\1#\2' ac_dC=' ' ac_dD=',;t' # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='$,\1#\2define\3' ac_uC=' ' ac_uD=',;t' for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; *) # Relative if test -f "$f"; then # Build tree echo $f elif test -f "$srcdir/$f"; then # Source tree echo $srcdir/$f else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } # Remove the trailing spaces. sed 's/[ ]*$//' $ac_file_inputs >$tmp/in _ACEOF # Transform confdefs.h into two sed scripts, `conftest.defines' and # `conftest.undefs', that substitutes the proper values into # config.h.in to produce config.h. The first handles `#define' # templates, and the second `#undef' templates. # And first: Protect against being on the right side of a sed subst in # config.status. Protect against being in an unquoted here document # in config.status. rm -f conftest.defines conftest.undefs # Using a here document instead of a string reduces the quoting nightmare. # Putting comments in sed scripts is not portable. # # `end' is used to avoid that the second main sed command (meant for # 0-ary CPP macros) applies to n-ary macro definitions. # See the Autoconf documentation for `clear'. cat >confdef2sed.sed <<\_ACEOF s/[\\&,]/\\&/g s,[\\$`],\\&,g t clear : clear s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp t end s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp : end _ACEOF # If some macros were called several times there might be several times # the same #defines, which is useless. Nevertheless, we may not want to # sort them, since we want the *last* AC-DEFINE to be honored. uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs rm -f confdef2sed.sed # This sed command replaces #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. cat >>conftest.undefs <<\_ACEOF s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, _ACEOF # Break up conftest.defines because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS echo ' :' >>$CONFIG_STATUS rm -f conftest.tail while grep . conftest.defines >/dev/null do # Write a limited-size here document to $tmp/defines.sed. echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#define' lines. echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f $tmp/defines.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in ' >>$CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines echo ' fi # grep' >>$CONFIG_STATUS echo >>$CONFIG_STATUS # Break up conftest.undefs because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #undef templates' >>$CONFIG_STATUS rm -f conftest.tail while grep . conftest.undefs >/dev/null do # Write a limited-size here document to $tmp/undefs.sed. echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#undef' echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS echo 'CEOF sed -f $tmp/undefs.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in ' >>$CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail rm -f conftest.undefs mv conftest.tail conftest.undefs done rm -f conftest.undefs cat >>$CONFIG_STATUS <<\_ACEOF # 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. */ if test x"$ac_file" = x-; then echo "/* Generated by configure. */" >$tmp/config.h else echo "/* $ac_file. Generated by configure. */" >$tmp/config.h fi cat $tmp/in >>$tmp/config.h rm -f $tmp/in if test x"$ac_file" != x-; then if diff $ac_file $tmp/config.h >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } rm -f $ac_file mv $tmp/config.h $ac_file fi else cat $tmp/config.h rm -f $tmp/config.h fi done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_COMMANDS section. # for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue ac_dest=`echo "$ac_file" | sed 's,:.*,,'` ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_dir=`(dirname "$ac_dest") 2>/dev/null || $as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_dest" : 'X\(//\)[^/]' \| \ X"$ac_dest" : 'X\(//\)$' \| \ X"$ac_dest" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_dest" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 echo "$as_me: executing $ac_dest commands" >&6;} case $ac_dest in default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;; default-2 ) case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac ;; default-3 ) sed -e "s:@INTLTOOL_PERL@:${INTLTOOL_PERL}:;" < ${srcdir}/intltool-extract.in > intltool-extract.out if cmp -s intltool-extract intltool-extract.out 2>/dev/null; then rm -f intltool-extract.out else mv -f intltool-extract.out intltool-extract fi chmod ugo+x intltool-extract chmod u+w intltool-extract sed -e "s:@INTLTOOL_PERL@:${INTLTOOL_PERL}:;" < ${srcdir}/intltool-merge.in > intltool-merge.out if cmp -s intltool-merge intltool-merge.out 2>/dev/null; then rm -f intltool-merge.out else mv -f intltool-merge.out intltool-merge fi chmod ugo+x intltool-merge chmod u+w intltool-merge sed -e "s:@INTLTOOL_PERL@:${INTLTOOL_PERL}:;" < ${srcdir}/intltool-update.in > intltool-update.out if cmp -s intltool-update intltool-update.out 2>/dev/null; then rm -f intltool-update.out else mv -f intltool-update.out intltool-update fi chmod ugo+x intltool-update chmod u+w intltool-update ;; esac done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # 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 || { (exit 1); exit 1; } fi hardware-monitor-0.2/configure.in0000644000175000017500000000160607617562177012654 dnl -*- m4 -*- AC_PREREQ(2.13) AC_INIT(src/main.cpp) AM_CONFIG_HEADER(config.h) dnl package name and version number PACKAGE=hardware-monitor VERSION=0.2 AM_INIT_AUTOMAKE($PACKAGE, $VERSION) GNOME_COMMON_INIT dnl checks for programs AC_PROG_CXX dnl checks for libraries dnl libgnomeuimm-2.0 >= 1.3.6 PKG_CHECK_MODULES(DEPS, \ gtkmm-2.0 >= 2.0.0 \ libgnomemm-2.0 >= 1.3.9 \ libgnomeuimm-2.0 >= 1.3.11 \ libglademm-2.0 >= 2.0.0 \ libgnomecanvasmm-2.0 >= 2.0.0 \ gconfmm-2.0 >= 2.0.0 \ libpanelapplet-2.0 >= 2.0.0 \ libgtop-2.0 >= 2.0.0) AC_SUBST(DEPS_CFLAGS) AC_SUBST(DEPS_LIBS) dnl i18n GETTEXT_PACKAGE=$PACKAGE AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE") AC_SUBST(GETTEXT_PACKAGE) ALL_LINGUAS="da" AM_GLIB_GNU_GETTEXT AC_PROG_INTLTOOL dnl extra stuff AM_MAINTAINER_MODE dnl create makefiles AC_OUTPUT( Makefile src/Makefile po/Makefile.in help/Makefile help/C/Makefile ) hardware-monitor-0.2/install-sh0000755000175000017500000001273607615767162012354 #!/bin/sh # # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # # Copyright 1991 by the Massachusetts Institute of Technology # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of M.I.T. not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. M.I.T. makes no representations about the # suitability of this software for any purpose. It is provided "as is" # without express or implied warranty. # # 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. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else true fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: chmodcmd="" else instcmd=mkdir fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f $src -o -d $src ] then true else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else true fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else true fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else true fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename $dst` else true fi # Make a temp file name in the proper directory. dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp && trap "rm -f ${dsttmp}" 0 && # 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 $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && # Now rename the file to the real destination. $doit $rmcmd -f $dstdir/$dstfile && $doit $mvcmd $dsttmp $dstdir/$dstfile fi && exit 0 hardware-monitor-0.2/missing0000755000175000017500000002123107615767162011735 #! /bin/sh # Common stub for a few missing GNU programs while installing. # Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, 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. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi case "$1" in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case "$1" in -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch]" ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing 0.3 - GNU automake" ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; aclocal) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case "$f" in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; bison|yacc) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.h fi ;; esac fi if [ ! -f y.tab.h ]; then echo >y.tab.h fi if [ ! -f y.tab.c ]; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if [ ! -f lex.yy.c ]; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` fi if [ -f "$file" ]; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit 1 fi ;; makeinfo) if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then # We have makeinfo, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` fi touch $file ;; tar) shift if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 fi # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar ${1+"$@"} && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar ${1+"$@"} && exit 0 fi firstarg="$1" if shift; then case "$firstarg" in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" ${1+"$@"} && exit 0 ;; esac case "$firstarg" in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" ${1+"$@"} && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequirements for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 hardware-monitor-0.2/mkinstalldirs0000755000175000017500000000132207615767162013143 #! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 # Public domain # $Id: mkinstalldirs,v 1.13 1999/01/05 03:18:55 bje Exp $ errstatus=0 for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do 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 fi fi pathcomp="$pathcomp/" done done exit $errstatus # mkinstalldirs ends here hardware-monitor-0.2/hardware-monitor-applet.png0000644000175000017500000000647407615767163015626 PNG  IHDR00WgAMA1_ IDATx[]Ǔgv$$q6R@/E"@ H@ޒR!Њ6jBD8I_q|ۙs?콿g\*^3g{f}kgc]'L;.Dnr؁@ѦG%q ½Lg7s As!15mS0!I(zv 6?GV3ơpNoK=W_nwkuܲMDG>W?Qmţj[H&K0: M%{ڣ g4fl˭;sso$8Lt";^Cx?z`x깟)6t!WE(hAhH4$剱ԔG?4sw/ܺ9b^ÿ7^՞˄?='4zga'#V!UȤʙú%^}U'N:f\j'U/ԋ͊:2O?uP/s|C?͘smǂ xou;d4Y<|k^:Pko;m$F`zzq,G\cePK BppTLjV\XM+rZ(eFEkdf.] L6*'^hT#C x?n,=zƊ/w]oeɈ4MI&)Z[2cqc}D@k#3:xqSsF N9a/'h!2ʕD0 s ӱK[V c5Z,%BuynrP58a&NS$io81$qLxXOgX6bA'AL= ׮^Cs8']?!P񕹕O Yd8\N[ /e w^io heYm{2 4إ?=dprpcjJeإ wFˇZy+!R!A9@zM]xU#2|gj/zO^+%I8 ,V֫ov76[.C)0{IzJm6DOZFmKњD Ryƒ $4IFo]qcT:9iv FA:٨{X>UfBx-KeR p(6x#@l+ [^9?nv(N+BI.)~ҽuRT_lF gxo&1=%%!ss͗Λt;9)n~hq&ͫ7ڪ Z_LDQ s"&e ֏[76.zizy.wD V g2YSwW7rea~Q+a9/JUAGQkuGﵜtSř&n1tڹlALTt>,6[=iP= )z]ߙ~qN+*MALR`fwB$;:f.?%avdOj)̿N rOxxGfĔ@Qj3Ӄ(߁İ<Oi,bW GThHLGzG=+JQazF l*csa5ZxV١is-t$E+SO]L_ ? ?EçnIENDB`hardware-monitor-0.2/HardwareMonitor.server.in.in0000644000175000017500000000213307616013422015665 hardware-monitor-0.2/intltool-merge.in0000644000175000017500000005274207616013061013621 #!@INTLTOOL_PERL@ -w # # The Intltool Message Merger # # Copyright (C) 2000, 2002 Free Software Foundation. # Copyright (C) 2000, 2001 Eazel, Inc # # Intltool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # version 2 published by the Free Software Foundation. # # Intltool 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., 675 Mass Ave, Cambridge, MA 02139, 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. # # Authors: Maciej Stachowiak # Kenneth Christiansen # Darin Adler # # Proper XML UTF-8'ification written by Cyrille Chepelov # ## Release information my $PROGRAM = "intltool-merge"; my $PACKAGE = "intltool"; my $VERSION = "0.25"; ## Loaded modules use strict; use Getopt::Long; use Text::Wrap; ## Scalars used by the option stuff my $HELP_ARG = 0; my $VERSION_ARG = 0; my $BA_STYLE_ARG = 0; my $XML_STYLE_ARG = 0; my $KEYS_STYLE_ARG = 0; my $DESKTOP_STYLE_ARG = 0; my $SCHEMAS_STYLE_ARG = 0; my $RFC822DEB_STYLE_ARG = 0; my $QUIET_ARG = 0; my $PASS_THROUGH_ARG = 0; my $UTF8_ARG = 0; my $cache_file; ## Handle options GetOptions ( "help" => \$HELP_ARG, "version" => \$VERSION_ARG, "quiet|q" => \$QUIET_ARG, "oaf-style|o" => \$BA_STYLE_ARG, ## for compatibility "ba-style|b" => \$BA_STYLE_ARG, "xml-style|x" => \$XML_STYLE_ARG, "keys-style|k" => \$KEYS_STYLE_ARG, "desktop-style|d" => \$DESKTOP_STYLE_ARG, "schemas-style|s" => \$SCHEMAS_STYLE_ARG, "rfc822deb-style|r" => \$RFC822DEB_STYLE_ARG, "pass-through|p" => \$PASS_THROUGH_ARG, "utf8|u" => \$UTF8_ARG, "cache|c=s" => \$cache_file ) or &error; my $PO_DIR; my $FILE; my $OUTFILE; my %po_files_by_lang = (); my %translations = (); # Use this instead of \w for XML files to handle more possible characters. my $w = "[-A-Za-z0-9._:]"; # XML quoted string contents my $q = "[^\\\"]*"; ## Check for options. if ($VERSION_ARG) { &print_version; } elsif ($HELP_ARG) { &print_help; } elsif ($BA_STYLE_ARG && @ARGV > 2) { &preparation; &print_message; &ba_merge_translations; &finalize; } elsif ($XML_STYLE_ARG && @ARGV > 2) { &utf8_sanity_check; &preparation; &print_message; &xml_merge_translations; &finalize; } elsif ($KEYS_STYLE_ARG && @ARGV > 2) { &utf8_sanity_check; &preparation; &print_message; &keys_merge_translations; &finalize; } elsif ($DESKTOP_STYLE_ARG && @ARGV > 2) { &preparation; &print_message; &desktop_merge_translations; &finalize; } elsif ($SCHEMAS_STYLE_ARG && @ARGV > 2) { &preparation; &print_message; &schemas_merge_translations; &finalize; } elsif ($RFC822DEB_STYLE_ARG && @ARGV > 2) { &preparation; &print_message; &rfc822deb_merge_translations; &finalize; } else { &print_help; } exit; ## Sub for printing release information sub print_version { print "${PROGRAM} (${PACKAGE}) ${VERSION}\n"; print "Written by Maciej Stachowiak, Darin Adler and Kenneth Christiansen.\n\n"; print "Copyright (C) 2000-2002 Free Software Foundation, Inc.\n"; print "Copyright (C) 2000-2001 Eazel, Inc.\n"; print "This is free software; see the source for copying conditions. There is NO\n"; print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"; exit; } ## Sub for printing usage information sub print_help { print "Usage: ${PROGRAM} [OPTIONS] PO_DIRECTORY FILENAME OUTPUT_FILE\n"; print "Generates an output file that includes translated versions of some attributes,\n"; print "from an untranslated source and a po directory that includes translations.\n\n"; print " -b, --ba-style includes translations in the bonobo-activation style\n"; print " -d, --desktop-style includes translations in the desktop style\n"; print " -k, --keys-style includes translations in the keys style\n"; print " -s, --schemas-style includes translations in the schemas style\n"; print " -r, --rfc822deb-style includes translations in the RFC822 style\n"; print " -x, --xml-style includes translations in the standard xml style\n"; print " -u, --utf8 convert all strings to UTF-8 before merging\n"; print " -p, --pass-through use strings as found in .po files, without\n"; print " conversion (STRONGLY unrecommended with -x)\n"; print " -q, --quiet suppress most messages\n"; print " --help display this help and exit\n"; print " --version output version information and exit\n"; print "\nReport bugs to bugzilla.gnome.org, module intltool, or contact us through \n"; print ".\n"; exit; } ## Sub for printing error messages sub print_error { print "Try `${PROGRAM} --help' for more information.\n"; exit; } sub print_message { print "Merging translations into $OUTFILE.\n" unless $QUIET_ARG; } sub preparation { $PO_DIR = $ARGV[0]; $FILE = $ARGV[1]; $OUTFILE = $ARGV[2]; &gather_po_files; &get_translation_database; } # General-purpose code for looking up translations in .po files sub po_file2lang { my ($tmp) = @_; $tmp =~ s/^.*\/(.*)\.po$/$1/; return $tmp; } sub gather_po_files { for my $po_file (glob "$PO_DIR/*.po") { $po_files_by_lang{po_file2lang($po_file)} = $po_file; } } sub get_local_charset { my ($encoding) = @_; my $alias_file = $ENV{"G_CHARSET_ALIAS"} || "/usr/lib/charset.alias"; # seek character encoding aliases in charset.alias (glib) if (open CHARSET_ALIAS, $alias_file) { while () { next if /^\#/; return $1 if (/^\s*([-._a-zA-Z0-9]+)\s+$encoding\b/i) } close CHARSET_ALIAS; } # if not found, return input string return $encoding; } sub get_po_encoding { my ($in_po_file) = @_; my $encoding = ""; open IN_PO_FILE, $in_po_file or die; while () { ## example: "Content-Type: text/plain; charset=ISO-8859-1\n" if (/Content-Type\:.*charset=([-a-zA-Z0-9]+)\\n/) { $encoding = $1; last; } } close IN_PO_FILE; if (!$encoding) { print "Warning: no encoding found in $in_po_file. Assuming ISO-8859-1\n"; $encoding = "ISO-8859-1"; } $encoding = get_local_charset($encoding); return $encoding } sub utf8_sanity_check { if (!$UTF8_ARG) { if (!$PASS_THROUGH_ARG) { $PASS_THROUGH_ARG="1"; } } } sub get_translation_database { if ($cache_file) { &get_cached_translation_database; } else { &create_translation_database; } } sub get_newest_po_age { my $newest_age; foreach my $file (values %po_files_by_lang) { my $file_age = -M $file; $newest_age = $file_age if !$newest_age || $file_age < $newest_age; } return $newest_age; } sub create_cache { print "Generating and caching the translation database\n" unless $QUIET_ARG; &create_translation_database; open CACHE, ">$cache_file" || die; print CACHE join "\x01", %translations; close CACHE; } sub load_cache { print "Found cached translation database\n" unless $QUIET_ARG; my $contents; open CACHE, "<$cache_file" || die; { local $/; $contents = ; } close CACHE; %translations = split "\x01", $contents; } sub get_cached_translation_database { my $cache_file_age = -M $cache_file; if (defined $cache_file_age) { if ($cache_file_age <= &get_newest_po_age) { &load_cache; return; } print "Found too-old cached translation database\n" unless $QUIET_ARG; } &create_cache; } sub create_translation_database { for my $lang (keys %po_files_by_lang) { my $po_file = $po_files_by_lang{$lang}; if ($UTF8_ARG) { my $encoding = get_po_encoding ($po_file); if (lc $encoding eq "utf-8") { open PO_FILE, "<$po_file"; } else { my $iconv = $ENV{"INTLTOOL_ICONV"} || "iconv"; open PO_FILE, "$iconv -f $encoding -t UTF-8 $po_file|"; } } else { open PO_FILE, "<$po_file"; } my $nextfuzzy = 0; my $inmsgid = 0; my $inmsgstr = 0; my $msgid = ""; my $msgstr = ""; while () { $nextfuzzy = 1 if /^#, fuzzy/; if (/^msgid "((\\.|[^\\])*)"/ ) { $translations{$lang, $msgid} = $msgstr if $inmsgstr && $msgid && $msgstr; $msgid = ""; $msgstr = ""; if ($nextfuzzy) { $inmsgid = 0; } else { $msgid = unescape_po_string($1); $inmsgid = 1; } $inmsgstr = 0; $nextfuzzy = 0; } if (/^msgstr "((\\.|[^\\])*)"/) { $msgstr = unescape_po_string($1); $inmsgstr = 1; $inmsgid = 0; } if (/^"((\\.|[^\\])*)"/) { $msgid .= unescape_po_string($1) if $inmsgid; $msgstr .= unescape_po_string($1) if $inmsgstr; } } $translations{$lang, $msgid} = $msgstr if $inmsgstr && $msgid && $msgstr; } } sub finalize { } sub unescape_one_sequence { my ($sequence) = @_; return "\\" if $sequence eq "\\\\"; return "\"" if $sequence eq "\\\""; return "\n" if $sequence eq "\\n"; # gettext also handles \n, \t, \b, \r, \f, \v, \a, \xxx (octal), # \xXX (hex) and has a comment saying they want to handle \u and \U. return $sequence; } sub unescape_po_string { my ($string) = @_; $string =~ s/(\\.)/unescape_one_sequence($1)/eg; return $string; } ## NOTE: deal with < - < but not > - > because it seems its ok to have ## > in the entity. For further info please look at #84738. sub entity_decode { local ($_) = @_; s/'/'/g; # ' s/"/"/g; # " s/&/&/g; s/</ 127 || $_ == 34 || $_ == 38 || $_ == 39 || $_ == 60) { # the ($_ > 127) should probably be removed return "&#" . $_ . ";"; } else { return chr $_; } } sub entity_encoded_translation { my ($lang, $string) = @_; my $translation = $translations{$lang, $string}; return $string if !$translation; return entity_encode ($translation); } ## XML (bonobo-activation specific) merge code sub ba_merge_translations { my $source; { local $/; # slurp mode open INPUT, "<$FILE" or die "can't open $FILE: $!"; $source = ; close INPUT; } open OUTPUT, ">$OUTFILE" or die "can't open $OUTFILE: $!"; while ($source =~ s|^(.*?)([ \t]*<\s*$w+\s+($w+\s*=\s*"$q"\s*)+/?>)([ \t]*\n)?||s) { print OUTPUT $1; my $node = $2 . "\n"; my @strings = (); $_ = $node; while (s/(\s)_($w+\s*=\s*"($q)")/$1$2/s) { push @strings, entity_decode($3); } print OUTPUT; my %langs; for my $string (@strings) { for my $lang (keys %po_files_by_lang) { $langs{$lang} = 1 if $translations{$lang, $string}; } } for my $lang (sort keys %langs) { $_ = $node; s/(\sname\s*=\s*)"($q)"/$1"$2-$lang"/s; s/(\s)_($w+\s*=\s*")($q)"/$1 . $2 . entity_encoded_translation($lang, $3) . '"'/seg; print OUTPUT; } } print OUTPUT $source; close OUTPUT; } ## XML (non-bonobo-activation) merge code sub xml_merge_translations { my $source; { local $/; # slurp mode open INPUT, "<$FILE" or die "can't open $FILE: $!"; $source = ; close INPUT; } open OUTPUT, ">$OUTFILE" or die; # FIXME: support attribute translations # Empty nodes never need translation, so unmark all of them. # For example, <_foo/> is just replaced by . $source =~ s|<\s*_($w+)\s*/>|<$1/>|g; # Support for <_foo>blah style translations. while ($source =~ s|^(.*?)([ \t]*)<\s*_($w+)\s*>(.*?)<\s*/_\3\s*>([ \t]*\n)?||s) { print OUTPUT $1; my $spaces = $2; my $tag = $3; my $string = $4; print OUTPUT "$spaces<$tag>$string\n"; $string =~ s/\s+/ /g; $string =~ s/^ //; $string =~ s/ $//; $string = entity_decode($string); for my $lang (sort keys %po_files_by_lang) { my $translation = $translations{$lang, $string}; next if !$translation; $translation = entity_encode($translation); print OUTPUT "$spaces<$tag xml:lang=\"$lang\">$translation\n"; } } print OUTPUT $source; close OUTPUT; } sub keys_merge_translations { open INPUT, "<${FILE}" or die; open OUTPUT, ">${OUTFILE}" or die; while () { if (s/^(\s*)_(\w+=(.*))/$1$2/) { my $string = $3; print OUTPUT; my $non_translated_line = $_; for my $lang (sort keys %po_files_by_lang) { my $translation = $translations{$lang, $string}; next if !$translation; $_ = $non_translated_line; s/(\w+)=.*/[$lang]$1=$translation/; print OUTPUT; } } else { print OUTPUT; } } close OUTPUT; close INPUT; } sub desktop_merge_translations { open INPUT, "<${FILE}" or die; open OUTPUT, ">${OUTFILE}" or die; while () { if (s/^(\s*)_(\w+=(.*))/$1$2/) { my $string = $3; print OUTPUT; my $non_translated_line = $_; for my $lang (sort keys %po_files_by_lang) { my $translation = $translations{$lang, $string}; next if !$translation; $_ = $non_translated_line; s/(\w+)=.*/${1}[$lang]=$translation/; print OUTPUT; } } else { print OUTPUT; } } close OUTPUT; close INPUT; } sub schemas_merge_translations { my $source; { local $/; # slurp mode open INPUT, "<$FILE" or die "can't open $FILE: $!"; $source = ; close INPUT; } open OUTPUT, ">$OUTFILE" or die; # FIXME: support attribute translations # Empty nodes never need translation, so unmark all of them. # For example, <_foo/> is just replaced by . $source =~ s|<\s*_($w+)\s*/>|<$1/>|g; while ($source =~ s/ (.*?) (\s+)((\s*) (\s*(.*?)\s*<\/default>)?(\s*) (\s*(.*?)\s*<\/short>)?(\s*) (\s*(.*?)\s*<\/long>)?(\s*) <\/locale>) //sx) { print OUTPUT $1; my $locale_start_spaces = $2 ? $2 : ''; my $default_spaces = $4 ? $4 : ''; my $short_spaces = $7 ? $7 : ''; my $long_spaces = $10 ? $10 : ''; my $locale_end_spaces = $13 ? $13 : ''; my $c_default_block = $3 ? $3 : ''; my $default_string = $6 ? $6 : ''; my $short_string = $9 ? $9 : ''; my $long_string = $12 ? $12 : ''; $c_default_block =~ s/default>\[.*?\]/default>/s; print OUTPUT "$locale_start_spaces$c_default_block"; $default_string =~ s/\s+/ /g; $default_string = entity_decode($default_string); $short_string =~ s/\s+/ /g; $short_string = entity_decode($short_string); $long_string =~ s/\s+/ /g; $long_string = entity_decode($long_string); for my $lang (sort keys %po_files_by_lang) { my $default_translation = $translations{$lang, $default_string}; my $short_translation = $translations{$lang, $short_string}; my $long_translation = $translations{$lang, $long_string}; next if (!$default_translation && !$short_translation && !$long_translation); print OUTPUT "\n$locale_start_spaces"; print OUTPUT "$default_spaces"; if ($default_translation) { $default_translation = entity_encode($default_translation); print OUTPUT "$default_translation"; } print OUTPUT "$short_spaces"; if ($short_translation) { $short_translation = entity_encode($short_translation); print OUTPUT "$short_translation"; } print OUTPUT "$long_spaces"; if ($long_translation) { $long_translation = entity_encode($long_translation); print OUTPUT "$long_translation"; } print OUTPUT "$locale_end_spaces"; } } print OUTPUT $source; close OUTPUT; } sub rfc822deb_merge_translations { my $source; $Text::Wrap::huge = 'overflow'; { local $/; # slurp mode open INPUT, "<$FILE" or die "can't open $FILE: $!"; $source = ; close INPUT; } open OUTPUT, ">${OUTFILE}" or die; while ($source =~ /(^|\n+)(_)?([^:_\n]+)(:\s*)(.*?)(?=\n[\S\n]|$)/sg) { my $sep = $1; my $non_translated_line = $3.$4; my $string = $5; my $is_translatable = defined($2); # Remove [] dummy strings $string =~ s/\[\s[^\[\]]*\]$//; $non_translated_line .= $string; print OUTPUT $sep.$non_translated_line; if ($is_translatable) { my @str_list = rfc822deb_split($string); for my $lang (sort keys %po_files_by_lang) { my $is_translated = 1; my $str_translated = ''; my $first = 1; for my $str (@str_list) { my $translation = $translations{$lang, $str}; if (!$translation) { $is_translated = 0; last; } # $translation may also contain [] dummy # strings, mostly to indicate an empty string $translation =~ s/\[\s[^\[\]]*\]$//; if ($first) { $str_translated .= Text::Tabs::expand($translation) . "\n"; } else { $str_translated .= Text::Tabs::expand( Text::Wrap::wrap(' ', ' ', $translation)) . "\n .\n"; } $first = 0; # To fix some problems with Text::Wrap::wrap $str_translated =~ s/(\n )+\n/\n .\n/g; } next unless $is_translated; $str_translated =~ s/\n \.\n$//; $str_translated =~ s/\s+$//; $_ = $non_translated_line; s/^(\w+):\s*.*/$sep${1}-$lang: $str_translated/s; print OUTPUT; } } } print OUTPUT "\n"; close OUTPUT; close INPUT; } sub rfc822deb_split { # Debian defines a special way to deal with rfc822-style files: # when a value contain newlines, it consists of # 1. a short form (first line) # 2. a long description, all lines begin with a space, # and paragraphs are separated by a single dot on a line # This routine returns an array of all paragraphs, and reformat # them. my $text = shift; $text =~ s/^ //mg; return ($text) if $text !~ /\n/; $text =~ s/([^\n]*)\n//; my @list = ($1); my $str = ''; for my $line (split (/\n/, $text)) { chomp $line; $line =~ /\s+$/; if ($line =~ /^\.$/) { # New paragraph $str =~ s/\s*$//; push(@list, $str); $str = ''; } elsif ($line =~ /^\s/) { # Line which must not be reformatted $str .= "\n" if length ($str) && $str !~ /\n$/; $str .= $line."\n"; } else { # Continuation line, remove newline $str .= " " if length ($str) && $str !~ /[\n ]$/; $str .= $line; } } $str =~ s/\s*$//; push(@list, $str) if length ($str); return @list; } hardware-monitor-0.2/intltool-extract.in0000644000175000017500000002346207616013061014171 #!@INTLTOOL_PERL@ -w # -*- Mode: perl; indent-tabs-mode: nil; c-basic-offset: 4 -*- # # The Intltool Message Extractor # # Copyright (C) 2000-2001 Free Software Foundation. # # Intltool 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. # # Intltool 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., 675 Mass Ave, Cambridge, MA 02139, 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. # # Authors: Kenneth Christiansen # Darin Adler # ## Release information my $PROGRAM = "intltool-extract"; my $PACKAGE = "intltool"; my $VERSION = "0.25"; ## Loaded modules use strict; use File::Basename; use Getopt::Long; ## Scalars used by the option stuff my $TYPE_ARG = "0"; my $LOCAL_ARG = "0"; my $HELP_ARG = "0"; my $VERSION_ARG = "0"; my $UPDATE_ARG = "0"; my $QUIET_ARG = "0"; my $FILE; my $OUTFILE; my $gettext_type = ""; my $input; my %messages = (); ## Use this instead of \w for XML files to handle more possible characters. my $w = "[-A-Za-z0-9._:]"; ## Always print first $| = 1; ## Handle options GetOptions ( "type=s" => \$TYPE_ARG, "local|l" => \$LOCAL_ARG, "help|h" => \$HELP_ARG, "version|v" => \$VERSION_ARG, "update" => \$UPDATE_ARG, "quiet|q" => \$QUIET_ARG, ) or &error; &split_on_argument; ## Check for options. ## This section will check for the different options. sub split_on_argument { if ($VERSION_ARG) { &version; } elsif ($HELP_ARG) { &help; } elsif ($LOCAL_ARG) { &place_local; &extract; } elsif ($UPDATE_ARG) { &place_normal; &extract; } elsif (@ARGV > 0) { &place_normal; &message; &extract; } else { &help; } } sub place_normal { $FILE = $ARGV[0]; $OUTFILE = "$FILE.h"; } sub place_local { $OUTFILE = fileparse($FILE, ()); if (!-e "tmp/") { system("mkdir tmp/"); } $OUTFILE = "./tmp/$OUTFILE.h" } sub determine_type { if ($TYPE_ARG =~ /^gettext\/(.*)/) { $gettext_type=$1 } } ## Sub for printing release information sub version{ print "${PROGRAM} (${PACKAGE}) $VERSION\n"; print "Copyright (C) 2000 Free Software Foundation, Inc.\n"; print "Written by Kenneth Christiansen, 2000.\n\n"; print "This is free software; see the source for copying conditions. There is NO\n"; print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"; exit; } ## Sub for printing usage information sub help{ print "Usage: ${PROGRAM} [FILENAME] [OPTIONS] ...\n"; print "Generates a header file from an xml source file.\n\nGrabs all strings "; print "between <_translatable_node> and it's end tag,\nwhere tag are all allowed "; print "xml tags. Read the docs for more info.\n\n"; print " -v, --version shows the version\n"; print " -h, --help shows this help page\n"; print " -q, --quiet quiet mode\n"; print "\nReport bugs to .\n"; exit; } ## Sub for printing error messages sub error{ print "Try `${PROGRAM} --help' for more information.\n"; exit; } sub message { print "Generating C format header file for translation.\n"; } sub extract { &determine_type; &convert ($FILE); open OUT, ">$OUTFILE"; &msg_write; close OUT; print "Wrote $OUTFILE\n" unless $QUIET_ARG; } sub convert($) { ## Reading the file { local (*IN); local $/; #slurp mode open (IN, "<$FILE") || die "can't open $FILE: $!"; $input = ; } &type_ini if $gettext_type eq "ini"; &type_keys if $gettext_type eq "keys"; &type_xml if $gettext_type eq "xml"; &type_glade if $gettext_type eq "glade"; &type_scheme if $gettext_type eq "scheme"; &type_schemas if $gettext_type eq "schemas"; &type_rfc822deb if $gettext_type eq "rfc822deb"; } sub entity_decode_minimal { local ($_) = @_; s/'/'/g; # ' s/"/"/g; # " s/&/&/g; return $_; } sub entity_decode { local ($_) = @_; s/'/'/g; # ' s/"/"/g; # " s/&/&/g; s/<//g; return $_; } sub escape_char { return '\"' if $_ eq '"'; return '\n' if $_ eq "\n"; return '\\' if $_ eq '\\'; return $_; } sub escape { my ($string) = @_; return join "", map &escape_char, split //, $string; } sub type_ini { ### For generic translatable desktop files ### while ($input =~ /^_.*=(.*)$/mg) { $messages{$1} = []; } } sub type_keys { ### For generic translatable mime/keys files ### while ($input =~ /^\s*_\w+=(.*)$/mg) { $messages{$1} = []; } } sub type_xml { ### For generic translatable XML files ### while ($input =~ /\s_$w+=\"([^"]+)\"/sg) { # " $messages{entity_decode_minimal($1)} = []; } while ($input =~ /<_($w+)(?: xml:space="($w+)")?>(.+?)<\/_\1>/sg) { $_ = $3; if (!defined($2) || $2 ne "preserve") { s/\s+/ /g; s/^ //; s/ $//; } $messages{entity_decode_minimal($_)} = []; } } sub type_schemas { ### For schemas XML files ### # FIXME: We should handle escaped < (less than) while ($input =~ / \s* (\s*(.*?)\s*<\/default>\s*)? (\s*(.*?)\s*<\/short>\s*)? (\s*(.*?)\s*<\/long>\s*)? <\/locale> /sgx) { my @totranslate = ($2,$4,$6); foreach (@totranslate) { next if !$_; s/\s+/ /g; $messages{entity_decode_minimal($_)} = []; } } } sub type_rfc822deb { ### For rfc822-style Debian configuration files ### while ($input =~ /(?:^|\n)_[^:]+:\s*(.*?)(?=\n\S|$)/sg) { my @str_list = rfc822deb_split($1); for my $str (@str_list) { # As rfc822deb is for configuration files, duplicates # should never happen. Developers must use the # [] construct to make msgid unique, see also intltool-merge print STDERR "Warning: msgid multiply defined:\n $str\n" if defined($messages{$str}); $messages{$str} = []; } } } sub rfc822deb_split { # Debian defines a special way to deal with rfc822-style files: # when a value contain newlines, it consists of # 1. a short form (first line) # 2. a long description, all lines begin with a space, # and paragraphs are separated by a single dot on a line # This routine returns an array of all paragraphs, and reformat # them. my $text = shift; $text =~ s/^ //mg; return ($text) if $text !~ /\n/; $text =~ s/([^\n]*)\n//; my @list = ($1); my $str = ''; for my $line (split (/\n/, $text)) { chomp $line; $line =~ /\s+$/; if ($line =~ /^\.$/) { # New paragraph $str =~ s/\s*$//; push(@list, $str); $str = ''; } elsif ($line =~ /^\s/) { # Line which must not be reformatted $str .= "\n" if length ($str) && $str !~ /\n$/; $str .= $line."\n"; } else { # Continuation line, remove newline $str .= " " if length ($str) && $str !~ /[\n ]$/; $str .= $line; } } $str =~ s/\s*$//; push(@list, $str) if length ($str); return @list; } sub type_glade { ### For translatable Glade XML files ### my $tags = "label|title|text|format|copyright|comments|preview_text|tooltip|message"; while ($input =~ /<($tags)>([^<]+)<\/($tags)>/sg) { # Glade sometimes uses tags that normally mark translatable things for # little bits of non-translatable content. We work around this by not # translating strings that only includes something like label4 or window1. $messages{entity_decode($2)} = [] unless $2 =~ /^(window|label)[0-9]+$/; } while ($input =~ /(..[^<]*)<\/items>/sg) { for my $item (split (/\n/, $1)) { $messages{entity_decode($item)} = []; } } ## handle new glade files while ($input =~ /<(property|atkproperty)\s+[^>]*translatable\s*=\s*"yes"[^>]*>([^<]+)<\/\1>/sg) { $messages{entity_decode($2)} = [] unless $2 =~ /^(window|label)[0-9]+$/; } while ($input =~ /]*)"\s+description="([^>]+)"\/>/sg) { $messages{entity_decode_minimal($2)} = []; } } sub type_scheme { while ($input =~ /_\(?"((?:[^"\\]+|\\.)*)"\)?/sg) { $messages{$1} = []; } } sub msg_write { for my $message (sort keys %messages) { print OUT "/* xgettext:no-c-format */\n" if $message =~ /%/; my @lines = split (/\n/, $message, -1); for (my $n = 0; $n < @lines; $n++) { if ($n == 0) { print OUT "char *s = N_(\""; } else { print OUT " \""; } print OUT escape($lines[$n]); if ($n < @lines - 1) { print OUT "\\n\"\n"; } else { print OUT "\");\n"; } } } } hardware-monitor-0.2/intltool-update.in0000644000175000017500000004004307616013061013773 #!@INTLTOOL_PERL@ -w # # The Intltool Message Updater # # Copyright (C) 2000-2002 Free Software Foundation. # # Intltool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # version 2 published by the Free Software Foundation. # # Intltool 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., 675 Mass Ave, Cambridge, MA 02139, 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. # # Authors: Kenneth Christiansen # Maciej Stachowiak # Darin Adler ## Release information my $PROGRAM = "intltool-update"; my $VERSION = "0.25"; my $PACKAGE = "intltool"; ## Loaded modules use strict; use Getopt::Long; use Cwd; use File::Copy; use File::Find; ## Scalars used by the option stuff my $HELP_ARG = 0; my $VERSION_ARG = 0; my $DIST_ARG = 0; my $POT_ARG = 0; my $HEADERS_ARG = 0; my $MAINTAIN_ARG = 0; my $REPORT_ARG = 0; my $VERBOSE = 0; my $GETTEXT_PACKAGE = ""; my @languages; my %po_files_by_lang = (); # Regular expressions to categorize file types. # FIXME: Please check if the following is correct my $xml_extension = "xml(\.in)*|". # .in is not required "ui|". "glade2?(\.in)*|". # .in is not required "scm(\.in)*|". # .in is not required "oaf(\.in)+|". "etspec|". "sheet(\.in)+|". "schemas(\.in)+|". "pong(\.in)+"; my $ini_extension = "desktop(\.in)+|". "caves(\.in)+|". "directory(\.in)+|". "soundlist(\.in)+|". "keys(\.in)+|". "theme(\.in)+|". "server(\.in)+"; ## Always print as the first thing $| = 1; ## Handle options GetOptions ( "help" => \$HELP_ARG, "version" => \$VERSION_ARG, "dist|d" => \$DIST_ARG, "pot|p" => \$POT_ARG, "headers|s" => \$HEADERS_ARG, "maintain|m" => \$MAINTAIN_ARG, "report|r" => \$REPORT_ARG, "verbose|x" => \$VERBOSE, "gettext-package|g=s" => \$GETTEXT_PACKAGE, ) or &print_error_invalid_option; &print_help if $HELP_ARG; &print_version if $VERSION_ARG; my $arg_count = ($DIST_ARG > 0) + ($POT_ARG > 0) + ($HEADERS_ARG > 0) + ($MAINTAIN_ARG > 0) + ($REPORT_ARG > 0); &print_help if $arg_count > 1; # --version and --help don't require a module name my $MODULE = $GETTEXT_PACKAGE || &find_package_name; if ($DIST_ARG) { if ($ARGV[0] =~ /^[a-z]/){ &update_po_file ($ARGV[0]); &print_status ($ARGV[0]); } else { &print_help; } } elsif ($POT_ARG) { &generate_headers; &generate_po_template; } elsif ($HEADERS_ARG) { &generate_headers; } elsif ($MAINTAIN_ARG) { &find_leftout_files; } elsif ($REPORT_ARG) { &print_report; } else { if ($ARGV[0] =~ /^[a-z]/) { &main ($ARGV[0]); } else { &print_help; } } exit; ######### sub print_version { ## Print version information print "${PROGRAM} (${PACKAGE}) $VERSION\n"; print "Written by Kenneth Christiansen, Maciej Stachowiak, and Darin Adler.\n\n"; print "Copyright (C) 2000-2002 Free Software Foundation, Inc.\n"; print "This is free software; see the source for copying conditions. There is NO\n"; print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"; exit; } sub print_help { ## Print usage information print "Usage: ${PROGRAM} [OPTIONS] ...LANGCODE\n"; print "Updates PO template files and merge them with the translations.\n\n"; print " -p, --pot generate the PO template only\n"; print " -s, --headers generate the header files in POTFILES.in\n"; print " -m, --maintain search for left out files from POTFILES.in\n"; print " -r, --report display a status report for the module.\n"; print " -x, --verbose display lots of feedback\n"; print " --help display this help and exit\n"; print " --version output version information and exit\n"; print "\nExamples of use:\n"; print "${PROGRAM} --pot just creates a new PO template from the source\n"; print "${PROGRAM} da created new PO template and updated the da.po file\n\n"; print "Report bugs to bugzilla.gnome.org, module 'intltool'.\n"; exit; } sub main { my ($lang) = @_; ## Report error if the language file supplied ## to the command line is non-existent &print_error_not_existing("$lang.po") if ! -s "$lang.po"; print "Working, please wait..." unless $VERBOSE; &generate_headers; &generate_po_template; &update_po_file ($lang); &print_status ($lang); } sub determine_type ($) { my $type = $_; my $gettext_type; # FIXME: Use $xml_extentions, and maybe do all this even nicer my $xml_regex = "(?:xml(\.in)*|ui|oaf(?:\.in)+|server(?:\.in)+|sheet(?:\.in)+|". "pong(?:\.in)+|etspec|schemas(?:\.in)+)"; my $ini_regex = "(?:desktop(?:\.in)+|theme(?:\.in)+|caves(?:\.in)+|directory(?:\.in)+|". "soundlist(?:\.in)+)"; if ($type =~ /\[type: gettext\/([^\]].*)]/) { $gettext_type=$1; } elsif ($type =~ /schemas(\.in)+$/) { $gettext_type="schemas"; } elsif ($type =~ /$xml_regex$/) { $gettext_type="xml"; } elsif ($type =~ /glade2?(\.in)*$/) { $gettext_type="glade"; } elsif ($type =~ /$ini_regex$/) { $gettext_type="ini"; } elsif ($type =~ /scm(\.in)*$/) { $gettext_type="scheme"; } elsif ($type =~ /keys(\.in)+$/) { $gettext_type="keys"; } else { $gettext_type=""; } return "gettext\/$gettext_type"; } sub find_leftout_files { my (@buf_i18n_plain, @buf_i18n_xml, @buf_i18n_xml_unmarked, @buf_i18n_ini, @buf_potfiles, @buf_potfiles_ignore, @buf_allfiles, @buf_allfiles_sorted, @buf_potfiles_sorted ); ## Search and find all translatable files find sub { push @buf_i18n_plain, "$File::Find::name" if /\.(c|y|cc|cpp|c\+\+|h|gob)$/ }, ".."; find sub { push @buf_i18n_xml, "$File::Find::name" if /\.($xml_extension)$/ }, ".."; find sub { push @buf_i18n_ini, "$File::Find::name" if /\.($ini_extension)$/ }, ".."; find sub { push @buf_i18n_xml_unmarked, "$File::Find::name" if /\.(schemas(\.in)+)$/ }, ".."; open POTFILES, "POTFILES.in" or die "$PROGRAM: there's no POTFILES.in!\n"; @buf_potfiles = grep /^[^#]/, ; foreach (@buf_potfiles) { s/^\[.*]\s*//; } print "Searching for missing translatable files...\n" if $VERBOSE; ## Check if we should ignore some found files, when ## comparing with POTFILES.in foreach my $ignore ("POTFILES.skip", "POTFILES.ignore") { if (-s $ignore) { open FILE, $ignore; while () { if (/^[^#]/){ push @buf_potfiles_ignore, $_; } } print "Found $ignore: Ignoring files...\n" if $VERBOSE; @buf_potfiles = (@buf_potfiles_ignore, @buf_potfiles); } } foreach my $file (@buf_i18n_plain) { my $in_comment = 0; my $in_macro = 0; open FILE, "<$file"; while () { # Handle continued multi-line comment. if ($in_comment) { next unless s-.*\*/--; $in_comment = 0; } # Handle continued macro. if ($in_macro) { $in_macro = 0 unless /\\$/; next; } # Handle start of macro (or any preprocessor directive). if (/^\s*\#/) { $in_macro = 1 if /^([^\\]|\\.)*\\$/; next; } # Handle comments and quoted text. while (m-(/\*|//|\'|\")-) # \' and \" keep emacs perl mode happy { my $match = $1; if ($match eq "/*") { if (!s-/\*.*?\*/--) { s-/\*.*--; $in_comment = 1; } } elsif ($match eq "//") { s-//.*--; } else # ' or " { if (!s-$match([^\\]|\\.)*?$match-QUOTEDTEXT-) { warn "mismatched quotes at line $. in $file\n"; s-$match.*--; } } } if (/_\(QUOTEDTEXT/) { ## Remove the first 3 chars and add newline push @buf_allfiles, unpack("x3 A*", $file) . "\n"; last; } } close FILE; } foreach my $file (@buf_i18n_xml) { open FILE, "<$file"; while () { if (/\s_(.*)=\"/ || /translatable=\"yes\"/){ push @buf_allfiles, unpack("x3 A*", $file) . "\n"; last; } } } foreach my $file (@buf_i18n_ini){ open FILE, "<$file"; while () { if (/_(.*)=/){ push @buf_allfiles, unpack("x3 A*", $file) . "\n"; last; } } } foreach my $file (@buf_i18n_xml_unmarked){ push @buf_allfiles, unpack("x3 A*", $file) . "\n"; } @buf_allfiles_sorted = sort (@buf_allfiles); @buf_potfiles_sorted = sort (@buf_potfiles); my %in2; foreach (@buf_potfiles_sorted) { $in2{$_} = 1; } my @result; foreach (@buf_allfiles_sorted){ if (!exists($in2{$_})){ push @result, $_ } } ## Save file with information about the files missing ## if any, and give information about this procedure. if (@result) { print "\n" if $VERBOSE; open OUT, ">missing"; print OUT @result; print "The following files contain translations and are currently not in use. Please\n"; print "consider adding these to the POTFILES.in file, located in the po/ directory.\n\n"; print @result, "\n"; print "If some of these files are left out on purpose then please add them to\n"; print "POTFILES.skip instead of POTFILES.in. A file 'missing' containing this list\n"; print "of left out files has been written in the current directory.\n"; } ## If there is nothing to complain about, notify the user else { print "\nAll files containing translations are present in POTFILES.in.\n"; } } sub print_error_invalid_option { ## Handle invalid arguments print "Try `${PROGRAM} --help' for more information.\n"; exit 1; } sub generate_headers { my $EXTRACT = `which intltool-extract 2>/dev/null`; chomp $EXTRACT; $EXTRACT = $ENV{"INTLTOOL_EXTRACT"} if $ENV{"INTLTOOL_EXTRACT"}; ## Generate the .h header files, so we can allow glade and ## xml translation support if (! -s $EXTRACT) { print "\n *** The intltool-extract script wasn't found!" ."\n *** Without it, intltool-update can not generate files.\n"; exit; } else { open FILE, ") { chomp; ## Find xml files in POTFILES.in and generate the ## files with help from the extract script my $gettext_type= &determine_type ($1); if (/\.($xml_extension|$ini_extension)$/ || /^\[/){ $_ =~ s/^\[[^\[].*]\s*//; my $filename = "../$_"; if ($VERBOSE){ system($EXTRACT, "--update", "--type=$gettext_type", $filename); } else { system($EXTRACT, "--update", "--type=$gettext_type", "--quiet", $filename); } } } close FILE; } } sub generate_po_template { ## Generate the potfiles from the POTFILES.in file print "Building the $MODULE.pot...\n" if $VERBOSE; move ("POTFILES.in", "POTFILES.in.old"); open INFILE, "POTFILES.in"; while () { chomp; if (/\.($xml_extension|$ini_extension)$/ || /^\[/) { s/^\[.*]\s*//; print OUTFILE "$_.h\n"; } else { print OUTFILE "$_\n"; } } close OUTFILE; close INFILE; system ("xgettext", "--default-domain\=$MODULE", "--directory\=\.\.", "--add-comments", "--keyword\=\_", "--keyword\=N\_", "--keyword\=U\_", "--files-from\=\.\/POTFILES\.in"); move ("POTFILES.in.old", "POTFILES.in"); print "Removing generated header (.h) files..." if $VERBOSE; open FILE, ") { chomp; unlink "../$_.h" if /\.($xml_extension|$ini_extension)$/; } close FILE; print "done\n" if $VERBOSE; if (!-e "$MODULE.po") { print "WARNING: It seems that none of the files in POTFILES.in ". "contain marked strings\n"; exit (1); } system ("rm", "-f", "$MODULE.pot"); move ("$MODULE.po", "$MODULE.pot") or die "$PROGRAM: couldn't move $MODULE.po to $MODULE.pot.\n"; print "Wrote $MODULE.pot\n" if $VERBOSE; } sub update_po_file { my ($lang) = @_; print "Merging $lang.po with $MODULE.pot..." if $VERBOSE; copy ("$lang.po", "$lang.po.old") || die "copy failed: $!"; # Perform merge, remove backup file and the "messages" trash file # generated by gettext system ("msgmerge", "-o", "$lang.po", "$lang.po.old", "$MODULE.pot"); unlink "$lang.po.old"; unlink "messages"; } sub print_error_not_existing { my ($file) = @_; ## Report error if supplied language file is non-existing print "$PROGRAM: $file does not exist!\n"; print "Try '$PROGRAM --help' for more information.\n"; exit; } sub gather_po_files { my @po_files = glob ("./*.po"); @languages = map (&po_file2lang, @po_files); foreach my $lang (@languages) { $po_files_by_lang{$lang} = shift (@po_files); } } sub po_file2lang ($) { my $tmp = $_; $tmp =~ s/^.*\/(.*)\.po$/$1/; return $tmp; } sub print_status { my ($lang) = @_; system ("msgfmt", "--statistics", "$lang.po"); print "\n"; } sub print_report { &generate_headers; &generate_po_template; &gather_po_files; foreach my $lang (@languages) { print "$lang: "; &update_po_file ($lang); } print "\n\n * Current translation support in $MODULE \n\n"; foreach my $lang (@languages){ print "$lang: "; system ("msgfmt", "--statistics", "$lang.po"); } } sub find_package_name { my $base_dirname = getcwd(); $base_dirname =~ s@.*/@@; my ($conf_in, $src_dir); if ($base_dirname =~ /^po(-.+)?$/) { if (-f "../configure.in") { $conf_in = "../configure.in"; } elsif (-f "../configure.ac") { $conf_in = "../configure.ac"; } else { my $makefile_source; local (*IN); open IN, ") { if (/^top_srcdir[ \t]*=/) { $src_dir = $_; # print "${src_dir}\n"; $src_dir =~ s/^top_srcdir[ \t]*=[ \t]*([^ \t\n\r]*)/$1/; # print "${src_dir}\n"; chomp $src_dir; $conf_in = "$src_dir" . "/configure.in" . "\n"; last; } } $conf_in || die "Cannot find top_srcdir in Makefile." } my %varhash = (); my $conf_source; { local (*IN); open (IN, "<$conf_in") || die "can't open $conf_in: $!"; while () { if (/^(\w+)=(\S+)/) { $varhash{$1} = $2 }; } seek (IN, 0, 0); local $/; # slurp mode $conf_source = ; } my $name = ""; $name = $1 if $conf_source =~ /^AM_INIT_AUTOMAKE\([\s\[]*([^,\)\s\]]+)/m; if ($conf_source =~ /^AC_INIT\([\s\[]*([^,\)\s\]]+)\]?\s*,/m) { $name = $1; $varhash{"AC_PACKAGE_NAME"} = $1; } $name = $1 if $conf_source =~ /^GETTEXT_PACKAGE=\[?([^\s\]]+)/m; $name = "\$AC_PACKAGE_NAME" if "$name" eq "AC_PACKAGE_NAME"; my $oldname = ""; while (($name =~ /[\$](\S+)/) && ("$oldname" ne "$name")) { $oldname = $name; if (exists $varhash{$1}) { $name =~ s/[\$](\S+)/$varhash{$1}/; } } return $name if $name; } print "$PROGRAM: Unable to determine package name.\n" . "Make sure to run this script inside the po directory.\n"; exit; } hardware-monitor-0.2/src/0000777000175000017500000000000007617564726011215 5hardware-monitor-0.2/src/Makefile.in0000644000175000017500000003122207617564725013175 # Makefile.in generated automatically by automake 1.4-p6 from Makefile.am # Copyright (C) 1994, 1995-8, 1999, 2001 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. # originally stolen from PrefixSuffix by Murray Cumming # pass info on to source SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CXX = @CXX@ DATADIRNAME = @DATADIRNAME@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ PACKAGE = @PACKAGE@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ INCLUDES = -DHARDWARE_MONITOR_GLADEDIR=\""$(gladedir)/"\" -DGNOMELOCALEDIR=\""$(gnomelocaledir)"\" -DGNOMEICONDIR=\""$(icondir)"\" libexec_PROGRAMS = hardware-monitor # list of source files needed to build the executable hardware_monitor_SOURCES = applet.cpp applet.hpp bar-view.cpp bar-view.hpp choose-monitor-window.cpp choose-monitor-window.hpp curve-view.cpp curve-view.hpp flame-view.cpp flame-view.hpp gui-helpers.hpp helpers.cpp helpers.hpp i18n.hpp main.cpp monitor.hpp monitor-impls.cpp monitor-impls.hpp preferences-window.cpp preferences-window.hpp pixbuf-drawing.hpp text-view.cpp text-view.hpp view.cpp view.hpp ucompose.hpp @MAINTAINER_MODE_TRUE@CXXFLAGS = @CXXFLAGS@ $(DEPS_CFLAGS) -O0 -Wall @MAINTAINER_MODE_FALSE@CXXFLAGS = @CXXFLAGS@ $(DEPS_CFLAGS) -Wall -O3 LDADD = $(DEPS_LIBS) glade_DATA = $(PACKAGE).glade gladedir = $(datadir)/$(PACKAGE)/glade # FIXME: both here and in ../Makefile.am? icondir = $(datadir)/pixmaps gnomelocaledir = $(datadir)/locale EXTRA_DIST = $(glade_DATA) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = PROGRAMS = $(libexec_PROGRAMS) DEFS = @DEFS@ -I. -I$(srcdir) -I.. CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ hardware_monitor_OBJECTS = applet.o bar-view.o choose-monitor-window.o \ curve-view.o flame-view.o helpers.o main.o monitor-impls.o \ preferences-window.o text-view.o view.o hardware_monitor_LDADD = $(LDADD) hardware_monitor_DEPENDENCIES = hardware_monitor_LDFLAGS = CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ CFLAGS = @CFLAGS@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DATA = $(glade_DATA) DIST_COMMON = Makefile.am Makefile.in TODO DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar GZIP_ENV = --best SOURCES = $(hardware_monitor_SOURCES) OBJECTS = $(hardware_monitor_OBJECTS) all: all-redirect .SUFFIXES: .SUFFIXES: .S .c .cpp .o .s $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status mostlyclean-libexecPROGRAMS: clean-libexecPROGRAMS: -test -z "$(libexec_PROGRAMS)" || rm -f $(libexec_PROGRAMS) distclean-libexecPROGRAMS: maintainer-clean-libexecPROGRAMS: install-libexecPROGRAMS: $(libexec_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(libexecdir) @list='$(libexec_PROGRAMS)'; for p in $$list; do \ if test -f $$p; then \ echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ else :; fi; \ done uninstall-libexecPROGRAMS: @$(NORMAL_UNINSTALL) list='$(libexec_PROGRAMS)'; for p in $$list; do \ rm -f $(DESTDIR)$(libexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ done .c.o: $(COMPILE) -c $< .s.o: $(COMPILE) -c $< .S.o: $(COMPILE) -c $< mostlyclean-compile: -rm -f *.o core *.core clean-compile: distclean-compile: -rm -f *.tab.c maintainer-clean-compile: hardware-monitor: $(hardware_monitor_OBJECTS) $(hardware_monitor_DEPENDENCIES) @rm -f hardware-monitor $(CXXLINK) $(hardware_monitor_LDFLAGS) $(hardware_monitor_OBJECTS) $(hardware_monitor_LDADD) $(LIBS) .cpp.o: $(CXXCOMPILE) -c $< install-gladeDATA: $(glade_DATA) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(gladedir) @list='$(glade_DATA)'; for p in $$list; do \ if test -f $(srcdir)/$$p; then \ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gladedir)/$$p"; \ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(gladedir)/$$p; \ else if test -f $$p; then \ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(gladedir)/$$p"; \ $(INSTALL_DATA) $$p $(DESTDIR)$(gladedir)/$$p; \ fi; fi; \ done uninstall-gladeDATA: @$(NORMAL_UNINSTALL) list='$(glade_DATA)'; for p in $$list; do \ rm -f $(DESTDIR)$(gladedir)/$$p; \ done tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS)'; \ unique=`for i in $$list; do echo $$i; done | \ awk ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ here=`pwd` && cd $(srcdir) \ && mkid -f$$here/ID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS)'; \ unique=`for i in $$list; do echo $$i; done | \ awk ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags $$unique $(LISP)) mostlyclean-tags: clean-tags: distclean-tags: -rm -f TAGS ID maintainer-clean-tags: distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) subdir = src distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done applet.o: applet.cpp ../config.h ucompose.hpp applet.hpp curve-view.hpp \ view.hpp helpers.hpp bar-view.hpp text-view.hpp flame-view.hpp \ monitor-impls.hpp monitor.hpp preferences-window.hpp i18n.hpp bar-view.o: bar-view.cpp ../config.h ucompose.hpp bar-view.hpp view.hpp \ helpers.hpp applet.hpp monitor.hpp i18n.hpp choose-monitor-window.o: choose-monitor-window.cpp ../config.h \ choose-monitor-window.hpp gui-helpers.hpp monitor-impls.hpp \ monitor.hpp helpers.hpp applet.hpp i18n.hpp curve-view.o: curve-view.cpp ../config.h ucompose.hpp curve-view.hpp \ view.hpp helpers.hpp applet.hpp monitor.hpp i18n.hpp flame-view.o: flame-view.cpp ../config.h ucompose.hpp pixbuf-drawing.hpp \ flame-view.hpp view.hpp helpers.hpp applet.hpp monitor.hpp \ i18n.hpp graph-view.o: graph-view.cpp ../config.h ucompose.hpp graph-view.hpp \ view.hpp helpers.hpp applet.hpp monitor.hpp i18n.hpp gui-applet.o: gui-applet.cpp ../config.h ucompose.hpp view.hpp i18n.hpp \ gui-applet.hpp helpers.o: helpers.cpp ../config.h helpers.hpp i18n.hpp main.o: main.cpp ../config.h applet.hpp i18n.hpp monitor-impls.o: monitor-impls.cpp ../config.h monitor-impls.hpp \ monitor.hpp helpers.hpp ucompose.hpp i18n.hpp monitors.o: monitors.cpp ../config.h monitors.hpp helpers.hpp \ ucompose.hpp i18n.hpp preferences-window.o: preferences-window.cpp ../config.h \ preferences-window.hpp choose-monitor-window.hpp \ gui-helpers.hpp applet.hpp monitor.hpp helpers.hpp i18n.hpp text-view.o: text-view.cpp text-view.hpp view.hpp ../config.h \ helpers.hpp monitor.hpp applet.hpp ucompose.hpp i18n.hpp textual-view.o: textual-view.cpp textual-view.hpp view.hpp ../config.h \ helpers.hpp monitor-sequence.hpp monitors.hpp view.o: view.cpp view.hpp ../config.h helpers.hpp info-am: info: info-am dvi-am: dvi: dvi-am check-am: all-am check: check-am installcheck-am: installcheck: installcheck-am install-exec-am: install-libexecPROGRAMS install-exec: install-exec-am install-data-am: install-gladeDATA install-data: install-data-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am install: install-am uninstall-am: uninstall-libexecPROGRAMS uninstall-gladeDATA uninstall: uninstall-am all-am: Makefile $(PROGRAMS) $(DATA) all-redirect: all-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: $(mkinstalldirs) $(DESTDIR)$(libexecdir) $(DESTDIR)$(gladedir) mostlyclean-generic: clean-generic: distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: mostlyclean-am: mostlyclean-libexecPROGRAMS mostlyclean-compile \ mostlyclean-tags mostlyclean-generic mostlyclean: mostlyclean-am clean-am: clean-libexecPROGRAMS clean-compile clean-tags clean-generic \ mostlyclean-am clean: clean-am distclean-am: distclean-libexecPROGRAMS distclean-compile \ distclean-tags distclean-generic clean-am distclean: distclean-am maintainer-clean-am: maintainer-clean-libexecPROGRAMS \ maintainer-clean-compile maintainer-clean-tags \ maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." maintainer-clean: maintainer-clean-am .PHONY: mostlyclean-libexecPROGRAMS distclean-libexecPROGRAMS \ clean-libexecPROGRAMS maintainer-clean-libexecPROGRAMS \ uninstall-libexecPROGRAMS install-libexecPROGRAMS mostlyclean-compile \ distclean-compile clean-compile maintainer-clean-compile \ uninstall-gladeDATA install-gladeDATA tags mostlyclean-tags \ distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ install-exec install-data-am install-data install-am install \ uninstall-am uninstall all-redirect all-am all installdirs \ mostlyclean-generic distclean-generic clean-generic \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean # 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: hardware-monitor-0.2/src/Makefile.am0000644000175000017500000000272107616721524013155 # originally stolen from PrefixSuffix by Murray Cumming # pass info on to source INCLUDES = -DHARDWARE_MONITOR_GLADEDIR=\""$(gladedir)/"\" \ -DGNOMELOCALEDIR=\""$(gnomelocaledir)"\" \ -DGNOMEICONDIR=\""$(icondir)"\" libexec_PROGRAMS = hardware-monitor # list of source files needed to build the executable hardware_monitor_SOURCES = \ applet.cpp applet.hpp \ bar-view.cpp bar-view.hpp \ choose-monitor-window.cpp choose-monitor-window.hpp \ curve-view.cpp curve-view.hpp \ flame-view.cpp flame-view.hpp \ gui-helpers.hpp \ helpers.cpp helpers.hpp \ i18n.hpp \ main.cpp \ monitor.hpp \ monitor-impls.cpp monitor-impls.hpp \ preferences-window.cpp preferences-window.hpp \ pixbuf-drawing.hpp \ text-view.cpp text-view.hpp \ view.cpp view.hpp \ ucompose.hpp if MAINTAINER_MODE CXXFLAGS = @CXXFLAGS@ $(DEPS_CFLAGS) -O0 -Wall else CXXFLAGS = @CXXFLAGS@ $(DEPS_CFLAGS) -Wall -O3 endif LDADD = $(DEPS_LIBS) glade_DATA = $(PACKAGE).glade gladedir = $(datadir)/$(PACKAGE)/glade # FIXME: both here and in ../Makefile.am? icondir = $(datadir)/pixmaps gnomelocaledir = $(datadir)/locale EXTRA_DIST = $(glade_DATA) hardware-monitor-0.2/src/TODO0000644000175000017500000000114507617262105011604 Things that should be done: * Add help * Make the text view behave more sensibly, respecting the panel size * Experiment with the frame * Find a beautiful icon * Compete the System Monitor applet in gnome-applets out of the market so its name can be recycled Things to consider: * Change DiskUsage to present a list of available mount points to choose from in device chooser dialog, perhaps this should simply be a ComboBox * Choose different default colors for each monitor * Don't show a curve when all values are zero * Add tics (nearly transparent lines) to the bar view (25%, 50%, 75%) hardware-monitor-0.2/src/applet.cpp0000644000175000017500000002732207616726104013115 /* Implementation of the Applet class. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #include #include #include #include #include #include "ucompose.hpp" #include "applet.hpp" #include "curve-view.hpp" #include "bar-view.hpp" #include "text-view.hpp" #include "flame-view.hpp" #include "monitor-impls.hpp" #include "preferences-window.hpp" #include "i18n.hpp" // helpers for popping up the various things void display_preferences(BonoboUIComponent *, void *applet, const gchar *) { static_cast(applet)->on_preferences_activated(); } void display_help(BonoboUIComponent *, void *applet, const gchar *) { static_cast(applet)->on_help_activated(); } void display_about(BonoboUIComponent *, void *applet, const gchar *) { static_cast(applet)->on_about_activated(); } Applet::Applet(PanelApplet *a) : panel_applet(a) { // load icon std::string icon_name = GNOMEICONDIR "/hardware-monitor-applet.png"; try { icon = Gdk::Pixbuf::create_from_file(icon_name); } catch(...) { std::cerr << String::ucompose(_("Hardware Monitor: cannot load the icon '%1'.\n"), icon_name); // it's a minor problem if we can't find the icon icon = Glib::RefPtr(); } // setup GConf //gconf_dir = "/apps/hardware-monitor"; gconf_dir = panel_applet_get_preferences_key(panel_applet); gconf_client = Gnome::Conf::Client::get_default_client(); gconf_client->add_dir(gconf_dir); // circumvent GConf bug (FIXME: report it) gconf_client->set(gconf_dir + "/dummy", 0); gconf_client->set(gconf_dir + "/monitors/dummy", 0); // connect GConf gconf_client->notify_add(gconf_dir + "/viewer_type", SigC::slot(*this, &Applet::viewer_type_listener)); gconf_client->notify_add(gconf_dir + "/update_interval", SigC::slot(*this, &Applet::update_interval_listener)); load_monitors(); preferences_window.reset(new PreferencesWindow(*this)); set_shadow_type(Gtk::SHADOW_ETCHED_IN); // we need this #if 0 so the string will be in the message catalog for // translation below in menu_xml #if 0 // pop-up menu strings _("_Preferences...") _("_Help") _("_About...") #endif // setup menu static const char menu_xml[] = "\n" " \n" " \n" " \n" "\n"; static const BonoboUIVerb menu_verbs[] = { BONOBO_UI_VERB("HardwareMonitorPreferences", &display_preferences), BONOBO_UI_VERB("HardwareMonitorHelp", &display_help), BONOBO_UI_VERB("HardwareMonitorAbout", &display_about), BONOBO_UI_VERB_END }; panel_applet_setup_menu(panel_applet, menu_xml, menu_verbs, this); // start displaying something viewer_type_listener(0, gconf_client->get_entry(gconf_dir + "/viewer_type")); update_interval_listener(0, gconf_client->get_entry(gconf_dir + "/update_interval")); } Applet::~Applet() { // make sure noone is trying to read the monitors before we kill them view.reset(); for (monitor_iterator i = monitors.begin(), end = monitors.end(); i != end; ++i) delete i->second; } void Applet::set_view(View *v) { view.reset(v); view->display(*this); for (monitor_iterator i = monitors.begin(), end = monitors.end(); i != end; ++i) view->attach(i->second, i->first); } bool Applet::main_loop() { if (view.get()) view->update(); return true; } Gtk::Container &Applet::get_container() { // FIXME: return frame return *this; } int Applet::get_size() const { // 2 pixels of frame decoration on both sides return panel_applet_get_size(panel_applet) - 2 * 2; } bool Applet::horizontal() const { PanelAppletOrient orient = panel_applet_get_orient(panel_applet); return orient == PANEL_APPLET_ORIENT_UP || orient == PANEL_APPLET_ORIENT_DOWN; } Glib::RefPtr &Applet::get_gconf_client() { return gconf_client; } Glib::ustring Applet::get_gconf_dir() const { return gconf_dir; } Glib::RefPtr Applet::get_icon() { return icon; } void Applet::add_monitor(Monitor *monitor) { Glib::ustring mon_dir = find_empty_monitor_dir(); add_monitor(monitor, mon_dir); } void Applet::remove_monitor(Glib::ustring mon_dir) { Monitor *monitor = monitors[mon_dir]; monitors.erase(mon_dir); if (view.get()) view->detach(monitor); delete monitor; // delete the GConf keys Glib::SListHandle list = gconf_client->all_entries(mon_dir); for (Glib::SListHandle::const_iterator i = list.begin(), end = list.end(); i != end; ++i) gconf_client->unset((*i).get_key()); } void Applet::replace_monitor(Glib::ustring mon_dir, Monitor *new_mon) { Monitor *old_mon = monitors[mon_dir]; monitors[mon_dir] = new_mon; new_mon->save(gconf_client, mon_dir); if (view.get()) { view->detach(old_mon); view->attach(new_mon, mon_dir); } delete old_mon; } Monitor *Applet::look_up_monitor(Glib::ustring mon_dir) { return monitors[mon_dir]; } void Applet::viewer_type_listener(unsigned int, Gnome::Conf::Entry entry) { if (entry.get_value().get_type() != Gnome::Conf::VALUE_STRING) { // FIXME: use schema for this? Gnome::Conf::Value v(Gnome::Conf::VALUE_STRING); v.set(Glib::ustring("curve")); entry.set_value(v); gconf_client->set(entry.get_key(), Glib::ustring("curve")); } Glib::ustring s = entry.get_value().get_string(); if (s == "curve") { if (!dynamic_cast(view.get())) set_view(new CurveView); } else if (s == "bar") { if (!dynamic_cast(view.get())) set_view(new BarView); } else if (s == "text") { if (!dynamic_cast(view.get())) set_view(new TextView); } else if (s == "flame") { if (!dynamic_cast(view.get())) set_view(new FlameView); } } void Applet::update_interval_listener(unsigned int, Gnome::Conf::Entry entry) { if (entry.get_value().get_type() != Gnome::Conf::VALUE_FLOAT) { // FIXME: use schema for this? Gnome::Conf::Value v(Gnome::Conf::VALUE_FLOAT); v.set(1.0); entry.set_value(v); } update_interval = int(1000 * entry.get_value().get_float()); timer.disconnect(); timer = Glib::signal_timeout().connect(SigC::slot(*this, &Applet::main_loop), update_interval); } Glib::ustring Applet::find_empty_monitor_dir() { Glib::SListHandle list = gconf_client->all_dirs(gconf_dir + "/monitors"); Glib::SListHandle::const_iterator begin = list.begin(), end = list.end(); int c = 1; Glib::ustring mon_dir = String::ucompose(gconf_dir + "/monitors/%1", c); while (std::find(begin, end, mon_dir) != end) mon_dir = String::ucompose(gconf_dir + "/monitors/%1", ++c); return mon_dir; } void Applet::add_monitor(Monitor *monitor, Glib::ustring mon_dir) { monitors[mon_dir] = monitor; monitor->save(gconf_client, mon_dir); if (view.get()) view->attach(monitor, mon_dir); } void Applet::load_monitors() { Glib::SListHandle list = gconf_client->all_dirs(gconf_dir + "/monitors"); for (Glib::SListHandle::const_iterator i = list.begin(), end = list.end(); i != end; ++i) { const Glib::ustring &mon_dir = *i; Glib::ustring type = gconf_client->get_string(mon_dir + "/type"); if (type == "cpu_usage") { Gnome::Conf::Value v = gconf_client->get(mon_dir + "/cpu_no"); int cpu_no; if (v.get_type() == Gnome::Conf::VALUE_INT) cpu_no = v.get_int(); else cpu_no = -1; if (cpu_no == -1) add_monitor(new CpuUsageMonitor, mon_dir); else add_monitor(new CpuUsageMonitor(cpu_no), mon_dir); } else if (type == "memory_usage") add_monitor(new MemoryUsageMonitor, mon_dir); else if (type == "swap_usage") add_monitor(new SwapUsageMonitor, mon_dir); else if (type == "load_average") add_monitor(new LoadAverageMonitor, mon_dir); else if (type == "disk_usage") { Gnome::Conf::Value v = gconf_client->get(mon_dir + "/mount_dir"); Glib::ustring mount_dir; if (v.get_type() == Gnome::Conf::VALUE_STRING) mount_dir = v.get_string(); else mount_dir = "/"; // FIXME: use schema? add_monitor(new DiskUsageMonitor(mount_dir), mon_dir); } else if (type == "network_load") { Glib::ustring inter; int inter_no, inter_direction; Gnome::Conf::Value v = gconf_client->get(mon_dir + "/interface"); if (v.get_type() == Gnome::Conf::VALUE_STRING) inter = v.get_string(); else inter = "eth"; // FIXME: use schema? v = gconf_client->get(mon_dir + "/interface_no"); if (v.get_type() == Gnome::Conf::VALUE_INT) inter_no = v.get_int(); else inter_no = 0; // FIXME: use schema? v = gconf_client->get(mon_dir + "/interface_direction"); if (v.get_type() == Gnome::Conf::VALUE_INT) inter_direction = v.get_int(); else inter_direction = NetworkLoadMonitor::all_data; // FIXME: use schema? NetworkLoadMonitor::Direction dir; if (inter_direction == NetworkLoadMonitor::incoming_data) dir = NetworkLoadMonitor::incoming_data; else if (inter_direction == NetworkLoadMonitor::outgoing_data) dir = NetworkLoadMonitor::outgoing_data; else dir = NetworkLoadMonitor::all_data; add_monitor(new NetworkLoadMonitor(inter, inter_no, dir), mon_dir); } } // always start with a CpuUsageMonitor - FIXME: use schema? if (monitors.empty()) add_monitor(new CpuUsageMonitor); } void Applet::on_preferences_activated() { preferences_window->show(); } void Applet::on_help_activated() { // FIXME: do something } void Applet::on_about_activated() { std::vector authors; authors.push_back("Ole Laursen "); std::vector documenters; // add documenters here // note to translators: please fill in your names and email addresses Glib::ustring translators = _("translator_credits"); Glib::ustring description = _("Monitor various hardware-related information, such as CPU usage, " "memory usage etc. Supports curve graphs, horizontal bar plots, " "textual monitoring and fluctuating flames."); if (about.get() == 0) { about.reset(new Gnome::UI::About(_("Hardware Monitor"), VERSION, _("Copyright (c) 2003 Ole Laursen"), authors, documenters, description, translators == "translator_credits" ? "" : translators, icon)); about->set_icon(icon); about->show(); } else { about->show(); about->raise(); } } hardware-monitor-0.2/src/applet.hpp0000644000175000017500000000612307616245212013112 /* The applet class which coordinates everything. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #ifndef APPLET_HPP #define APPLET_HPP #include #include #include #include #include #include #include #include #include #include class PreferencesWindow; class View; class Monitor; // main monster GUI class class Applet: public Gtk::Frame { public: Applet(PanelApplet *panel_applet); ~Applet(); Gtk::Container &get_container(); int get_size() const; // in pixels bool horizontal() const; // whether we're in horizontal mode void set_view(View *view); // use this view to monitor Glib::RefPtr &get_gconf_client(); Glib::ustring get_gconf_dir() const; Glib::RefPtr get_icon(); // get the application icon // take over ownership of monitor void add_monitor(Monitor *monitor); // get rid of the monitor void remove_monitor(Glib::ustring mon_dir); void replace_monitor(Glib::ustring mon_dir, Monitor *new_monitor); Monitor *look_up_monitor(Glib::ustring mon_dir); private: // internal decoration Gtk::Frame frame; // monitors typedef std::map monitor_sequence; typedef monitor_sequence::iterator monitor_iterator; monitor_sequence monitors; // the context menu void on_preferences_activated(); void on_help_activated(); void on_about_activated(); // looping bool main_loop(); SigC::Connection timer; int update_interval; // GConf Glib::RefPtr gconf_client; Glib::ustring gconf_dir; void viewer_type_listener(unsigned int, Gnome::Conf::Entry entry); void update_interval_listener(unsigned int, Gnome::Conf::Entry entry); Glib::ustring find_empty_monitor_dir(); void add_monitor(Monitor *monitor, Glib::ustring mon_dir); void load_monitors(); // data PanelApplet *panel_applet; Glib::RefPtr icon; std::auto_ptr about; std::auto_ptr view; std::auto_ptr preferences_window; friend void display_preferences(BonoboUIComponent *, void *applet, const gchar *); friend void display_help(BonoboUIComponent *, void *applet, const gchar *); friend void display_about(BonoboUIComponent *, void *applet, const gchar *); }; #endif hardware-monitor-0.2/src/bar-view.cpp0000644000175000017500000001166007616722555013350 /* Implementation of the bar view. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #include #include #include #include "ucompose.hpp" #include "bar-view.hpp" #include "applet.hpp" #include "monitor.hpp" #include "i18n.hpp" // // class Bar - represents a single bar graph // class Bar { public: Bar(Monitor *monitor, const Glib::ustring &mon_dir); void update(Gnome::Canvas::Canvas &canvas, const Glib::RefPtr &client, int width, int height, int no, int total); Monitor *get_monitor(); Glib::ustring get_tip(); private: Monitor *monitor; std::auto_ptr bar; double value; Glib::ustring monitor_dir; }; Bar::Bar(Monitor *m, const Glib::ustring &mon_dir) : monitor(m), value(0), monitor_dir(mon_dir) {} void Bar::update(Gnome::Canvas::Canvas &canvas, const Glib::RefPtr &client, int width, int height, int no, int total) { // make sure bar is initialised if (bar.get() == 0) bar.reset(new Gnome::Canvas::Rect(*canvas.root())); // get drawing attributes unsigned int color; Gnome::Conf::Value v; v = client->get(monitor_dir + "/color"); if (v.get_type() == Gnome::Conf::VALUE_INT) color = v.get_int(); else { // FIXME: make up changing colors color = 0x0000FF7F; // nice blue color client->set(monitor_dir + "/color", int(color)); } bar->property_fill_color_rgba() = color; // draw value = monitor->value(); double max = monitor->max(); if (max <= 0) max = 0.0000001; // start from left (FIXME: reverse for some locales?) bar->property_x1() = 0; bar->property_x2() = width * value / max; bar->property_y1() = double(height) * no / total; bar->property_y2() = double(height) * (no + 1) / total; } Monitor *Bar::get_monitor() { return monitor; } Glib::ustring Bar::get_tip() { // note to translators: %1 is the name of a monitor, e.g. "CPU 1", and %2 is // the current measurement, e.g. "78%" return String::ucompose(_("%1: %2"), monitor->get_short_name(), monitor->format_value(value)); } // // class BarView // BarView::BarView() { } BarView::~BarView() { for (bar_iterator i = bars.begin(), end = bars.end(); i != end; ++i) delete *i; } void BarView::do_display(Applet &a) { applet = &a; // canvas creation magic canvas.reset(new Gnome::Canvas::Canvas); canvas->property_aa() = true; a.get_container().add(*canvas); } void BarView::do_update() { // first update the configured attributes Glib::RefPtr &client = applet->get_gconf_client(); Glib::ustring dir = applet->get_gconf_dir(); // FIXME: use schemas? if (client->get(dir + "/viewer/size").get_type() == Gnome::Conf::VALUE_INT) size = client->get_int(dir + "/viewer/size"); else { size = 60; client->set(dir + "/viewer/size", size); } // ensure the canvas is shown resize_canvas(); canvas->show(); int total = bars.size(); int no = 0; // then loop through each bar Glib::ustring tip; for (bar_iterator i = bars.begin(), end = bars.end(); i != end; ++i) { Bar &bar = **i; if (tip.empty()) tip = bar.get_tip(); else // note to translators: this is used for composing a list of monitors; %1 // is the previous part of the list and %2 is the part to append tip = String::ucompose(_("%1\n%2"), tip, bar.get_tip()); bar.update(*canvas, client, width(), height(), no++, total); } tooltips.set_tip(*canvas, tip); } void BarView::do_attach(Monitor *monitor, const Glib::ustring &mon_dir) { bars.push_back(new Bar(monitor, mon_dir)); } void BarView::do_detach(Monitor *monitor) { for (bar_iterator i = bars.begin(), end = bars.end(); i != end; ++i) if ((*i)->get_monitor() == monitor) { delete *i; bars.erase(i); return; } g_assert_not_reached(); } int BarView::width() const { if (applet->horizontal()) return size; else return applet->get_size(); } int BarView::height() const { if (applet->horizontal()) return applet->get_size(); else return size; } void BarView::resize_canvas() { int w = width(), h = height(); canvas->set_scroll_region(0, 0, w, h); canvas->set_size_request(w, h); } hardware-monitor-0.2/src/bar-view.hpp0000644000175000017500000000333207615767163013355 /* A view which displays a bar plot. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #ifndef BAR_VIEW_HPP #define BAR_VIEW_HPP #include #include #include #include #include #include #include "view.hpp" class Bar; class BarView: public View { public: BarView(); ~BarView(); private: virtual void do_display(Applet &applet); virtual void do_update(); virtual void do_attach(Monitor *monitor, const Glib::ustring &mon_dir); virtual void do_detach(Monitor *monitor); int width() const; int height() const; void resize_canvas(); // resize canvas according to width and height int size; // in pixels, width when vertical, else height std::auto_ptr canvas; Gtk::Tooltips tooltips; // must be destroyed before the canvas typedef std::list bar_sequence; typedef bar_sequence::iterator bar_iterator; bar_sequence bars; Applet *applet; // store pointer for reference }; #endif hardware-monitor-0.2/src/choose-monitor-window.cpp0000644000175000017500000002031007616245563016075 /* Implementation of the ChooseMonitorWindow class. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #include #include #include #include "choose-monitor-window.hpp" #include "gui-helpers.hpp" #include "monitor-impls.hpp" #include "applet.hpp" #include "i18n.hpp" ChooseMonitorWindow::ChooseMonitorWindow() { ui = get_glade_xml("choose_monitor_window"); ui->get_widget("choose_monitor_window", window); window->set_type_hint(Gdk::WINDOW_TYPE_HINT_DIALOG); ui->get_widget("cpu_usage_radiobutton", cpu_usage_radiobutton); ui->get_widget("memory_usage_radiobutton", memory_usage_radiobutton); ui->get_widget("swap_usage_radiobutton", swap_usage_radiobutton); ui->get_widget("load_average_radiobutton", load_average_radiobutton); ui->get_widget("disk_usage_radiobutton", disk_usage_radiobutton); ui->get_widget("network_load_radiobutton", network_load_radiobutton); ui->get_widget("cpu_usage_options", cpu_usage_options); ui->get_widget("disk_usage_options", disk_usage_options); ui->get_widget("network_load_options", network_load_options); ui->get_widget("all_cpus_radiobutton", all_cpus_radiobutton); ui->get_widget("one_cpu_radiobutton", one_cpu_radiobutton); ui->get_widget("cpu_no_spinbutton", cpu_no_spinbutton); ui->get_widget("mount_dir_entry", mount_dir_entry); ui->get_widget("network_type_optionmenu", network_type_optionmenu); ui->get_widget("network_direction_optionmenu", network_direction_optionmenu); cpu_usage_radiobutton->signal_toggled() .connect(SigC::slot(*this, &ChooseMonitorWindow:: on_cpu_usage_radiobutton_toggled)); disk_usage_radiobutton->signal_toggled() .connect(SigC::slot(*this, &ChooseMonitorWindow:: on_disk_usage_radiobutton_toggled)); network_load_radiobutton->signal_toggled() .connect(SigC::slot(*this, &ChooseMonitorWindow:: on_network_load_radiobutton_toggled)); cpu_no_spinbutton->set_range(1, GLIBTOP_NCPU); // connect close operations Gtk::Button *help_button; ui->get_widget("help_button", help_button); help_button->signal_clicked() .connect(SigC::slot(*this, &ChooseMonitorWindow::on_help_button_clicked)); window->signal_delete_event() .connect(SigC::slot(*this, &ChooseMonitorWindow::on_closed)); } ChooseMonitorWindow::~ChooseMonitorWindow() { window->hide(); } void ChooseMonitorWindow::set_icon(Glib::RefPtr icon) { window->set_icon(icon); } Monitor *ChooseMonitorWindow::run(const Glib::RefPtr &client, const Glib::ustring &mon_dir) { // setup dialog if (!mon_dir.empty()) { Glib::ustring type = client->get_string(mon_dir + "/type"); if (type == "cpu_usage") cpu_usage_radiobutton->property_active() = true; else if (type == "memory_usage") memory_usage_radiobutton->property_active() = true; else if (type == "load_average") load_average_radiobutton->property_active() = true; else if (type == "disk_usage") disk_usage_radiobutton->property_active() = true; else if (type == "network_load") network_load_radiobutton->property_active() = true; else // FIXME: use schema? cpu_usage_radiobutton->property_active() = true; Gnome::Conf::Value v; // fill in cpu info v = client->get(mon_dir + "/cpu_no"); if (v.get_type() == Gnome::Conf::VALUE_INT) { int no = v.get_int(); if (no >= 0 || no < GLIBTOP_NCPU) { one_cpu_radiobutton->property_active() = true; cpu_no_spinbutton->set_value(no + 1); } } // fill in disk usage info v = client->get(mon_dir + "/mount_dir"); if (v.get_type() == Gnome::Conf::VALUE_STRING) mount_dir_entry->set_text(v.get_string()); // fill in network load info v = client->get(mon_dir + "/interface"); if (v.get_type() == Gnome::Conf::VALUE_STRING) { Glib::ustring interface = v.get_string(); int interface_no = 0; v = client->get(mon_dir + "/interface_no"); if (v.get_type() == Gnome::Conf::VALUE_INT) interface_no = v.get_int(); if (interface == "eth" && interface_no == 0) network_type_optionmenu->set_history(0); else if (interface == "eth" && interface_no == 1) network_type_optionmenu->set_history(1); else if (interface == "eth" && interface_no == 2) network_type_optionmenu->set_history(2); else if (interface == "ppp") network_type_optionmenu->set_history(3); else if (interface == "slip") network_type_optionmenu->set_history(4); else network_type_optionmenu->set_history(0); } v = client->get(mon_dir + "/interface_direction"); if (v.get_type() == Gnome::Conf::VALUE_INT) { int direction = v.get_int(); if (direction == NetworkLoadMonitor::incoming_data) network_direction_optionmenu->set_history(1); else if (direction == NetworkLoadMonitor::outgoing_data) network_direction_optionmenu->set_history(2); else if (direction == NetworkLoadMonitor::all_data) network_direction_optionmenu->set_history(0); } } if (cpu_usage_radiobutton->get_active()) cpu_usage_radiobutton->toggled(); // send a signal // then ask the user int response; do { response = window->run(); if (response == Gtk::RESPONSE_OK) { Monitor *mon = 0; if (cpu_usage_radiobutton->get_active()) if (one_cpu_radiobutton->get_active()) mon = new CpuUsageMonitor(int(cpu_no_spinbutton->get_value()) - 1); else mon = new CpuUsageMonitor; else if (memory_usage_radiobutton->get_active()) mon = new MemoryUsageMonitor; else if (swap_usage_radiobutton->get_active()) mon = new SwapUsageMonitor; else if (load_average_radiobutton->get_active()) mon = new LoadAverageMonitor; else if (disk_usage_radiobutton->get_active()) { Glib::ustring mount_dir = mount_dir_entry->get_text(); // FIXME: check that mount_dir is valid mon = new DiskUsageMonitor(mount_dir); } else if (network_load_radiobutton->get_active()) { Glib::ustring interface; int interface_no; switch (network_type_optionmenu->get_history()) { case 1: interface = "eth"; interface_no = 1; break; case 2: interface = "eth"; interface_no = 2; break; case 3: interface = "ppp"; interface_no = 0; break; case 4: interface = "slip"; interface_no = 0; break; default: interface = "eth"; interface_no = 0; break; } NetworkLoadMonitor::Direction dir; switch (network_direction_optionmenu->get_history()) { case NetworkLoadMonitor::incoming_data: dir = NetworkLoadMonitor::incoming_data; break; case NetworkLoadMonitor::outgoing_data: dir = NetworkLoadMonitor::outgoing_data; break; default: dir = NetworkLoadMonitor::all_data; break; } mon = new NetworkLoadMonitor(interface, interface_no, dir); } return mon; } } while (response == Gtk::RESPONSE_HELP); return 0; } // UI callbacks void ChooseMonitorWindow::on_cpu_usage_radiobutton_toggled() { bool active = cpu_usage_radiobutton->get_active(); cpu_usage_options->property_sensitive() = active; } void ChooseMonitorWindow::on_disk_usage_radiobutton_toggled() { bool active = disk_usage_radiobutton->get_active(); disk_usage_options->property_sensitive() = active; } void ChooseMonitorWindow::on_network_load_radiobutton_toggled() { bool active = network_load_radiobutton->get_active(); network_load_options->property_sensitive() = active; } void ChooseMonitorWindow::on_help_button_clicked() { // FIXME: do something } bool ChooseMonitorWindow::on_closed(GdkEventAny *) { window->hide(); return false; } hardware-monitor-0.2/src/choose-monitor-window.hpp0000644000175000017500000000443107616245537016111 /* The choose monitor window. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #ifndef CHOOSE_MONITOR_WINDOW_HPP #define CHOOSE_MONITOR_WINDOW_HPP #include #include #include #include #include #include #include #include #include #include class Applet; class Monitor; class ChooseMonitorWindow: public SigC::Object { public: ChooseMonitorWindow(); ~ChooseMonitorWindow(); void set_icon(Glib::RefPtr icon); // given a monitor directory (may be ""), return a new monitor or 0 Monitor *run(const Glib::RefPtr &client, const Glib::ustring &mon_dir); private: Glib::RefPtr ui; Gtk::Dialog *window; Gtk::RadioButton *cpu_usage_radiobutton, *memory_usage_radiobutton, *swap_usage_radiobutton, *load_average_radiobutton, *disk_usage_radiobutton, *network_load_radiobutton; Gtk::Box *cpu_usage_options; Gtk::RadioButton *all_cpus_radiobutton; Gtk::RadioButton *one_cpu_radiobutton; Gtk::SpinButton *cpu_no_spinbutton; Gtk::Box *disk_usage_options; Gtk::Entry *mount_dir_entry; Gtk::Box *network_load_options; Gtk::OptionMenu *network_type_optionmenu; Gtk::OptionMenu *network_direction_optionmenu; // GUI void on_cpu_usage_radiobutton_toggled(); void on_disk_usage_radiobutton_toggled(); void on_network_load_radiobutton_toggled(); void on_help_button_clicked(); bool on_closed(GdkEventAny *); }; #endif hardware-monitor-0.2/src/curve-view.cpp0000644000175000017500000001500407616722561013721 /* Implementation of the curve view. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #include #include // for max/min[_element]() #include #include #include #include #include "ucompose.hpp" #include "curve-view.hpp" #include "applet.hpp" #include "monitor.hpp" #include "i18n.hpp" // // class Curve - represents a line curve // class Curve { public: Curve(Monitor *monitor, const Glib::ustring &mon_dir); void sync_with_monitor(unsigned int max_samples); // gather info from monitor void draw(Gnome::Canvas::Canvas &canvas, // redraw curve on canvas const Glib::RefPtr &client, int width, int height, int samples); Monitor *get_monitor(); Glib::ustring get_tip(); private: Monitor *monitor; std::auto_ptr line; // we need to store the past values typedef std::deque value_sequence; typedef value_sequence::iterator value_iterator; value_sequence values; Glib::ustring monitor_dir; }; Curve::Curve(Monitor *m, const Glib::ustring &mon_dir) : monitor(m), monitor_dir(mon_dir) {} void Curve::sync_with_monitor(unsigned int max_samples) { double val = monitor->value(); values.push_front(val); // get rid of extra samples (there may be more than one if user changes // configuration) while (values.size() > max_samples) values.pop_back(); } void Curve::draw(Gnome::Canvas::Canvas &canvas, const Glib::RefPtr &client, int width, int height, int samples) { double max = std::max(monitor->max(), 0.000001); // avoid division by zero value_iterator i = values.begin(), end = values.end(); assert(i != end); // we need at least one point // however, only one point is pointless if (std::distance(i, end) < 2) return; // make sure line is initialised if (line.get() == 0) { line.reset(new Gnome::Canvas::Line(*canvas.root())); line->property_smooth() = true; } // get drawing attributes unsigned int color; double line_width; Gnome::Conf::Value v; v = client->get(monitor_dir + "/color"); if (v.get_type() == Gnome::Conf::VALUE_INT) color = v.get_int(); else { color = 0x0000FF7F; // FIXME: use changing colors client->set(monitor_dir + "/color", int(color)); } v = client->get(monitor_dir + "/line_width"); if (v.get_type() == Gnome::Conf::VALUE_FLOAT) line_width = v.get_float(); else { line_width = 1.2; // FIXME: use schema? client->set(monitor_dir + "/line_width", line_width); } line->property_fill_color_rgba() = color; line->property_width_units() = line_width; Gnome::Canvas::Points points; points.reserve(values.size()); // one less than no. of samples because two points are end-points double pixels_per_sample = double(width) / (samples - 1); // start from right (FIXME: reverse for some locales?) double x = width; do { double y = (1 - (*i / max)) * height; points.push_back(Gnome::Art::Point(x, y)); x -= pixels_per_sample; } while (++i != end); line->property_points() = points; } Monitor *Curve::get_monitor() { return monitor; } Glib::ustring Curve::get_tip() { // note to translators: %1 is the name of a monitor, e.g. "CPU 1", and %2 is // the current measurement, e.g. "78%" return String::ucompose(_("%1: %2"), monitor->get_short_name(), monitor->format_value(values.front())); } // // class CurveView // CurveView::CurveView() { } CurveView::~CurveView() { for (curve_iterator i = curves.begin(), end = curves.end(); i != end; ++i) delete *i; } void CurveView::do_display(Applet &a) { applet = &a; // canvas creation magic canvas.reset(new Gnome::Canvas::Canvas); canvas->property_aa() = true; a.get_container().add(*canvas); } void CurveView::do_update() { // first update the configured attributes Glib::RefPtr &client = applet->get_gconf_client(); Glib::ustring dir = applet->get_gconf_dir(); // FIXME: use schemas? if (client->get(dir + "/viewer/size").get_type() == Gnome::Conf::VALUE_INT) size = client->get_int(dir + "/viewer/size"); else { size = 60; client->set(dir + "/viewer/size", size); } if (client->get(dir + "/viewer/samples").get_type() == Gnome::Conf::VALUE_INT) samples = client->get_int(dir + "/viewer/samples"); else { samples = 30; client->set(dir + "/viewer/samples", int(samples)); } // ensure the canvas is shown resize_canvas(); canvas->show(); // then loop through each curve Glib::ustring tip; for (curve_iterator i = curves.begin(), end = curves.end(); i != end; ++i) { Curve &curve = **i; curve.sync_with_monitor(samples); if (tip.empty()) tip = curve.get_tip(); else // note to translators: this is used for composing a list of monitors; %1 // is the previous part of the list and %2 is the part to append tip = String::ucompose(_("%1\n%2"), tip, curve.get_tip()); curve.draw(*canvas, client, width(), height(), samples); } tooltips.set_tip(*canvas, tip); } void CurveView::do_attach(Monitor *monitor, const Glib::ustring &mon_dir) { curves.push_back(new Curve(monitor, mon_dir)); } void CurveView::do_detach(Monitor *monitor) { for (curve_iterator i = curves.begin(), end = curves.end(); i != end; ++i) if ((*i)->get_monitor() == monitor) { delete *i; curves.erase(i); return; } g_assert_not_reached(); } int CurveView::width() const { if (applet->horizontal()) return size; else return applet->get_size(); } int CurveView::height() const { if (applet->horizontal()) return applet->get_size(); else return size; } void CurveView::resize_canvas() { int w = width(), h = height(); canvas->set_scroll_region(0, 0, w, h); canvas->set_size_request(w, h); } hardware-monitor-0.2/src/curve-view.hpp0000644000175000017500000000347107615767163013741 /* A view which displays a (time, value) curve plot. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #ifndef CURVE_VIEW_HPP #define CURVE_VIEW_HPP #include #include #include #include #include #include #include "view.hpp" class Curve; class CurveView: public View { public: CurveView(); ~CurveView(); private: virtual void do_display(Applet &applet); virtual void do_update(); virtual void do_attach(Monitor *monitor, const Glib::ustring &mon_dir); virtual void do_detach(Monitor *monitor); int width() const; int height() const; void resize_canvas(); // resize canvas according to width and height int size; // in pixels, width when vertical, else height unsigned int samples; // number of samples to store std::auto_ptr canvas; Gtk::Tooltips tooltips; // must be destroyed before the canvas typedef std::list curve_sequence; typedef curve_sequence::iterator curve_iterator; curve_sequence curves; Applet *applet; // store pointer for reference }; #endif hardware-monitor-0.2/src/flame-view.cpp0000644000175000017500000002140607617564312013663 /* Implementation of the flame view. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #include #include #include #include #include #include #include "ucompose.hpp" #include "pixbuf-drawing.hpp" #include "flame-view.hpp" #include "applet.hpp" #include "monitor.hpp" #include "i18n.hpp" // // class Flame - represents a flame layer // class Flame { public: Flame(Monitor *monitor, const Glib::ustring &mon_dir); void update(Gnome::Canvas::Canvas &canvas, const Glib::RefPtr &client, int width, int height, int no, int total); void burn(); Monitor *get_monitor(); Glib::ustring get_tip(); private: Monitor *monitor; std::auto_ptr flame; double value, max; std::vector fuel; int next_refuel; int cooling; // cooling factor void recompute_fuel(); Glib::ustring monitor_dir; }; Flame::Flame(Monitor *m, const Glib::ustring &mon_dir) : monitor(m), value(0), next_refuel(0), monitor_dir(mon_dir) {} void Flame::update(Gnome::Canvas::Canvas &canvas, const Glib::RefPtr &client, int width, int height, int no, int total) { // get color unsigned int color; Gnome::Conf::Value v; v = client->get(monitor_dir + "/color"); if (v.get_type() == Gnome::Conf::VALUE_INT) color = v.get_int(); else { // FIXME: make up changing colors color = 0x0000FF7F; // nice blue color client->set(monitor_dir + "/color", int(color)); } // then make sure layer is correctly setup if (flame.get() == 0) { Glib::RefPtr p = Gdk::Pixbuf::create(Gdk::COLORSPACE_RGB, true, 8, width, height); p->fill(color & 0xFFFFFF00); flame.reset(new Gnome::Canvas::Pixbuf(*canvas.root(), 0, 0, p)); } else { Glib::RefPtr pixbuf = flame->property_pixbuf(); // perhaps the dimensions have changed if (pixbuf->get_width() != width || pixbuf->get_height() != height) { Glib::RefPtr new_pixbuf = Gdk::Pixbuf::create(Gdk::COLORSPACE_RGB, true, 8, width, height); new_pixbuf->fill(color & 0xFFFFFF00); flame->property_pixbuf() = new_pixbuf; } else { // perhaps the color has changed PixelIterator i = begin(pixbuf); unsigned char red = color >> 24, green = color >> 16, blue = color >> 8; if (i->red() != red || i->green() != green || i->blue() != blue) { for (PixelIterator e = end(pixbuf); i != e; ++i) { Pixel pixel = *i; pixel.red() = red; pixel.green() = green; pixel.blue() = blue; } flame->property_pixbuf() = pixbuf; } } } // finally just extract values, we don't draw here value = monitor->value(); max = monitor->max(); if (max <= 0) max = 0.0000001; cooling = int((std::pow(-1.0 / (0.30 - 1), 1.0 / height) - 1) * 256); if (width != int(fuel.size())) fuel.resize(width); } unsigned int random_between(unsigned int min, unsigned int max) { return min + std::rand() % (max - min); } void Flame::recompute_fuel() { int ratio = int(value / max * 255); if (next_refuel <= 0) { next_refuel = random_between(5, 20); // the fuel values are calculated from second-degree graphs with the // branches turning downwards, concatenated at the roots; span is the // distance between the roots and max is the value at the summit int span, max; int i = 0; for (std::vector::iterator x = fuel.begin(), end = fuel.end(); x != end; ++x) { if (i <= 0) { // new graph, new parameters i = span = random_between(6, 16); max = random_between(255 + ratio * 3, 255 * 2 + ratio * 6) / 8; } else { // y = -(x - |r1-r2|/2)^2 + y_max *x = - (i - span / 2) * (i - span / 2) + max; --i; } } } else --next_refuel; } void Flame::burn() { if (!flame.get()) return; Glib::RefPtr pixbuf = flame->property_pixbuf(); int width = pixbuf->get_width(); int height = pixbuf->get_height(); recompute_fuel(); // process the lowest row PixelPosition lowest = get_position(pixbuf, 0, height - 1); for (int x = 0; x < width; ++x) { lowest.pixel().alpha() = (lowest.pixel().alpha() * 3 + fuel[x]) / 4; lowest.right(); } // then process the rest of the pixbuf for (int y = height - 2; y >= 0; --y) { // setup positions PixelPosition pos = get_position(pixbuf, 0, y), right = get_position(pixbuf, 2, y), below = get_position(pixbuf, 1, y + 1); unsigned char left_alpha = pos.pixel().alpha(); pos.right(); // process row for (int x = 1; x < width - 1; ++x) { // this is int to ensure enough precision in sum below unsigned int pos_alpha = pos.pixel().alpha(), right_alpha = right.pixel().alpha(), below_alpha = below.pixel().alpha(); int tmp = (left_alpha + 6 * pos_alpha + right_alpha + 8 * below_alpha) / 16; pos.pixel().alpha() = std::max(((256 + cooling) * tmp - cooling * 256) / 256, 0); #if 0 if (std::rand() / 4 == 0) pos.pixel().alpha() = (pos.pixel().alpha() * y * 2 + random_between(0, 255) * (height - y)) / height / 3; #endif left_alpha = pos_alpha; pos.right(); right.right(); below.right(); } } flame->property_pixbuf() = pixbuf; } Monitor *Flame::get_monitor() { return monitor; } Glib::ustring Flame::get_tip() { // note to translators: %1 is the name of a monitor, e.g. "CPU 1", and %2 is // the current measurement, e.g. "78%" return String::ucompose(_("%1: %2"), monitor->get_short_name(), monitor->format_value(value)); } // // class FlameView // FlameView::FlameView() { } FlameView::~FlameView() { timer.disconnect(); for (flame_iterator i = flames.begin(), end = flames.end(); i != end; ++i) delete *i; } void FlameView::do_display(Applet &a) { applet = &a; // canvas creation magic canvas.reset(new Gnome::Canvas::Canvas); canvas->property_aa() = true; a.get_container().add(*canvas); timer = Glib::signal_timeout() .connect(SigC::slot(*this, &FlameView::burn_loop), 100); } void FlameView::do_update() { // first update the configured attributes Glib::RefPtr &client = applet->get_gconf_client(); Glib::ustring dir = applet->get_gconf_dir(); // FIXME: use schemas? if (client->get(dir + "/viewer/size").get_type() == Gnome::Conf::VALUE_INT) size = client->get_int(dir + "/viewer/size"); else { size = 60; client->set(dir + "/viewer/size", size); } // ensure the canvas is shown resize_canvas(); canvas->show(); int total = flames.size(); int no = 0; // then loop through each flame Glib::ustring tip; for (flame_iterator i = flames.begin(), end = flames.end(); i != end; ++i) { Flame &flame = **i; if (tip.empty()) tip = flame.get_tip(); else // note to translators: this is used for composing a list of monitors; %1 // is the previous part of the list and %2 is the part to append tip = String::ucompose(_("%1\n%2"), tip, flame.get_tip()); flame.update(*canvas, client, width(), height(), no++, total); } tooltips.set_tip(*canvas, tip); } void FlameView::do_attach(Monitor *monitor, const Glib::ustring &mon_dir) { flames.push_back(new Flame(monitor, mon_dir)); } void FlameView::do_detach(Monitor *monitor) { for (flame_iterator i = flames.begin(), end = flames.end(); i != end; ++i) if ((*i)->get_monitor() == monitor) { delete *i; flames.erase(i); return; } g_assert_not_reached(); } int FlameView::width() const { if (applet->horizontal()) return size; else return applet->get_size(); } int FlameView::height() const { if (applet->horizontal()) return applet->get_size(); else return size; } void FlameView::resize_canvas() { int w = width(), h = height(); canvas->set_scroll_region(0, 0, w, h); canvas->set_size_request(w, h); } bool FlameView::burn_loop() { for (flame_iterator i = flames.begin(), end = flames.end(); i != end; ++i) (*i)->burn(); return true; } hardware-monitor-0.2/src/flame-view.hpp0000644000175000017500000000356607616723533013700 /* A view which displays a steady flame, the size of which is determined by the * monitor values. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #ifndef FLAME_VIEW_HPP #define FLAME_VIEW_HPP #include #include #include #include #include #include #include "view.hpp" class Flame; class FlameView: public View, public SigC::Object { public: FlameView(); ~FlameView(); private: virtual void do_display(Applet &applet); virtual void do_update(); virtual void do_attach(Monitor *monitor, const Glib::ustring &mon_dir); virtual void do_detach(Monitor *monitor); int width() const; int height() const; void resize_canvas(); // resize canvas according to width and height int size; // in pixels, width when vertical, else height bool burn_loop(); SigC::Connection timer; std::auto_ptr canvas; Gtk::Tooltips tooltips; // must be destroyed before the canvas typedef std::list flame_sequence; typedef flame_sequence::iterator flame_iterator; flame_sequence flames; Applet *applet; // store pointer for reference }; #endif hardware-monitor-0.2/src/gui-helpers.hpp0000644000175000017500000000214007616243444014051 /* Helper functions. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #ifndef GUI_HELPERS_HPP #define GUI_HELPERS_HPP #include #include inline Glib::RefPtr get_glade_xml(Glib::ustring root) { // FIXME: what if it doesn't work? return Gnome::Glade::Xml::create(HARDWARE_MONITOR_GLADEDIR "hardware-monitor.glade", root); } #endif hardware-monitor-0.2/src/helpers.cpp0000644000175000017500000000247507615771143013276 /* Helper functions. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #include #include #include "helpers.hpp" #include "i18n.hpp" void fatal_error(const Glib::ustring &msg) { Gtk::MessageDialog d(msg, Gtk::MESSAGE_ERROR); d.set_modal(); d.set_title(_("Fatal error")); d.run(); exit(1); } Glib::ustring truncate_string(Glib::ustring s, unsigned int n) { // for when a string needs to be truncated Glib::ustring ellipsis = "..."; if (s.length() > n && n - ellipsis.length() > 0) s.replace(n - ellipsis.length(), Glib::ustring::npos, ellipsis); return s; } hardware-monitor-0.2/src/helpers.hpp0000644000175000017500000000221607616243340013266 /* Helper functions. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #ifndef HELPERS_HPP #define HELPERS_HPP #include // from www.boost.org - derivation from this class makes the derived class // noncopyable class noncopyable { protected: noncopyable() {} ~noncopyable() {} private: noncopyable(const noncopyable&); const noncopyable& operator=(const noncopyable&); }; void fatal_error(const Glib::ustring &msg); #endif hardware-monitor-0.2/src/i18n.hpp0000644000175000017500000000216607616222512012405 /* Internationalisation functions. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #ifndef HARDWARE_MONITOR_I18N_HPP #define HARDWARE_MONITOR_I18N_HPP #ifndef GETTEXT_PACKAGE #error "config.h must be included prior to i18n.hpp" #endif #include #include #ifdef _ #undef _ #endif #ifdef N_ #undef N_ #endif //#define _(x) dgettext (GETTEXT_PACKAGE, x) #define _(x) gettext (x) #define N_(x) x #endif hardware-monitor-0.2/src/main.cpp0000644000175000017500000000347107616452764012563 /* Main program. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #include #include #include #include #include #include #include "applet.hpp" #include "i18n.hpp" gboolean hardware_monitor_factory(PanelApplet *panel_applet, const gchar *iid, void *) { // construct applet Applet *applet = manage(new Applet(panel_applet)); applet->show(); gtk_container_add(GTK_CONTAINER(panel_applet), GTK_WIDGET(applet->gobj())); gtk_widget_show(GTK_WIDGET(panel_applet)); return true; } int main(int argc, char *argv[]) { Gnome::Main main(PACKAGE, VERSION, Gnome::UI::module_info_get(), argc, argv); try { // i18n bindtextdomain(GETTEXT_PACKAGE, GNOMELOCALEDIR); bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); textdomain(GETTEXT_PACKAGE); panel_applet_factory_main("OAFIID:HardwareMonitor_Factory", PANEL_TYPE_APPLET, &hardware_monitor_factory, 0); } catch(const Glib::Error& ex) { // FIXME: show the error graphically! std::cerr << ex.what() << std::endl; } } hardware-monitor-0.2/src/monitor.hpp0000644000175000017500000000316307615767163013332 /* Interface base class for the monitors. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #ifndef MONITOR_HPP #define MONITOR_HPP #include #include #include #include "helpers.hpp" class Monitor: noncopyable { public: virtual ~Monitor() {} // fetch the currently monitored value, a number between 0 and 1 virtual double value() = 0; // the max value that the monitor may attain virtual double max() = 0; // convert float in [0,1] interval to string which represents an // actual number with the appropriate unit virtual Glib::ustring format_value(double val) = 0; // return a descriptive name virtual Glib::ustring get_name() = 0; // return a short name virtual Glib::ustring get_short_name() = 0; // save information about the monitor virtual void save(const Glib::RefPtr &client, const Glib::ustring &dir) = 0; }; #endif hardware-monitor-0.2/src/monitor-impls.cpp0000644000175000017500000002654007616717467014456 /* The various system statistics - adapters of the libgtop interface. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #include #include #include #include #include #include // for high-precision timing for the network load #include #include #include #include #include #include #include #include "monitor-impls.hpp" #include "ucompose.hpp" #include "i18n.hpp" // FIXME: put this in configure? investigate diskusage applet #define DISK_BLOCK_SIZE 1024 #define disk_block_size DISK_BLOCK_SIZE // helpers // for setting precision struct Precision { int n; }; std::ostream &operator <<(std::ostream& os, const Precision &p) { os << std::setprecision(p.n) << std::setiosflags(std::ios_base::fixed); return os; } Precision precision(int n) { Precision p; p.n = n; return p; } // for getting max no. of decimal digits Precision decimal_digits(double val, int n) { Precision p; if (val == 0) p.n = 1; else { while (val > 1 && n > 0) { val /= 10; --n; } p.n = n; } return p; } // // class CpuUsageMonitor // CpuUsageMonitor::CpuUsageMonitor() : cpu_no(all_cpus), user_time(0), nice_time(0), sys_time(0), idle_time(0) {} CpuUsageMonitor::CpuUsageMonitor(int cpu) : cpu_no(cpu), user_time(0), nice_time(0), sys_time(0), idle_time(0) { assert(cpu_no >= 0 && cpu_no < GLIBTOP_NCPU); } double CpuUsageMonitor::value() { glibtop_cpu cpu; glibtop_get_cpu(&cpu); guint64 u, n, s, i; if (cpu_no == all_cpus) { u = cpu.user; n = cpu.nice; s = cpu.sys; i = cpu.idle; } else { u = cpu.xcpu_user[cpu_no]; n = cpu.xcpu_nice[cpu_no]; s = cpu.xcpu_sys[cpu_no]; i = cpu.xcpu_idle[cpu_no]; } // calculate ticks since last call guint64 duser = u - user_time, dnice = n - nice_time, dsys = s - sys_time, didle = i - idle_time; // and save the new values user_time = u; nice_time = n; sys_time = s; idle_time = i; guint64 total = duser + dnice + dsys + didle; if (total > 0) // don't count dnice since to avoid always showing 100% with SETI@home and // similar applications running return double(duser + dsys) / total; else return 0; } double CpuUsageMonitor::max() { return 1; } Glib::ustring CpuUsageMonitor::format_value(double val) { return String::ucompose(_("%1%%"), precision(1), 100 * val); } Glib::ustring CpuUsageMonitor::get_name() { if (cpu_no == all_cpus) return _("All processors"); else return String::ucompose(_("Processor no. %1"), cpu_no + 1); } Glib::ustring CpuUsageMonitor::get_short_name() { if (cpu_no == all_cpus) // must be short return _("CPU"); else // note to translators: %1 is the cpu no, e.g. "CPU 1" return String::ucompose(_("CPU %1"), cpu_no + 1); } void CpuUsageMonitor::save(const Glib::RefPtr &client, const Glib::ustring &dir) { client->set(dir + "/type", Glib::ustring("cpu_usage")); client->set(dir + "/cpu_no", cpu_no); } // // class SwapUsageMonitor // SwapUsageMonitor::SwapUsageMonitor() : max_value(0) { } double SwapUsageMonitor::value() { glibtop_swap swp; glibtop_get_swap(&swp); max_value = swp.total; if (swp.total > 0) return swp.used; else return 0; } double SwapUsageMonitor::max() { return max_value; } Glib::ustring SwapUsageMonitor::format_value(double val) { val /= 1000000; return String::ucompose(_("%1 Mb"), decimal_digits(val, 3), val); } Glib::ustring SwapUsageMonitor::get_name() { return _("Disk-based memory"); } Glib::ustring SwapUsageMonitor::get_short_name() { // must be short return _("Swap"); } void SwapUsageMonitor::save(const Glib::RefPtr &client, const Glib::ustring &dir) { client->set(dir + "/type", Glib::ustring("swap_usage")); } // // class LoadAverageMonitor // LoadAverageMonitor::LoadAverageMonitor() : max_value(0) { } double LoadAverageMonitor::value() { glibtop_loadavg loadavg; glibtop_get_loadavg (&loadavg); if (max_value < loadavg.loadavg[0]) max_value = loadavg.loadavg[0]; if (max_value > 0) return loadavg.loadavg[0]; else return 0; } double LoadAverageMonitor::max() { return max_value; } Glib::ustring LoadAverageMonitor::format_value(double val) { return String::ucompose("%1", precision(1), val); } Glib::ustring LoadAverageMonitor::get_name() { return _("Load average"); } Glib::ustring LoadAverageMonitor::get_short_name() { // note to translators: short for "load average" - it has nothing to do with // loading data return _("Load"); } void LoadAverageMonitor::save(const Glib::RefPtr &client, const Glib::ustring &dir) { client->set(dir + "/type", Glib::ustring("load_average")); } // // class MemoryUsageMonitor // MemoryUsageMonitor::MemoryUsageMonitor() : max_value(0) { } double MemoryUsageMonitor::value() { glibtop_mem mem; glibtop_get_mem (&mem); max_value = mem.total; if (mem.total > 0) return mem.used - (mem.buffer + mem.cached); else return 0; } double MemoryUsageMonitor::max() { return max_value; } Glib::ustring MemoryUsageMonitor::format_value(double val) { val /= 1000000; return String::ucompose(_("%1 Mb"), decimal_digits(val, 3), val); } Glib::ustring MemoryUsageMonitor::get_name() { return _("Memory"); } Glib::ustring MemoryUsageMonitor::get_short_name() { // short for memory return _("Mem."); } void MemoryUsageMonitor::save(const Glib::RefPtr &client, const Glib::ustring &dir) { client->set(dir + "/type", Glib::ustring("memory_usage")); } // // class DiskUsageMonitor // DiskUsageMonitor::DiskUsageMonitor(const std::string &dir) : max_value(0), mount_dir(dir) { } double DiskUsageMonitor::value() { glibtop_fsusage fsusage; glibtop_get_fsusage(&fsusage, mount_dir.c_str()); max_value = fsusage.blocks; if (fsusage.blocks > 0) return fsusage.bavail; else return 0; } double DiskUsageMonitor::max() { return max_value; } Glib::ustring DiskUsageMonitor::format_value(double val) { // 1 block = disk_block_size bytes val *= disk_block_size; if (val >= 1000 * 1000 * 1000) { val /= 1000 * 1000 * 1000; return String::ucompose(_("%1 Gb"), decimal_digits(val, 3), val); } else if (val >= 1000 * 1000) { val /= 1000 * 1000; return String::ucompose(_("%1 Mb"), decimal_digits(val, 3), val); } else if (val >= 1000) { val /= 1000; return String::ucompose(_("%1 kb"), decimal_digits(val, 3), val); } else return String::ucompose(_("%1 b"), decimal_digits(val, 3), val); } Glib::ustring DiskUsageMonitor::get_name() { return String::ucompose(_("Disk (%1)"), mount_dir); } Glib::ustring DiskUsageMonitor::get_short_name() { return String::ucompose("%1", mount_dir); } void DiskUsageMonitor::save(const Glib::RefPtr &client, const Glib::ustring &dir) { client->set(dir + "/type", Glib::ustring("disk_usage")); client->set(dir + "/mount_dir", mount_dir); } // // class NetworkLoadMonitor // NetworkLoadMonitor::NetworkLoadMonitor(const Glib::ustring &inter, int inter_no, Direction dir) : max_value(1), byte_count(0), time_stamp_secs(0), time_stamp_usecs(0), interface(inter), interface_no(inter_no), direction(dir) { } double NetworkLoadMonitor::value() { glibtop_netload netload; glibtop_get_netload(&netload, String::ucompose("%1%2", interface, interface_no).c_str()); guint64 val, bytes; if (direction == all_data) bytes = netload.bytes_total; else if (direction == incoming_data) bytes = netload.bytes_in; else bytes = netload.bytes_in; if (byte_count == 0) val = 0; // avoid calculating an enormous throughput initially else val = bytes - byte_count; byte_count = bytes; if (val > max_value) max_value = val; // calculate difference in msecs struct timeval tv; if (gettimeofday(&tv, 0) == 0) { time_difference = (tv.tv_sec - time_stamp_secs) * 1000 + (tv.tv_usec - time_stamp_usecs) / 1000; time_stamp_secs = tv.tv_sec; time_stamp_usecs = tv.tv_usec; } return val; } double NetworkLoadMonitor::max() { return max_value; } Glib::ustring NetworkLoadMonitor::format_value(double val) { // 1000 ms = 1 s val = val / time_difference * 1000; if (val >= 1000 * 1000 * 1000) { val /= 1000 * 1000 * 1000; return String::ucompose(_("%1 Gb/s"), decimal_digits(val, 3), val); } else if (val >= 1000 * 1000) { val /= 1000 * 1000; return String::ucompose(_("%1 Mb/s"), decimal_digits(val, 3), val); } else if (val >= 1000) { val /= 1000; return String::ucompose(_("%1 kb/s"), decimal_digits(val, 3), val); } else return String::ucompose(_("%1 b/s"), decimal_digits(val, 3), val); } Glib::ustring NetworkLoadMonitor::get_name() { Glib::ustring str; if (interface == "eth" && interface_no == 0) str = _("Ethernet (first)"); else if (interface == "eth" && interface_no == 1) str = _("Ethernet (second)"); else if (interface == "eth" && interface_no == 2) str = _("Ethernet (third)"); else if (interface == "ppp" && interface_no == 0) str = _("Modem"); else if (interface == "slip" && interface_no == 0) str = _("Serial link"); else // unknown, someone must have been fiddling with GConf str = String::ucompose("%1%2", interface, interface_no); if (direction == incoming_data) // %1 is the network connection, e.g. "Ethernet (first))", in signifies // that this is incoming data str = String::ucompose(_("%1, in"), str); else if (direction == outgoing_data) // %1 is the network connection, e.g. "Ethernet (first))", out signifies // that this is outgoing data str = String::ucompose(_("%1, out"), str); return str; } Glib::ustring NetworkLoadMonitor::get_short_name() { if (interface == "eth") // short for an ethernet card return String::ucompose(_("Eth. %1"), interface_no + 1); else if (interface == "ppp" && interface_no == 0) // short for modem return _("Mod."); else if (interface == "slip" && interface_no == 0) // short for serial link return _("Ser."); else // unknown, someone must have been fiddling with GConf return String::ucompose("%1%2", interface, interface_no); } void NetworkLoadMonitor::save(const Glib::RefPtr &client, const Glib::ustring &dir) { client->set(dir + "/type", Glib::ustring("network_load")); client->set(dir + "/interface", interface); client->set(dir + "/interface_no", interface_no); client->set(dir + "/interface_direction", int(direction)); } hardware-monitor-0.2/src/monitor-impls.hpp0000644000175000017500000001023407616452643014444 /* The various system statistics - adaptors of the libgtop interface. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #ifndef MONITOR_IMPLS_HPP #define MONITOR_IMPLS_HPP #include #include #include "monitor.hpp" class CpuUsageMonitor: public Monitor { public: CpuUsageMonitor(); // monitor all cpus CpuUsageMonitor(int cpu_no); // monitor only cpu no. virtual double value(); virtual double max(); virtual Glib::ustring format_value(double val); virtual Glib::ustring get_name(); virtual Glib::ustring get_short_name(); virtual void save(const Glib::RefPtr &client, const Glib::ustring &dir); private: static int const all_cpus = -1; int cpu_no; // we need to save these values to compute the difference next time the // monitor is updated guint64 user_time, nice_time, sys_time, idle_time; }; class SwapUsageMonitor: public Monitor { public: SwapUsageMonitor(); virtual double value(); virtual double max(); virtual Glib::ustring format_value(double val); virtual Glib::ustring get_name(); virtual Glib::ustring get_short_name(); virtual void save(const Glib::RefPtr &client, const Glib::ustring &dir); private: guint64 max_value; // maximum available swap }; class LoadAverageMonitor: public Monitor { public: LoadAverageMonitor(); virtual double value(); virtual double max(); virtual Glib::ustring format_value(double val); virtual Glib::ustring get_name(); virtual Glib::ustring get_short_name(); virtual void save(const Glib::RefPtr &client, const Glib::ustring &dir); private: double max_value; // currently monitored max number of processes }; class MemoryUsageMonitor: public Monitor { public: MemoryUsageMonitor(); virtual double value(); virtual double max(); virtual Glib::ustring format_value(double val); virtual Glib::ustring get_name(); virtual Glib::ustring get_short_name(); virtual void save(const Glib::RefPtr &client, const Glib::ustring &dir); private: guint64 max_value; // maximum available physical RAM }; class DiskUsageMonitor: public Monitor { public: DiskUsageMonitor(const std::string &mount_dir); virtual double value(); virtual double max(); virtual Glib::ustring format_value(double val); virtual Glib::ustring get_name(); virtual Glib::ustring get_short_name(); virtual void save(const Glib::RefPtr &client, const Glib::ustring &dir); private: guint64 max_value; // maximum available disk blocks std::string mount_dir; }; class NetworkLoadMonitor: public Monitor { public: enum Direction { all_data, incoming_data, outgoing_data }; NetworkLoadMonitor(const Glib::ustring &interface, int interface_no, Direction direction); virtual double value(); virtual double max(); virtual Glib::ustring format_value(double val); virtual Glib::ustring get_name(); virtual Glib::ustring get_short_name(); virtual void save(const Glib::RefPtr &client, const Glib::ustring &dir); private: guint64 max_value; // maximum measured capacity of line long int time_difference; // no. of msecs. between the last two calls guint64 byte_count; // number of bytes at last call long int time_stamp_secs, time_stamp_usecs; // time stamp for last call Glib::ustring interface; // e.g. "eth" int interface_no; // e.g. 0 Direction direction; }; #endif hardware-monitor-0.2/src/preferences-window.cpp0000644000175000017500000004534507616726020015440 /* Implementation of the PreferencesWindow class. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #include #include #include #include "preferences-window.hpp" #include "choose-monitor-window.hpp" #include "gui-helpers.hpp" #include "applet.hpp" #include "monitor.hpp" #include "i18n.hpp" PreferencesWindow::PreferencesWindow(Applet &applet_) : applet(applet_) { ui = get_glade_xml("preferences_window"); ui->get_widget("preferences_window", window); window->set_type_hint(Gdk::WINDOW_TYPE_HINT_DIALOG); window->set_icon(applet.get_icon()); // connect the Viewer tab radiobuttons ui->get_widget("curve_radiobutton", curve_radiobutton); curve_radiobutton->signal_toggled() .connect(SigC::slot(*this, &PreferencesWindow:: on_curve_radiobutton_toggled)); ui->get_widget("bar_radiobutton", bar_radiobutton); bar_radiobutton->signal_toggled() .connect(SigC::slot(*this, &PreferencesWindow:: on_bar_radiobutton_toggled)); ui->get_widget("text_radiobutton", text_radiobutton); text_radiobutton->signal_toggled() .connect(SigC::slot(*this, &PreferencesWindow:: on_text_radiobutton_toggled)); ui->get_widget("flame_radiobutton", flame_radiobutton); flame_radiobutton->signal_toggled() .connect(SigC::slot(*this, &PreferencesWindow:: on_flame_radiobutton_toggled)); // connect the Option tab widgets ui->get_widget("update_interval_spinbutton", update_interval_spinbutton); update_interval_spinbutton->signal_value_changed() .connect(SigC::slot(*this, &PreferencesWindow:: on_update_interval_spinbutton_changed)); ui->get_widget("curve_options", curve_options); ui->get_widget("size_spinbutton", size_spinbutton); size_spinbutton->signal_value_changed() .connect(SigC::slot(*this, &PreferencesWindow::on_size_spinbutton_changed)); ui->get_widget("samples_spinbutton", samples_spinbutton); samples_spinbutton->signal_value_changed() .connect(SigC::slot(*this, &PreferencesWindow:: on_samples_spinbutton_changed)); ui->get_widget("bar_options", bar_options); ui->get_widget("bar_size_spinbutton", bar_size_spinbutton); bar_size_spinbutton->signal_value_changed() .connect(SigC::slot(*this, &PreferencesWindow:: on_bar_size_spinbutton_changed)); ui->get_widget("text_options", text_options); ui->get_widget("font_checkbutton", font_checkbutton); font_checkbutton->signal_toggled() .connect(SigC::slot(*this, &PreferencesWindow:: on_font_checkbutton_toggled)); ui->get_widget("fontpicker", fontpicker); fontpicker->signal_font_set() .connect(SigC::slot(*this, &PreferencesWindow::on_fontpicker_set)); ui->get_widget("flame_options", flame_options); ui->get_widget("flame_size_spinbutton", flame_size_spinbutton); flame_size_spinbutton->signal_value_changed() .connect(SigC::slot(*this, &PreferencesWindow:: on_flame_size_spinbutton_changed)); // connect the Monitor tab widgets Gtk::Button *add_button; ui->get_widget("add_button", add_button); add_button->signal_clicked() .connect(SigC::slot(*this, &PreferencesWindow::on_add_button_clicked)); ui->get_widget("remove_button", remove_button); remove_button->signal_clicked() .connect(SigC::slot(*this, &PreferencesWindow::on_remove_button_clicked)); ui->get_widget("change_button", change_button); change_button->signal_clicked() .connect(SigC::slot(*this, &PreferencesWindow::on_change_button_clicked)); ui->get_widget("monitor_treeview", monitor_treeview); monitor_treeview->get_selection()->signal_changed() .connect(SigC::slot(*this, &PreferencesWindow::on_selection_changed)); ui->get_widget("monitor_options", monitor_options); static MonitorColumns mc; monitor_store = Gtk::ListStore::create(mc); monitor_treeview->set_model(monitor_store); monitor_treeview->append_column(_("Device"), mc.name); ui->get_widget("monitor_curve_options", monitor_curve_options); ui->get_widget("line_width_spinbutton", line_width_spinbutton); line_width_spinbutton->signal_value_changed() .connect(SigC::slot(*this, &PreferencesWindow:: on_line_width_spinbutton_changed)); ui->get_widget("line_colorpicker", line_colorpicker); line_colorpicker->signal_color_set() .connect(SigC::slot(*this, &PreferencesWindow::on_monitor_colorpicker_set)); ui->get_widget("monitor_bar_options", monitor_bar_options); ui->get_widget("bar_colorpicker", bar_colorpicker); bar_colorpicker->signal_color_set() .connect(SigC::slot(*this, &PreferencesWindow::on_monitor_colorpicker_set)); ui->get_widget("monitor_flame_options", monitor_flame_options); ui->get_widget("flame_colorpicker", flame_colorpicker); flame_colorpicker->signal_color_set() .connect(SigC::slot(*this, &PreferencesWindow::on_monitor_colorpicker_set)); // connect GConf Glib::RefPtr &client = applet.get_gconf_client(); Glib::ustring dir = applet.get_gconf_dir(); client->notify_add(dir + "/viewer_type", SigC::slot(*this, &PreferencesWindow:: viewer_type_listener)); client->notify_add(dir + "/update_interval", SigC::slot(*this, &PreferencesWindow:: update_interval_listener)); client->notify_add(dir + "/viewer/size", SigC::slot(*this, &PreferencesWindow::size_listener)); client->notify_add(dir + "/viewer/samples", SigC::slot(*this, &PreferencesWindow::samples_listener)); client->notify_add(dir + "/viewer/font", SigC::slot(*this, &PreferencesWindow::font_listener)); client->notify_add(dir + "/monitors", SigC::slot(*this, &PreferencesWindow::monitors_listener)); // fill in values viewer_type_listener(0, client->get_entry(dir + "/viewer_type")); update_interval_listener(0, client->get_entry(dir + "/update_interval")); size_listener(0, client->get_entry(dir + "/viewer/size")); samples_listener(0, client->get_entry(dir + "/viewer/samples")); font_listener(0, client->get_entry(dir + "/viewer/font")); Glib::SListHandle list = applet.get_gconf_client()->all_dirs(applet.get_gconf_dir() + "/monitors"); for (Glib::SListHandle::const_iterator i = list.begin(), end = list.end(); i != end; ++i) monitors_listener(0, client->get_entry(*i + "/type")); // this allows the user to discover the relationship between the grayed-out // buttons and the treeview monitor_treeview->get_selection()->unselect_all(); // connect close operations Gtk::Button *close_button; ui->get_widget("close_button", close_button); close_button->signal_clicked() .connect(SigC::slot(*this, &PreferencesWindow::on_close_button_clicked)); window->signal_delete_event() .connect(SigC::slot(*this, &PreferencesWindow::on_closed)); } PreferencesWindow::~PreferencesWindow() { window->hide(); stop_monitor_listeners(); } void PreferencesWindow::show() { window->show(); window->raise(); } // GConf callbacks void PreferencesWindow::viewer_type_listener(unsigned int, Gnome::Conf::Entry entry) { if (entry.get_value().get_type() != Gnome::Conf::VALUE_STRING) return; Glib::ustring s = entry.get_value().get_string(); if (s == "curve") { if (!curve_radiobutton->get_active()) curve_radiobutton->property_active() = true; curve_options->property_visible() = true; monitor_curve_options->property_visible() = true; } else if (s == "bar") { if (!bar_radiobutton->get_active()) bar_radiobutton->property_active() = true; bar_options->property_visible() = true; monitor_bar_options->property_visible() = true; } else if (s == "text") { if (!text_radiobutton->get_active()) text_radiobutton->property_active() = true; text_options->property_visible() = true; } else if (s == "flame") { if (!flame_radiobutton->get_active()) flame_radiobutton->property_active() = true; flame_options->property_visible() = true; monitor_flame_options->property_visible() = true; } } void PreferencesWindow::update_interval_listener(unsigned int, Gnome::Conf::Entry entry) { if (entry.get_value().get_type() != Gnome::Conf::VALUE_FLOAT) return; double d = entry.get_value().get_float(); if (update_interval_spinbutton->get_value() != d) update_interval_spinbutton->set_value(d); } void PreferencesWindow::size_listener(unsigned int, Gnome::Conf::Entry entry) { if (entry.get_value().get_type() != Gnome::Conf::VALUE_INT) return; int i = entry.get_value().get_int(); if (size_spinbutton->get_value() != i) size_spinbutton->set_value(i); if (bar_size_spinbutton->get_value() != i) bar_size_spinbutton->set_value(i); if (flame_size_spinbutton->get_value() != i) flame_size_spinbutton->set_value(i); } void PreferencesWindow::samples_listener(unsigned int, Gnome::Conf::Entry entry) { if (entry.get_value().get_type() != Gnome::Conf::VALUE_INT) return; int i = entry.get_value().get_int(); if (samples_spinbutton->get_value() != i) samples_spinbutton->set_value(i); } void PreferencesWindow::font_listener(unsigned int, Gnome::Conf::Entry entry) { if (entry.get_value().get_type() != Gnome::Conf::VALUE_STRING) return; Glib::ustring font = entry.get_value().get_string(); if (font.empty()) font_checkbutton->set_active(false); else { font_checkbutton->set_active(true); if (fontpicker->get_font_name() != font) fontpicker->set_font_name(font); } } void PreferencesWindow::monitors_listener(unsigned int, Gnome::Conf::Entry entry) { static MonitorColumns mc; Glib::ustring key = entry.get_key(); if (key.substr(key.size() - 5) != "/type") return; Glib::ustring mdir = key.substr(0, key.size() - 5); store_iter pos = monitor_store->children().begin(), end = monitor_store->children().end(); while (pos != end && (*pos)[mc.dir] != mdir) ++pos; bool exists = pos != monitor_store->children().end(); // value was added if (entry.get_value().get_type() == Gnome::Conf::VALUE_STRING) { if (!exists) { // add value store_iter i = monitor_store->append(); (*i)[mc.name] = applet.look_up_monitor(mdir)->get_name(); (*i)[mc.dir] = mdir; monitor_treeview->get_selection()->select(i); } } else // value was removed if (exists) monitor_store->erase(pos); } void PreferencesWindow::line_width_listener(unsigned int, Gnome::Conf::Entry entry) { if (entry.get_value().get_type() != Gnome::Conf::VALUE_FLOAT) return; double d = entry.get_value().get_float(); if (line_width_spinbutton->get_value() != d) line_width_spinbutton->set_value(d); } void PreferencesWindow::monitor_color_listener(unsigned int, Gnome::Conf::Entry entry) { if (entry.get_value().get_type() != Gnome::Conf::VALUE_INT) return; unsigned int i = entry.get_value().get_int(); unsigned char r = i >> 24, g = i >> 16, b = i >> 8, a = i; unsigned char pr, pg, pb, pa; line_colorpicker->get(pr, pg, pb, pa); if (pr != r || pg != g || pb != b || pa != a) line_colorpicker->set(r, g, b, a); bar_colorpicker->get(pr, pg, pb, pa); if (pr != r || pg != g || pb != b || pa != a) bar_colorpicker->set(r, g, b, a); flame_colorpicker->get(pr, pg, pb, pa); if (pr != r || pg != g || pb != b || pa != a) flame_colorpicker->set(r, g, b, a); } // UI callbacks void PreferencesWindow::on_curve_radiobutton_toggled() { Glib::RefPtr &client = applet.get_gconf_client(); Glib::ustring dir = applet.get_gconf_dir(); bool active = curve_radiobutton->get_active(); if (active) client->set(dir + "/viewer_type", Glib::ustring("curve")); curve_options->property_visible() = active; monitor_curve_options->property_visible() = active; } void PreferencesWindow::on_bar_radiobutton_toggled() { Glib::RefPtr &client = applet.get_gconf_client(); Glib::ustring dir = applet.get_gconf_dir(); bool active = bar_radiobutton->get_active(); if (active) client->set(dir + "/viewer_type", Glib::ustring("bar")); bar_options->property_visible() = active; monitor_bar_options->property_visible() = active; } void PreferencesWindow::on_text_radiobutton_toggled() { Glib::RefPtr &client = applet.get_gconf_client(); Glib::ustring dir = applet.get_gconf_dir(); bool active = text_radiobutton->get_active(); if (active) client->set(dir + "/viewer_type", Glib::ustring("text")); text_options->property_visible() = active; } void PreferencesWindow::on_flame_radiobutton_toggled() { Glib::RefPtr &client = applet.get_gconf_client(); Glib::ustring dir = applet.get_gconf_dir(); bool active = flame_radiobutton->get_active(); if (active) client->set(dir + "/viewer_type", Glib::ustring("flame")); flame_options->property_visible() = active; monitor_flame_options->property_visible() = active; } void PreferencesWindow::on_update_interval_spinbutton_changed() { Glib::RefPtr &client = applet.get_gconf_client(); Glib::ustring dir = applet.get_gconf_dir(); double d = update_interval_spinbutton->get_value(); client->set(dir + "/update_interval", d); } void PreferencesWindow::on_size_spinbutton_changed() { Glib::RefPtr &client = applet.get_gconf_client(); Glib::ustring dir = applet.get_gconf_dir(); int i = int(size_spinbutton->get_value()); client->set(dir + "/viewer/size", i); } void PreferencesWindow::on_samples_spinbutton_changed() { Glib::RefPtr &client = applet.get_gconf_client(); Glib::ustring dir = applet.get_gconf_dir(); int i = int(samples_spinbutton->get_value()); client->set(dir + "/viewer/samples", i); } void PreferencesWindow::on_bar_size_spinbutton_changed() { Glib::RefPtr &client = applet.get_gconf_client(); Glib::ustring dir = applet.get_gconf_dir(); int i = int(bar_size_spinbutton->get_value()); client->set(dir + "/viewer/size", i); } void PreferencesWindow::on_flame_size_spinbutton_changed() { Glib::RefPtr &client = applet.get_gconf_client(); Glib::ustring dir = applet.get_gconf_dir(); int i = int(flame_size_spinbutton->get_value()); client->set(dir + "/viewer/size", i); } void PreferencesWindow::on_font_checkbutton_toggled() { Glib::RefPtr &client = applet.get_gconf_client(); Glib::ustring dir = applet.get_gconf_dir(); bool active = font_checkbutton->get_active(); fontpicker->set_sensitive(active); if (active) client->set(dir + "/viewer/font", fontpicker->get_font_name()); else client->set(dir + "/viewer/font", Glib::ustring("")); } void PreferencesWindow::on_fontpicker_set(const Glib::ustring &font) { Glib::RefPtr &client = applet.get_gconf_client(); Glib::ustring dir = applet.get_gconf_dir(); client->set(dir + "/viewer/font", font); } void PreferencesWindow::on_add_button_clicked() { ChooseMonitorWindow window; window.set_icon(applet.get_icon()); Monitor *monitor = window.run(applet.get_gconf_client(), Glib::ustring()); if (monitor) applet.add_monitor(monitor); } void PreferencesWindow::on_remove_button_clicked() { static MonitorColumns mc; store_iter i = monitor_treeview->get_selection()->get_selected(); if (i) applet.remove_monitor((*i)[mc.dir]); } void PreferencesWindow::on_change_button_clicked() { static MonitorColumns mc; store_iter i = monitor_treeview->get_selection()->get_selected(); if (i) { Glib::ustring mon_dir = (*i)[mc.dir]; ChooseMonitorWindow window; window.set_icon(applet.get_icon()); Monitor *monitor = window.run(applet.get_gconf_client(), mon_dir); if (monitor) { applet.replace_monitor(mon_dir, monitor); (*i)[mc.name] = monitor->get_name(); } } } void PreferencesWindow::stop_monitor_listeners() { Glib::RefPtr &client = applet.get_gconf_client(); for (std::vector::iterator i = monitor_listeners.begin(), end = monitor_listeners.end(); i != end; ++i) client->notify_remove(*i); monitor_listeners.clear(); } void PreferencesWindow::on_selection_changed() { Glib::RefPtr &client = applet.get_gconf_client(); static MonitorColumns mc; store_iter i = monitor_treeview->get_selection()->get_selected(); bool sel = i; stop_monitor_listeners(); if (sel) { Glib::ustring key; unsigned int con; key = (*i)[mc.dir] + "/line_width"; con = client->notify_add(key, SigC::slot(*this, &PreferencesWindow:: line_width_listener)); line_width_listener(0, client->get_entry(key)); monitor_listeners.push_back(con); key = (*i)[mc.dir] + "/color"; con = client->notify_add(key, SigC::slot(*this, &PreferencesWindow:: monitor_color_listener)); monitor_color_listener(0, client->get_entry(key)); monitor_listeners.push_back(con); } remove_button->set_sensitive(sel); change_button->set_sensitive(sel); monitor_options->set_sensitive(sel); } void PreferencesWindow::on_line_width_spinbutton_changed() { static MonitorColumns mc; Glib::RefPtr &client = applet.get_gconf_client(); store_iter i = monitor_treeview->get_selection()->get_selected(); if (i) { Glib::ustring mon_dir = (*i)[mc.dir]; double d = line_width_spinbutton->get_value(); client->set(mon_dir + "/line_width", d); } } unsigned int to_int(unsigned int r, unsigned int g, unsigned int b, unsigned int a) { return ((r & 255) << 24) | ((g & 255) << 16) | ((b & 255) << 8) | (a & 255); } void PreferencesWindow::on_monitor_colorpicker_set(unsigned int r, unsigned int g, unsigned int b, unsigned int a) { static MonitorColumns mc; Glib::RefPtr &client = applet.get_gconf_client(); store_iter i = monitor_treeview->get_selection()->get_selected(); if (i) { Glib::ustring mon_dir = (*i)[mc.dir]; client->set(mon_dir + "/color", int(to_int(r / 256, g / 256, b / 256, a / 256))); } } void PreferencesWindow::on_close_button_clicked() { window->hide(); } bool PreferencesWindow::on_closed(GdkEventAny *) { window->hide(); return false; } hardware-monitor-0.2/src/preferences-window.hpp0000644000175000017500000001031507616725525015443 /* The preferences window. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #ifndef PREFERENCES_WINDOW_HPP #define PREFERENCES_WINDOW_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include class Applet; class Monitor; class PreferencesWindow: public SigC::Object { public: PreferencesWindow(Applet &applet); ~PreferencesWindow(); void show(); private: Glib::RefPtr ui; Gtk::Window *window; Gtk::RadioButton *curve_radiobutton; Gtk::RadioButton *bar_radiobutton; Gtk::RadioButton *text_radiobutton; Gtk::RadioButton *flame_radiobutton; Gtk::SpinButton *update_interval_spinbutton; Gtk::Widget *curve_options; Gtk::SpinButton *size_spinbutton; // FIXME: rename this Gtk::SpinButton *samples_spinbutton; Gtk::Widget *bar_options; Gtk::SpinButton *bar_size_spinbutton; Gtk::Widget *flame_options; Gtk::SpinButton *flame_size_spinbutton; Gtk::Widget *text_options; Gtk::CheckButton *font_checkbutton; Gnome::UI::FontPicker *fontpicker; Gtk::Button *remove_button; Gtk::Button *change_button; Gtk::TreeView *monitor_treeview; Gtk::Widget *monitor_options; Gtk::Widget *monitor_curve_options; Gtk::SpinButton *line_width_spinbutton; Gnome::UI::ColorPicker *line_colorpicker; Gtk::Widget *monitor_bar_options; Gnome::UI::ColorPicker *bar_colorpicker; Gtk::Widget *monitor_flame_options; Gnome::UI::ColorPicker *flame_colorpicker; class MonitorColumns: public Gtk::TreeModel::ColumnRecord { public: Gtk::TreeModelColumn name; Gtk::TreeModelColumn dir; MonitorColumns() { add(name); add(dir); } }; Glib::RefPtr monitor_store; typedef Gtk::ListStore::iterator store_iter; // GConf void viewer_type_listener(unsigned int, Gnome::Conf::Entry entry); void update_interval_listener(unsigned int, Gnome::Conf::Entry entry); void size_listener(unsigned int, Gnome::Conf::Entry entry); void samples_listener(unsigned int, Gnome::Conf::Entry entry); void font_listener(unsigned int, Gnome::Conf::Entry entry); void monitors_listener(unsigned int, Gnome::Conf::Entry entry); void line_width_listener(unsigned int, Gnome::Conf::Entry entry); void monitor_color_listener(unsigned int, Gnome::Conf::Entry entry); void stop_monitor_listeners(); std::vector monitor_listeners; // GUI void on_curve_radiobutton_toggled(); void on_bar_radiobutton_toggled(); void on_text_radiobutton_toggled(); void on_flame_radiobutton_toggled(); void on_update_interval_spinbutton_changed(); void on_size_spinbutton_changed(); void on_bar_size_spinbutton_changed(); void on_flame_size_spinbutton_changed(); void on_samples_spinbutton_changed(); void on_font_checkbutton_toggled(); void on_fontpicker_set(const Glib::ustring &font); void on_add_button_clicked(); void on_remove_button_clicked(); void on_change_button_clicked(); void on_selection_changed(); void on_line_width_spinbutton_changed(); void on_monitor_colorpicker_set(unsigned int r, unsigned int g, unsigned int b, unsigned int a); void on_close_button_clicked(); bool on_closed(GdkEventAny *); Applet &applet; }; #endif hardware-monitor-0.2/src/pixbuf-drawing.hpp0000644000175000017500000001037007616721531014555 /* Pixbuf-drawing helpers. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #ifndef PIXBUF_DRAWING_HPP #define PIXBUF_DRAWING_HPP #include #include #include class Pixel { public: Pixel() {} explicit Pixel(unsigned char *pixel) : data(pixel) {} // to facilitate -> on PixelIterators Pixel *operator->() { return this; } unsigned char &red() { return *data; } unsigned char const &red() const { return *data; } unsigned char &green() { return *(data + 1); } unsigned char const &green() const { return *(data + 1); } unsigned char &blue() { return *(data + 2); } unsigned char const &blue() const { return *(data + 2); } unsigned char &alpha() { return *(data + 3); } unsigned char const &alpha() const { return *(data + 3); } private: unsigned char * data; }; class PixelPosition { public: PixelPosition() {} PixelPosition(unsigned char *pixel, int rs, int chnls) : data(pixel), rowstride(rs), channels(chnls) {} Pixel pixel() { return Pixel(data); } PixelPosition &left(int n = 1) { data -= n * channels; return *this; } PixelPosition &right(int n = 1) { data += n * channels; return *this; } PixelPosition &up(int n = 1) { data -= n * rowstride; return *this; } PixelPosition &down(int n = 1) { data += n * rowstride; return *this; } private: unsigned char *data; int const rowstride; int const channels; }; inline PixelPosition get_position(const Glib::RefPtr &pixbuf, int x, int y) { unsigned char *data = pixbuf->get_pixels(); int rowstride = pixbuf->get_rowstride(); int channels = pixbuf->get_n_channels(); data += rowstride * y + channels * x; return PixelPosition(data, rowstride, channels); } class PixelIterator { public: typedef std::random_access_iterator_tag iterator_category; typedef Pixel value_type; typedef Pixel pointer; typedef Pixel reference; typedef std::ptrdiff_t difference_type; PixelIterator() {} PixelIterator(const Glib::RefPtr &p, unsigned int x, unsigned int y) : width(p->get_width()), channels(p->get_n_channels()), padding(p->get_rowstride() - width * channels) { data = p->get_pixels() + p->get_rowstride() * y + channels * x; } bool operator==(const PixelIterator& other) const { return data == other.data; } bool operator!=(const PixelIterator& other) const { return !(*this == other); } reference operator*() const { return Pixel(data); } pointer operator->() const { return operator*(); } PixelIterator &operator++() { if (xpos == width) { data += padding; xpos = 0; } data += channels; ++xpos; return *this; } PixelIterator operator++(int) { PixelIterator tmp = *this; ++*this; return tmp; } PixelIterator &operator--() { if (xpos == 0) { data -= padding; xpos = width; } data -= channels; --xpos; return *this; } PixelIterator operator--(int) { PixelIterator tmp = *this; --*this; return tmp; } private: unsigned char *data; int xpos; int const width; int const channels; int const padding; }; inline PixelIterator begin(const Glib::RefPtr &pixbuf) { return PixelIterator(pixbuf, 0, 0); } inline PixelIterator end(const Glib::RefPtr &pixbuf) { return PixelIterator(pixbuf, 0, pixbuf->get_height()); } #endif hardware-monitor-0.2/src/text-view.cpp0000644000175000017500000000646507616551212013565 /* Implementation of textual monitoring view. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #include #include #include #include #include #include "text-view.hpp" #include "monitor.hpp" #include "applet.hpp" #include "ucompose.hpp" #include "i18n.hpp" class Text { public: Text(Monitor *monitor); void add_to_table(Gtk::Table &table, int col, int row); void update(const Glib::ustring &font); Monitor *get_monitor(); private: Monitor *monitor; std::auto_ptr label; }; Text::Text(Monitor *mon) : monitor(mon) { } void Text::add_to_table(Gtk::Table &table, int col, int row) { label.reset(new Gtk::Label); table.attach(*label, col, col + 1, row, row + 1, Gtk::SHRINK, Gtk::SHRINK); } void Text::update(const Glib::ustring &font) { assert(label.get()); Pango::AttrList attrlist; if (!font.empty()) { Pango::AttrFontDesc attr = Pango::Attribute::create_attr_font_desc(Pango::FontDescription(font)); attrlist.insert(attr); } label->property_attributes() = attrlist; label->set_text(String::ucompose(_("%1: %2"), monitor->get_short_name(), monitor->format_value(monitor->value()))); label->show(); } Monitor *Text::get_monitor() { return monitor; } void TextView::do_display(Applet &app) { applet = &app; } void TextView::do_update() { // first update font Glib::RefPtr &client = applet->get_gconf_client(); Glib::ustring dir = applet->get_gconf_dir(); // FIXME: use schemas? if (client->get(dir + "/viewer/font").get_type() == Gnome::Conf::VALUE_STRING) font = client->get_string(dir + "/viewer/font"); else { font = ""; client->set(dir + "/viewer/font", font); } // then update for (text_iterator i = texts.begin(), end = texts.end(); i != end; ++i) (*i)->update(font); } void TextView::do_attach(Monitor *monitor, const Glib::ustring &) { texts.push_back(new Text(monitor)); table.reset(new Gtk::Table); table->set_spacings(2); // FIXME: consider space restraints int row = 1; for (text_iterator i = texts.begin(), end = texts.end(); i != end; ++i) { (*i)->add_to_table(*table, 1, row++); } applet->get_container().add(*table); table->show(); } void TextView::do_detach(Monitor *monitor) { for (text_iterator i = texts.begin(), end = texts.end(); i != end; ++i) if ((*i)->get_monitor() == monitor) { delete *i; texts.erase(i); return; } g_assert_not_reached(); } int TextView::get_height() const { // FIXME: determine from panel size return 44; } hardware-monitor-0.2/src/text-view.hpp0000644000175000017500000000260607616271614013570 /* A textual monitoring view. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #ifndef TEXT_VIEW_HPP #define TEXT_VIEW_HPP #include #include #include "view.hpp" class Text; class TextView: public View { private: virtual void do_display(Applet &applet); virtual void do_update(); virtual void do_attach(Monitor *monitor, const Glib::ustring &mon_dir); virtual void do_detach(Monitor *monitor); int get_height() const; std::auto_ptr table; Glib::ustring font; typedef std::list text_sequence; typedef text_sequence::iterator text_iterator; text_sequence texts; Applet *applet; // store pointer for reference }; #endif hardware-monitor-0.2/src/view.cpp0000644000175000017500000000216707615767163012613 /* Implementation of monitoring view base class. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #include "view.hpp" View::View() { } View::View::~View() { } void View::display(Applet &applet) { do_display(applet); } void View::update() { do_update(); } void View::attach(Monitor *monitor, const Glib::ustring &mon_dir) { do_attach(monitor, mon_dir); } void View::detach(Monitor *monitor) { do_detach(monitor); } hardware-monitor-0.2/src/view.hpp0000644000175000017500000000275007615767163012616 /* Monitoring view base class. * * Copyright (c) 2003 Ole Laursen. * * 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. */ #ifndef VIEW_HPP #define VIEW_HPP #include #include #include #include #include "helpers.hpp" // interfaces class Applet; class Monitor; // something that can show something in an applet widget class View: noncopyable { public: View(); virtual ~View(); void display(Applet &applet); void update(); void attach(Monitor *monitor, const Glib::ustring &mon_dir); void detach(Monitor *monitor); private: // for derived classes to override virtual void do_display(Applet &applet) = 0; virtual void do_update() = 0; virtual void do_attach(Monitor *monitor, const Glib::ustring &mon_dir) = 0; virtual void do_detach(Monitor *monitor) = 0; }; #endif hardware-monitor-0.2/src/ucompose.hpp0000644000175000017500000003031007615767163013467 /* Defines String::ucompose(fmt, arg...) for easy, i18n-friendly * composition of strings with Gtkmm >= 1.3.* (see www.gtkmm.org). * Uses Glib::ustring instead of std::string which doesn't work with * Gtkmm due to character encoding troubles with stringstreams. * * Version 1.0. * * Copyright (c) 2002, 2003 Ole Laursen . * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License * as published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA. */ // // Basic usage is like // // String::ucompose("This is a %1x%2 matrix.", rows, cols); // // See http://www.cs.auc.dk/~olau/compose/ or the included // README.compose for more details. // #ifndef STRING_UCOMPOSE_H #define STRING_UCOMPOSE_H #include #include #include #include #include #include // for multimap namespace StringPrivate { // the actual composition class - using String::ucompose is cleaner, so we // hide it here class Composition { public: // initialize and prepare format string on the form "text %1 text %2 etc." explicit Composition(std::string fmt); // supply an replacement argument starting from %1 template Composition &arg(const T &obj); // compose and return string std::string str() const; private: std::ostringstream os; int arg_no; // we store the output as a list - when the output string is requested, the // list is concatenated to a string; this way we can keep iterators into // the list instead of into a string where they're possibly invalidated on // inserting a specification string typedef std::list output_list; output_list output; // the initial parse of the format string fills in the specification map // with positions for each of the various %?s typedef std::multimap specification_map; specification_map specs; }; // helper for converting spec string numbers inline int char_to_int(char c) { switch (c) { case '0': return 0; case '1': return 1; case '2': return 2; case '3': return 3; case '4': return 4; case '5': return 5; case '6': return 6; case '7': return 7; case '8': return 8; case '9': return 9; default: return -1000; } } inline bool is_number(int n) { switch (n) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': return true; default: return false; } } // implementation of class Composition template inline Composition &Composition::arg(const T &obj) { os << obj; std::string rep = os.str(); if (!rep.empty()) { // manipulators don't produce output for (specification_map::const_iterator i = specs.lower_bound(arg_no), end = specs.upper_bound(arg_no); i != end; ++i) { output_list::iterator pos = i->second; ++pos; output.insert(pos, rep); } os.str(std::string()); //os.clear(); ++arg_no; } return *this; } inline Composition::Composition(std::string fmt) : arg_no(1) { os.imbue(std::locale("")); // use the user's locale for the stream std::string::size_type b = 0, i = 0; // fill in output with the strings between the %1 %2 %3 etc. and // fill in specs with the positions while (i < fmt.length()) { if (fmt[i] == '%' && i + 1 < fmt.length()) { if (fmt[i + 1] == '%') { // catch %% fmt.replace(i, 2, "%"); ++i; } else if (is_number(fmt[i + 1])) { // aha! a spec! // save string output.push_back(fmt.substr(b, i - b)); int n = 1; // number of digits int spec_no = 0; do { spec_no += char_to_int(fmt[i + n]); spec_no *= 10; ++n; } while (i + n < fmt.length() && is_number(fmt[i + n])); spec_no /= 10; output_list::iterator pos = output.end(); --pos; // safe since we have just inserted a string> specs.insert(specification_map::value_type(spec_no, pos)); // jump over spec string i += n; b = i; } else ++i; } else ++i; } if (i - b > 0) // add the rest of the string output.push_back(fmt.substr(b, i - b)); } inline std::string Composition::str() const { // assemble string std::string str; for (output_list::const_iterator i = output.begin(), end = output.end(); i != end; ++i) str += *i; return str; } } namespace String { // a series of functions which accept a format string on the form "text %1 // more %2 less %3" and a number of templated parameters and spits out the // composited string template inline Glib::ustring ucompose(const Glib::ustring &fmt, const T1 &o1) { StringPrivate::Composition c(fmt); c.arg(o1); return Glib::locale_to_utf8(c.str()); } template inline Glib::ustring ucompose(const Glib::ustring &fmt, const T1 &o1, const T2 &o2) { StringPrivate::Composition c(fmt); c.arg(o1).arg(o2); return Glib::locale_to_utf8(c.str()); } template inline Glib::ustring ucompose(const Glib::ustring &fmt, const T1 &o1, const T2 &o2, const T3 &o3) { StringPrivate::Composition c(fmt); c.arg(o1).arg(o2).arg(o3); return Glib::locale_to_utf8(c.str()); } template inline Glib::ustring ucompose(const Glib::ustring &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4) { StringPrivate::Composition c(fmt); c.arg(o1).arg(o2).arg(o3).arg(o4); return Glib::locale_to_utf8(c.str()); } template inline Glib::ustring ucompose(const Glib::ustring &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5) { StringPrivate::Composition c(fmt); c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5); return Glib::locale_to_utf8(c.str()); } template inline Glib::ustring ucompose(const Glib::ustring &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6) { StringPrivate::Composition c(fmt); c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6); return Glib::locale_to_utf8(c.str()); } template inline Glib::ustring ucompose(const Glib::ustring &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, const T7 &o7) { StringPrivate::Composition c(fmt); c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7); return Glib::locale_to_utf8(c.str()); } template inline Glib::ustring ucompose(const Glib::ustring &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, const T7 &o7, const T8 &o8) { StringPrivate::Composition c(fmt); c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7).arg(o8); return Glib::locale_to_utf8(c.str()); } template inline Glib::ustring ucompose(const Glib::ustring &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, const T7 &o7, const T8 &o8, const T9 &o9) { StringPrivate::Composition c(fmt); c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7).arg(o8).arg(o9); return Glib::locale_to_utf8(c.str()); } template inline Glib::ustring ucompose(const Glib::ustring &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, const T7 &o7, const T8 &o8, const T9 &o9, const T10 &o10) { StringPrivate::Composition c(fmt); c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7).arg(o8).arg(o9) .arg(o10); return Glib::locale_to_utf8(c.str()); } template inline Glib::ustring ucompose(const Glib::ustring &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, const T7 &o7, const T8 &o8, const T9 &o9, const T10 &o10, const T11 &o11) { StringPrivate::Composition c(fmt); c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7).arg(o8).arg(o9) .arg(o10).arg(o11); return Glib::locale_to_utf8(c.str()); } template inline Glib::ustring ucompose(const Glib::ustring &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, const T7 &o7, const T8 &o8, const T9 &o9, const T10 &o10, const T11 &o11, const T12 &o12) { StringPrivate::Composition c(fmt); c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7).arg(o8).arg(o9) .arg(o10).arg(o11).arg(o12); return Glib::locale_to_utf8(c.str()); } template inline Glib::ustring ucompose(const Glib::ustring &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, const T7 &o7, const T8 &o8, const T9 &o9, const T10 &o10, const T11 &o11, const T12 &o12, const T13 &o13) { StringPrivate::Composition c(fmt); c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7).arg(o8).arg(o9) .arg(o10).arg(o11).arg(o12).arg(o13); return Glib::locale_to_utf8(c.str()); } template inline Glib::ustring ucompose(const Glib::ustring &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, const T7 &o7, const T8 &o8, const T9 &o9, const T10 &o10, const T11 &o11, const T12 &o12, const T13 &o13, const T14 &o14) { StringPrivate::Composition c(fmt); c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7).arg(o8).arg(o9) .arg(o10).arg(o11).arg(o12).arg(o13).arg(o14); return Glib::locale_to_utf8(c.str()); } template inline Glib::ustring ucompose(const Glib::ustring &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, const T7 &o7, const T8 &o8, const T9 &o9, const T10 &o10, const T11 &o11, const T12 &o12, const T13 &o13, const T14 &o14, const T15 &o15) { StringPrivate::Composition c(fmt); c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7).arg(o8).arg(o9) .arg(o10).arg(o11).arg(o12).arg(o13).arg(o14).arg(o15); return Glib::locale_to_utf8(c.str()); } } #endif // STRING_UCOMPOSE_H hardware-monitor-0.2/src/hardware-monitor.glade0000644000175000017500000017726707617561671015431 12 Hardware Monitor Preferences GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False True False True False 12 True True True True GTK_POS_TOP False False 12 True False 12 True Choose a viewer type: False True GTK_JUSTIFY_LEFT False False 0 0.5 0 0 0 False False True False 0 True False 12 True Monitor devices using line graphs True C_urves True GTK_RELIEF_NORMAL True False True 0 False False True Monitor devices using horizontal bars True _Bars True GTK_RELIEF_NORMAL False False True curve_radiobutton 0 False False True Monitor devices using text descriptions True _Text True GTK_RELIEF_NORMAL False False True curve_radiobutton 0 False False True Monitor devices using fluctuating flames True _Flames True GTK_RELIEF_NORMAL False False True curve_radiobutton 0 False False 12 True True 0 True True False True True Viewer False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 tab 12 True False 12 True False 12 True _Update interval (sec.): True False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 update_interval_spinbutton 0 False False True Amount of time between measurements (in seconds) True 1 1 True GTK_UPDATE_IF_VALID False False 1 0.1 100 0.1 1 10 0 False False 0 False False True 0 False False False 12 True False 12 True _Size: True False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 size_spinbutton 0 False False True Size of the applet in pixels True 1 0 True GTK_UPDATE_IF_VALID False False 60 4 1000 1 10 10 0 False False 0 True True True False 12 True S_amples: True False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 samples_spinbutton 0 False False True Number of measured points to show simultanously True 1 0 True GTK_UPDATE_IF_VALID False False 30 2 500 1 10 10 0 False False 0 True True 0 False False False 12 True False 12 True _Size: True False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 size_spinbutton 0 False False True Size of the applet in pixels True 1 0 True GTK_UPDATE_IF_VALID False False 60 4 1000 1 10 10 0 False False 0 False False 0 False False False 0 True False 12 True False True Use this _font: True GTK_RELIEF_NORMAL False False True 0 False False True False True Choose a Font CPU: 15.0% GNOME_FONT_PICKER_MODE_FONT_INFO True False 10 0 False False 0 True True 0 False False False 12 True False 12 True _Size: True False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 size_spinbutton 0 False False True Size of the applet in pixels True 1 0 True GTK_UPDATE_IF_VALID False False 60 4 1000 1 10 10 0 False False 0 False False 0 True True False True True Options False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 tab 12 True False 6 True _Monitored devices: True False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 monitor_treeview 0 False False True 2 2 False 12 12 250 True True GTK_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC GTK_SHADOW_IN GTK_CORNER_TOP_LEFT True True False False False True 0 1 0 1 fill True GTK_BUTTONBOX_START 6 True True gtk-add True GTK_RELIEF_NORMAL True True gtk-remove True GTK_RELIEF_NORMAL True True GTK_RELIEF_NORMAL True 0.5 0.5 0 0 True False 2 True gtk-convert 4 0.5 0.5 0 0 0 False False True C_hange True False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 0 False False 1 2 0 1 shrink shrink True False 12 False 12 True False 18 True False 12 True Color: False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 0 False False True Color of the curve True True True Pick a Color 0 False False 0 True True True False 12 True Line width: False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 0 False False True Thickness of the curve (in pixels) True 1 1 True GTK_UPDATE_IF_VALID False False 1 0 5 0.1 1 10 0 False False 0 True True 0 False False 0 True True False 12 True False 12 True Color: False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 0 False False True Color of the bar True True True Pick a Color 0 False False 0 False False 0 True True False 12 True False 12 True Color: False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 0 False False True Color of the flame True True True Pick a Color 0 False False 0 False False 0 True True 0 1 1 2 expand|shrink|fill 0 True True False True True Devices False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 tab 0 True True True GTK_BUTTONBOX_END 12 True True True gtk-close True GTK_RELIEF_NORMAL 0 False False 12 Choose a Device GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE True True False False True False 12 True GTK_BUTTONBOX_END True False True True gtk-help True GTK_RELIEF_NORMAL -11 True True True gtk-cancel True GTK_RELIEF_NORMAL -6 True True True True gtk-ok True GTK_RELIEF_NORMAL -5 0 False True GTK_PACK_END True <b>Choose what to monitor:</b> False True GTK_JUSTIFY_LEFT False False 0 0.5 0 0 0 False False 12 True False 18 True False 12 True False 6 True The percentage of time that is spent running foreground processes True C_PU usage True GTK_RELIEF_NORMAL True False True 0 False False True False False 0 True False 6 True Monitor all CPUs True All CPUs True GTK_RELIEF_NORMAL False False True 0 False False True False 12 True Monitor only a single CPU True Only CPU: True GTK_RELIEF_NORMAL False False True all_cpus_radiobutton 0 False False True Which CPU no. to monitor True 1 0 True GTK_UPDATE_IF_VALID False False 1 1 33 1 10 10 0 False False 0 False False 18 False False 0 False False 0 True True True The amount of memory used True _Memory usage True GTK_RELIEF_NORMAL False False True cpu_usage_radiobutton 0 True True True The amount of disk-based memory used True _Swap usage True GTK_RELIEF_NORMAL False False True cpu_usage_radiobutton 0 True True True A running average of the number of simultanous processes True _Load average True GTK_RELIEF_NORMAL False False True cpu_usage_radiobutton 0 True True 0 False False True False 12 True False 6 True The amount of disk space used True _Disk usage True GTK_RELIEF_NORMAL False False True cpu_usage_radiobutton 0 False False True False False 0 True False 12 True Folder: False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 0 False False True Enter which folder to monitor True True True 0 / True * False 0 True True 18 True True 0 False False 0 True True True False 6 True The amount of data sent through a network connection True _Network throughput True GTK_RELIEF_NORMAL False False True cpu_usage_radiobutton 0 False False True False False 0 True 2 2 False 6 12 True Type of connection - Ethernet is the most common local area network adapter type True 0 True Ethernet (first) True True Ethernet (second) True True Ethernet (third) True True Modem True True Serial link True 1 2 0 1 fill True Direction: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 0 1 1 2 fill True Select whether to monitor incoming or outgoing data or both True 0 True All data True True Incoming data True True Outgoing data True 1 2 1 2 fill True Connection: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 network_type_optionmenu 0 1 0 1 fill 18 True True 0 False False 0 True True 0 True True 0 True True hardware-monitor-0.2/po/0000777000175000017500000000000007617564727011045 5hardware-monitor-0.2/po/ChangeLog0000644000175000017500000000040507617561542012522 2003-02-03 Ole Laursen * da.po: Updated Danish translation. 2003-02-01 Ole Laursen * da.po: Updated Danish translation. 2003-01-11 Ole Laursen * da.po: Updated Danish translation. hardware-monitor-0.2/po/Makefile.in.in0000644000175000017500000001610707616013061013413 # Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper # # This file file 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. # Please note that the actual code is *not* freely available. # # - 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 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = .. VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datadir@ libdir = @libdir@ localedir = $(libdir)/locale gnulocaledir = $(datadir)/locale gettextsrcdir = $(datadir)/glib-2.0/gettext/po subdir = po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ MKINSTALLDIRS = $(top_srcdir)/@MKINSTALLDIRS@ CC = @CC@ GENCAT = @GENCAT@ GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot DEFS = @DEFS@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ INCLUDES = -I.. -I$(top_srcdir)/intl COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) SOURCES = POFILES = @POFILES@ GMOFILES = @GMOFILES@ DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(GETTEXT_PACKAGE).pot \ $(POFILES) $(GMOFILES) $(SOURCES) POTFILES = \ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ INSTOBJEXT = @INSTOBJEXT@ .SUFFIXES: .SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat .c.o: $(COMPILE) $< .po.pox: $(MAKE) $(GETTEXT_PACKAGE).pot $(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: $(MSGFMT) -o $@ $< .po.gmo: file=$(srcdir)/`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: $(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES) $(GENPOT) install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ install-data-no: all install-data-yes: all if test -r "$(MKINSTALLDIRS)"; then \ $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \ else \ $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \ fi @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ case "$$cat" in \ *.gmo) destdir=$(gnulocaledir);; \ *) destdir=$(localedir);; \ esac; \ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ if test -r "$(MKINSTALLDIRS)"; then \ $(MKINSTALLDIRS) $$dir; \ else \ $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \ fi; \ if test -r $$cat; then \ $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ else \ $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ echo "installing $(srcdir)/$$cat as" \ "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ fi; \ if test -r $$cat.m; then \ $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ else \ if test -r $(srcdir)/$$cat.m ; then \ $(INSTALL_DATA) $(srcdir)/$$cat.m \ $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ echo "installing $(srcdir)/$$cat as" \ "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ else \ true; \ fi; \ fi; \ done if test "$(PACKAGE)" = "glib"; then \ if test -r "$(MKINSTALLDIRS)"; then \ $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ else \ $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \ fi; \ $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ else \ : ; \ fi # Define this as empty until I found a useful application. installcheck: uninstall: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ done rm -f $(DESTDIR)$(gettextsrcdir)/po-Makefile.in.in check: all dvi info tags TAGS ID: mostlyclean: rm -f core core.* *.pox $(GETTEXT_PACKAGE).po *.old.po cat-id-tbl.tmp rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m 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 $(GMOFILES) distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir) dist distdir: update-po $(DISTFILES) dists="$(DISTFILES)"; \ for file in $$dists; do \ ln $(srcdir)/$$file $(distdir) 2> /dev/null \ || cp -p $(srcdir)/$$file $(distdir); \ done update-po: Makefile $(MAKE) $(GETTEXT_PACKAGE).pot cd $(srcdir); \ catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ cp $$lang.po $$lang.old.po; \ echo "$$lang:"; \ if $(MSGMERGE) $$lang; then \ rm -f $$lang.old.po; \ else \ echo "msgmerge for $$cat failed!"; \ rm -f $$lang.po; \ mv $$lang.old.po $$lang.po; \ fi; \ done .po: Makefile $(MAKE) $(PACKAGE).pot; PATH=`pwd`/../src:$$PATH; \ echo; printf "$*: "; \ if $(MSGMERGE) $*; then \ rm -f $*.old.po; \ else \ echo "msgmerge for * failed!"; \ mv $*.old.po $*.po; \ fi; \ msgfmt --statistics $*.po; echo; # POTFILES is created from POTFILES.in by stripping comments, empty lines # and Intltool tags (enclosed in square brackets), and appending a full # relative path to them POTFILES: POTFILES.in ( if test 'x$(srcdir)' != 'x.'; then \ posrcprefix='$(top_srcdir)/'; \ else \ posrcprefix="../"; \ fi; \ rm -f $@-t $@ \ && (sed -e '/^#/d' \ -e "s/^\[.*\] +//" \ -e '/^[ ]*$$/d' \ -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ | sed -e '$$s/\\$$//') > $@-t \ && chmod a-w $@-t \ && mv $@-t $@ ) Makefile: Makefile.in.in ../config.status POTFILES cd .. \ && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ $(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: hardware-monitor-0.2/po/POTFILES.in0000644000175000017500000000031307615770143012520 HardwareMonitor.server.in.in src/applet.cpp src/bar-view.cpp src/curve-view.cpp src/hardware-monitor.glade src/helpers.cpp src/main.cpp src/monitor-impls.cpp src/preferences-window.cpp src/text-view.cpp hardware-monitor-0.2/po/hardware-monitor.pot0000644000175000017500000002157107617561703014764 # 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" "POT-Creation-Date: 2003-02-03 22:48+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=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: HardwareMonitor.server.in.in.h:1 src/applet.cpp:430 msgid "Hardware Monitor" msgstr "" #: HardwareMonitor.server.in.in.h:2 msgid "Monitor hardware devices" msgstr "" #: HardwareMonitor.server.in.in.h:3 msgid "Utility" msgstr "" #: src/applet.cpp:69 msgid "Hardware Monitor: cannot load the icon '%1'.\n" msgstr "" #. pop-up menu strings #: src/applet.cpp:102 msgid "_Preferences..." msgstr "" #: src/applet.cpp:102 msgid "_Help" msgstr "" #: src/applet.cpp:102 msgid "_About..." msgstr "" #. add documenters here #. note to translators: please fill in your names and email addresses #: src/applet.cpp:422 msgid "translator_credits" msgstr "" #: src/applet.cpp:425 msgid "" "Monitor various hardware-related information, such as CPU usage, memory " "usage etc. Supports curve graphs, horizontal bar plots, textual monitoring " "and fluctuating flames." msgstr "" #: src/applet.cpp:431 msgid "Copyright (c) 2003 Ole Laursen" msgstr "" #. note to translators: %1 is the name of a monitor, e.g. "CPU 1", and %2 is #. the current measurement, e.g. "78%" #: src/bar-view.cpp:113 src/curve-view.cpp:158 src/text-view.cpp:76 msgid "%1: %2" msgstr "" #. note to translators: this is used for composing a list of monitors; %1 #. is the previous part of the list and %2 is the part to append #: src/bar-view.cpp:175 src/curve-view.cpp:226 msgid "" "%1\n" "%2" msgstr "" #: src/hardware-monitor.glade.h:1 msgid "*" msgstr "" #: src/hardware-monitor.glade.h:2 msgid "/" msgstr "" #: src/hardware-monitor.glade.h:3 msgid "Choose what to monitor:" msgstr "" #: src/hardware-monitor.glade.h:4 msgid "A running average of the number of simultanous processes" msgstr "" #: src/hardware-monitor.glade.h:5 msgid "All CPUs" msgstr "" #: src/hardware-monitor.glade.h:6 msgid "All data" msgstr "" #: src/hardware-monitor.glade.h:7 msgid "Amount of time between measurements (in seconds)" msgstr "" #: src/hardware-monitor.glade.h:9 #, no-c-format msgid "CPU: 15.0%" msgstr "" #: src/hardware-monitor.glade.h:10 msgid "C_PU usage" msgstr "" #: src/hardware-monitor.glade.h:11 msgid "C_hange" msgstr "" #: src/hardware-monitor.glade.h:12 msgid "C_urves" msgstr "" #: src/hardware-monitor.glade.h:13 msgid "Choose a Device" msgstr "" #: src/hardware-monitor.glade.h:14 msgid "Choose a Font" msgstr "" #: src/hardware-monitor.glade.h:15 msgid "Choose a viewer type:" msgstr "" #: src/hardware-monitor.glade.h:16 msgid "Color of the bar" msgstr "" #: src/hardware-monitor.glade.h:17 msgid "Color of the curve" msgstr "" #: src/hardware-monitor.glade.h:18 msgid "Color of the flame" msgstr "" #: src/hardware-monitor.glade.h:19 msgid "Color:" msgstr "" #: src/hardware-monitor.glade.h:20 msgid "Connection:" msgstr "" #: src/hardware-monitor.glade.h:21 msgid "Devices" msgstr "" #: src/hardware-monitor.glade.h:22 msgid "Direction:" msgstr "" #: src/hardware-monitor.glade.h:23 msgid "Enter which folder to monitor" msgstr "" #: src/hardware-monitor.glade.h:24 src/monitor-impls.cpp:489 msgid "Ethernet (first)" msgstr "" #: src/hardware-monitor.glade.h:25 src/monitor-impls.cpp:491 msgid "Ethernet (second)" msgstr "" #: src/hardware-monitor.glade.h:26 src/monitor-impls.cpp:493 msgid "Ethernet (third)" msgstr "" #: src/hardware-monitor.glade.h:27 msgid "Folder:" msgstr "" #: src/hardware-monitor.glade.h:28 msgid "Hardware Monitor Preferences" msgstr "" #: src/hardware-monitor.glade.h:29 msgid "Incoming data" msgstr "" #: src/hardware-monitor.glade.h:30 msgid "Line width:" msgstr "" #: src/hardware-monitor.glade.h:31 src/monitor-impls.cpp:495 msgid "Modem" msgstr "" #: src/hardware-monitor.glade.h:32 msgid "Monitor all CPUs" msgstr "" #: src/hardware-monitor.glade.h:33 msgid "Monitor devices using fluctuating flames" msgstr "" #: src/hardware-monitor.glade.h:34 msgid "Monitor devices using horizontal bars" msgstr "" #: src/hardware-monitor.glade.h:35 msgid "Monitor devices using line graphs" msgstr "" #: src/hardware-monitor.glade.h:36 msgid "Monitor devices using text descriptions" msgstr "" #: src/hardware-monitor.glade.h:37 msgid "Monitor only a single CPU" msgstr "" #: src/hardware-monitor.glade.h:38 msgid "Number of measured points to show simultanously" msgstr "" #: src/hardware-monitor.glade.h:39 msgid "Only CPU:" msgstr "" #: src/hardware-monitor.glade.h:40 msgid "Options" msgstr "" #: src/hardware-monitor.glade.h:41 msgid "Outgoing data" msgstr "" #: src/hardware-monitor.glade.h:42 msgid "Pick a Color" msgstr "" #: src/hardware-monitor.glade.h:43 msgid "S_amples:" msgstr "" #: src/hardware-monitor.glade.h:44 msgid "Select whether to monitor incoming or outgoing data or both" msgstr "" #: src/hardware-monitor.glade.h:45 src/monitor-impls.cpp:497 msgid "Serial link" msgstr "" #: src/hardware-monitor.glade.h:46 msgid "Size of the applet in pixels" msgstr "" #: src/hardware-monitor.glade.h:47 msgid "The amount of data sent through a network connection" msgstr "" #: src/hardware-monitor.glade.h:48 msgid "The amount of disk space used" msgstr "" #: src/hardware-monitor.glade.h:49 msgid "The amount of disk-based memory used" msgstr "" #: src/hardware-monitor.glade.h:50 msgid "The amount of memory used" msgstr "" #: src/hardware-monitor.glade.h:51 msgid "The percentage of time that is spent running foreground processes" msgstr "" #: src/hardware-monitor.glade.h:52 msgid "Thickness of the curve (in pixels)" msgstr "" #: src/hardware-monitor.glade.h:53 msgid "" "Type of connection - Ethernet is the most common local area network adapter " "type" msgstr "" #: src/hardware-monitor.glade.h:54 msgid "Use this _font:" msgstr "" #: src/hardware-monitor.glade.h:55 msgid "Viewer" msgstr "" #: src/hardware-monitor.glade.h:56 msgid "Which CPU no. to monitor" msgstr "" #: src/hardware-monitor.glade.h:57 msgid "_Bars" msgstr "" #: src/hardware-monitor.glade.h:58 msgid "_Disk usage" msgstr "" #: src/hardware-monitor.glade.h:59 msgid "_Flames" msgstr "" #: src/hardware-monitor.glade.h:60 msgid "_Load average" msgstr "" #: src/hardware-monitor.glade.h:61 msgid "_Memory usage" msgstr "" #: src/hardware-monitor.glade.h:62 msgid "_Monitored devices:" msgstr "" #: src/hardware-monitor.glade.h:63 msgid "_Network throughput" msgstr "" #: src/hardware-monitor.glade.h:64 msgid "_Size:" msgstr "" #: src/hardware-monitor.glade.h:65 msgid "_Swap usage" msgstr "" #: src/hardware-monitor.glade.h:66 msgid "_Text" msgstr "" #: src/hardware-monitor.glade.h:67 msgid "_Update interval (sec.):" msgstr "" #: src/helpers.cpp:34 msgid "Fatal error" msgstr "" #: src/monitor-impls.cpp:153 msgid "%1%%" msgstr "" #: src/monitor-impls.cpp:159 msgid "All processors" msgstr "" #: src/monitor-impls.cpp:161 msgid "Processor no. %1" msgstr "" #. must be short #: src/monitor-impls.cpp:168 msgid "CPU" msgstr "" #. note to translators: %1 is the cpu no, e.g. "CPU 1" #: src/monitor-impls.cpp:171 msgid "CPU %1" msgstr "" #: src/monitor-impls.cpp:214 src/monitor-impls.cpp:320 #: src/monitor-impls.cpp:380 msgid "%1 Mb" msgstr "" #: src/monitor-impls.cpp:219 msgid "Disk-based memory" msgstr "" #. must be short #: src/monitor-impls.cpp:225 msgid "Swap" msgstr "" #: src/monitor-impls.cpp:271 msgid "Load average" msgstr "" #. note to translators: short for "load average" - it has nothing to do with #. loading data #: src/monitor-impls.cpp:278 msgid "Load" msgstr "" #: src/monitor-impls.cpp:325 msgid "Memory" msgstr "" #. short for memory #: src/monitor-impls.cpp:331 msgid "Mem." msgstr "" #: src/monitor-impls.cpp:376 msgid "%1 Gb" msgstr "" #: src/monitor-impls.cpp:384 msgid "%1 kb" msgstr "" #: src/monitor-impls.cpp:387 msgid "%1 b" msgstr "" #: src/monitor-impls.cpp:392 msgid "Disk (%1)" msgstr "" #: src/monitor-impls.cpp:470 msgid "%1 Gb/s" msgstr "" #: src/monitor-impls.cpp:474 msgid "%1 Mb/s" msgstr "" #: src/monitor-impls.cpp:478 msgid "%1 kb/s" msgstr "" #: src/monitor-impls.cpp:481 msgid "%1 b/s" msgstr "" #. %1 is the network connection, e.g. "Ethernet (first))", in signifies #. that this is incoming data #: src/monitor-impls.cpp:505 msgid "%1, in" msgstr "" #. %1 is the network connection, e.g. "Ethernet (first))", out signifies #. that this is outgoing data #: src/monitor-impls.cpp:509 msgid "%1, out" msgstr "" #. short for an ethernet card #: src/monitor-impls.cpp:518 msgid "Eth. %1" msgstr "" #. short for modem #: src/monitor-impls.cpp:521 msgid "Mod." msgstr "" #. short for serial link #: src/monitor-impls.cpp:524 msgid "Ser." msgstr "" #: src/preferences-window.cpp:134 msgid "Device" msgstr "" hardware-monitor-0.2/po/da.po0000644000175000017500000002603407617564727011712 # Danish translation of Hardware Monitor. # Copyright (C) 2003 Free Software Foundation. # This file is distributed under the same license as the hardware-monitor package. # Ole Laursen , 2003. # msgid "" msgstr "" "Project-Id-Version: hardware-monitor\n" "POT-Creation-Date: 2003-02-03 22:48+0100\n" "PO-Revision-Date: 2003-02-03 22:49+0100\n" "Last-Translator: Ole Laursen \n" "Language-Team: Danish " #: src/applet.cpp:425 msgid "" "Monitor various hardware-related information, such as CPU usage, memory " "usage etc. Supports curve graphs, horizontal bar plots, textual monitoring " "and fluctuating flames." msgstr "" "Overvåg forskellige hardware-oplysninger, såsom CPU-forbrug, " "hukommelsesforbrug osv. Understøtter kurvegrafer, vandrette bjælkegrafer, " "tekstovervågning og bølgende flammer." #: src/applet.cpp:431 msgid "Copyright (c) 2003 Ole Laursen" msgstr "Copyright © 2003 Ole Laursen" #. note to translators: %1 is the name of a monitor, e.g. "CPU 1", and %2 is #. the current measurement, e.g. "78%" #: src/bar-view.cpp:113 src/curve-view.cpp:158 src/text-view.cpp:76 msgid "%1: %2" msgstr "%1: %2" #. note to translators: this is used for composing a list of monitors; %1 #. is the previous part of the list and %2 is the part to append #: src/bar-view.cpp:175 src/curve-view.cpp:226 msgid "" "%1\n" "%2" msgstr "" "%1\n" "%2" #: src/hardware-monitor.glade.h:1 msgid "*" msgstr "*" #: src/hardware-monitor.glade.h:2 msgid "/" msgstr "/" #: src/hardware-monitor.glade.h:3 msgid "Choose what to monitor:" msgstr "Vælg hvad der skal overvåges:" #: src/hardware-monitor.glade.h:4 msgid "A running average of the number of simultanous processes" msgstr "" "Et løbende gennemsnit over antallet af processer der kører på samme tid" #: src/hardware-monitor.glade.h:5 msgid "All CPUs" msgstr "Alle processorer" #: src/hardware-monitor.glade.h:6 msgid "All data" msgstr "Alle data" #: src/hardware-monitor.glade.h:7 msgid "Amount of time between measurements (in seconds)" msgstr "Tidsrum mellem målinger (i sekunder)" #: src/hardware-monitor.glade.h:9 #, no-c-format msgid "CPU: 15.0%" msgstr "CPU: 15.0%" #: src/hardware-monitor.glade.h:10 msgid "C_PU usage" msgstr "_Processorforbrug" #: src/hardware-monitor.glade.h:11 msgid "C_hange" msgstr "_Skift" #: src/hardware-monitor.glade.h:12 msgid "C_urves" msgstr "_Kurver" #: src/hardware-monitor.glade.h:13 msgid "Choose a Device" msgstr "Vælg en enhed" #: src/hardware-monitor.glade.h:14 msgid "Choose a Font" msgstr "Vælg en skrifttype" #: src/hardware-monitor.glade.h:15 msgid "Choose a viewer type:" msgstr "Vælg en fremviser:" #: src/hardware-monitor.glade.h:16 msgid "Color of the bar" msgstr "Farve for bjælken" #: src/hardware-monitor.glade.h:17 msgid "Color of the curve" msgstr "Farve for kurven" #: src/hardware-monitor.glade.h:18 msgid "Color of the flame" msgstr "Farve for flammen" #: src/hardware-monitor.glade.h:19 msgid "Color:" msgstr "Farve:" #: src/hardware-monitor.glade.h:20 msgid "Connection:" msgstr "Forbindelse:" #: src/hardware-monitor.glade.h:21 msgid "Devices" msgstr "Enheder" #: src/hardware-monitor.glade.h:22 msgid "Direction:" msgstr "Retning:" #: src/hardware-monitor.glade.h:23 msgid "Enter which folder to monitor" msgstr "Indtast hvilken mappe der skal overvåges" #: src/hardware-monitor.glade.h:24 src/monitor-impls.cpp:489 msgid "Ethernet (first)" msgstr "Ethernet (første)" #: src/hardware-monitor.glade.h:25 src/monitor-impls.cpp:491 msgid "Ethernet (second)" msgstr "Ethernet (anden)" #: src/hardware-monitor.glade.h:26 src/monitor-impls.cpp:493 msgid "Ethernet (third)" msgstr "Ethernet (tredje)" #: src/hardware-monitor.glade.h:27 msgid "Folder:" msgstr "Mappe:" #: src/hardware-monitor.glade.h:28 msgid "Hardware Monitor Preferences" msgstr "Indstillinger for hardwareovervågning" #: src/hardware-monitor.glade.h:29 msgid "Incoming data" msgstr "Indgående data" #: src/hardware-monitor.glade.h:30 msgid "Line width:" msgstr "Linjebredde:" #: src/hardware-monitor.glade.h:31 src/monitor-impls.cpp:495 msgid "Modem" msgstr "Modem" #: src/hardware-monitor.glade.h:32 msgid "Monitor all CPUs" msgstr "Overvåg alle processorer" #: src/hardware-monitor.glade.h:33 msgid "Monitor devices using fluctuating flames" msgstr "Overvåg enheder vha. bølgende flammer" #: src/hardware-monitor.glade.h:34 msgid "Monitor devices using horizontal bars" msgstr "Overvåg enheder vha. vandrette bjælker" #: src/hardware-monitor.glade.h:35 msgid "Monitor devices using line graphs" msgstr "Overvåg enheder vha. kurvegrafer" #: src/hardware-monitor.glade.h:36 msgid "Monitor devices using text descriptions" msgstr "Overvåg enheder vha. tekstbeskrivelser" #: src/hardware-monitor.glade.h:37 msgid "Monitor only a single CPU" msgstr "Overvåg kun en enkelt processor" #: src/hardware-monitor.glade.h:38 msgid "Number of measured points to show simultanously" msgstr "Antal målepunkter der skal vises på samme tid" #: src/hardware-monitor.glade.h:39 msgid "Only CPU:" msgstr "Kun CPU:" #: src/hardware-monitor.glade.h:40 msgid "Options" msgstr "Indstillinger" #: src/hardware-monitor.glade.h:41 msgid "Outgoing data" msgstr "Udgående data" #: src/hardware-monitor.glade.h:42 msgid "Pick a Color" msgstr "Vælg en farve" #: src/hardware-monitor.glade.h:43 msgid "S_amples:" msgstr "_Målinger:" #: src/hardware-monitor.glade.h:44 msgid "Select whether to monitor incoming or outgoing data or both" msgstr "Vælg om indgående eller udgående data eller begge skal overvåges" #: src/hardware-monitor.glade.h:45 src/monitor-impls.cpp:497 msgid "Serial link" msgstr "Serielt kabel" #: src/hardware-monitor.glade.h:46 msgid "Size of the applet in pixels" msgstr "Størrelsen af programmet i skærmpunkter" #: src/hardware-monitor.glade.h:47 msgid "The amount of data sent through a network connection" msgstr "Datamængden som sendes gennem en netværksforbindelse" #: src/hardware-monitor.glade.h:48 msgid "The amount of disk space used" msgstr "Hvor meget diskplads der er optaget" #: src/hardware-monitor.glade.h:49 msgid "The amount of disk-based memory used" msgstr "Hvor meget diskbaseret hukommelse der er optaget" #: src/hardware-monitor.glade.h:50 msgid "The amount of memory used" msgstr "Hvor meget hukommelse der er optaget" #: src/hardware-monitor.glade.h:51 msgid "The percentage of time that is spent running foreground processes" msgstr "Den procentdel af tiden der bliver brug på kørende foregrundsprocesser" #: src/hardware-monitor.glade.h:52 msgid "Thickness of the curve (in pixels)" msgstr "Tykkelsen af kurven (i skærmpunkter)" #: src/hardware-monitor.glade.h:53 msgid "" "Type of connection - Ethernet is the most common local area network adapter " "type" msgstr "" "Forbindelsestypen - Ethernet er den almindeligste netkortstype for " "lokalnetværk" #: src/hardware-monitor.glade.h:54 msgid "Use this _font:" msgstr "Benyt denne _skrifttype:" #: src/hardware-monitor.glade.h:55 msgid "Viewer" msgstr "Fremviser" #: src/hardware-monitor.glade.h:56 msgid "Which CPU no. to monitor" msgstr "Hvilken processor der skal overvåges" #: src/hardware-monitor.glade.h:57 msgid "_Bars" msgstr "_Bjælker" #: src/hardware-monitor.glade.h:58 msgid "_Disk usage" msgstr "_Diskforbrug" #: src/hardware-monitor.glade.h:59 msgid "_Flames" msgstr "_Flammer" #: src/hardware-monitor.glade.h:60 msgid "_Load average" msgstr "_Belastningsgennemsnit" #: src/hardware-monitor.glade.h:61 msgid "_Memory usage" msgstr "_Hukommelsesforbrug" #: src/hardware-monitor.glade.h:62 msgid "_Monitored devices:" msgstr "_Overvågede enheder:" #: src/hardware-monitor.glade.h:63 msgid "_Network throughput" msgstr "_Netværksgennemstrømning" #: src/hardware-monitor.glade.h:64 msgid "_Size:" msgstr "_Størrelse:" #: src/hardware-monitor.glade.h:65 msgid "_Swap usage" msgstr "_Swapforbrug" #: src/hardware-monitor.glade.h:66 msgid "_Text" msgstr "_Tekst" #: src/hardware-monitor.glade.h:67 msgid "_Update interval (sec.):" msgstr "_Opdateringsinterval (sek.):" #: src/helpers.cpp:34 msgid "Fatal error" msgstr "Fatal fejl" #: src/monitor-impls.cpp:153 msgid "%1%%" msgstr "%1%%" #: src/monitor-impls.cpp:159 msgid "All processors" msgstr "Alle processorer" #: src/monitor-impls.cpp:161 msgid "Processor no. %1" msgstr "Processor nr. %1" #. must be short #: src/monitor-impls.cpp:168 msgid "CPU" msgstr "CPU" #. note to translators: %1 is the cpu no, e.g. "CPU 1" #: src/monitor-impls.cpp:171 msgid "CPU %1" msgstr "CPU %1" #: src/monitor-impls.cpp:214 src/monitor-impls.cpp:320 #: src/monitor-impls.cpp:380 msgid "%1 Mb" msgstr "%1 Mb" #: src/monitor-impls.cpp:219 msgid "Disk-based memory" msgstr "Disk-baseret hukommelse" #. must be short #: src/monitor-impls.cpp:225 msgid "Swap" msgstr "Swap" #: src/monitor-impls.cpp:271 msgid "Load average" msgstr "Belastningsgennemsnit" #. note to translators: short for "load average" - it has nothing to do with #. loading data #: src/monitor-impls.cpp:278 msgid "Load" msgstr "Bela." #: src/monitor-impls.cpp:325 msgid "Memory" msgstr "Hukommelse" #. short for memory #: src/monitor-impls.cpp:331 msgid "Mem." msgstr "Huk." #: src/monitor-impls.cpp:376 msgid "%1 Gb" msgstr "%1 Gb" #: src/monitor-impls.cpp:384 msgid "%1 kb" msgstr "%1 kb" #: src/monitor-impls.cpp:387 msgid "%1 b" msgstr "%1 b" #: src/monitor-impls.cpp:392 msgid "Disk (%1)" msgstr "Disk (%1)" #: src/monitor-impls.cpp:470 msgid "%1 Gb/s" msgstr "%1 Gb/s" #: src/monitor-impls.cpp:474 msgid "%1 Mb/s" msgstr "%1 Mb/s" #: src/monitor-impls.cpp:478 msgid "%1 kb/s" msgstr "%1 kb/s" #: src/monitor-impls.cpp:481 msgid "%1 b/s" msgstr "%1 b/s" #. %1 is the network connection, e.g. "Ethernet (first))", in signifies #. that this is incoming data #: src/monitor-impls.cpp:505 msgid "%1, in" msgstr "%1, ind" #. %1 is the network connection, e.g. "Ethernet (first))", out signifies #. that this is outgoing data #: src/monitor-impls.cpp:509 msgid "%1, out" msgstr "%1, ud" #. short for an ethernet card #: src/monitor-impls.cpp:518 msgid "Eth. %1" msgstr "Eth. %1" #. short for modem #: src/monitor-impls.cpp:521 msgid "Mod." msgstr "Mod." #. short for serial link #: src/monitor-impls.cpp:524 msgid "Ser." msgstr "Ser." #: src/preferences-window.cpp:134 msgid "Device" msgstr "Enhed" hardware-monitor-0.2/po/da.gmo0000644000175000017500000001533407617564727012057 jl    % + 3 8 ? E M R Y a h j l 8    0   ! , 7 ? G W e {         8 @ Q c t    -      ! ' (8 %a ! '    /    ;'c ht4$A("jP   &2: @ N\p ($)06>CKRY[&]J %!% ,7IPXg{  )0Zbu &5 ,9?U Zejp'(!'% >_/B KYhw D )6#R0v$H%P;  %  %9Oj | !&7]hDfG 85W[j (B>LIU/ 0ECSTPbV: ^!3A'Hc)i4;$.a,6%_Z=gN2e\#MJQ@R KF?19<`d*-O"Y+X%1 %2%1 Gb%1 Gb/s%1 Mb%1 Mb/s%1 b%1 b/s%1 kb%1 kb/s%1%%%1, in%1, out%1: %2*/Choose what to monitor:A running average of the number of simultanous processesAll CPUsAll dataAll processorsAmount of time between measurements (in seconds)CPUCPU %1CPU: 15.0%C_PU usageC_hangeC_urvesChoose a DeviceChoose a FontChoose a viewer type:Color of the barColor of the curveColor of the flameColor:Connection:Copyright (c) 2003 Ole LaursenDeviceDevicesDirection:Disk (%1)Disk-based memoryEnter which folder to monitorEth. %1Ethernet (first)Ethernet (second)Ethernet (third)Fatal errorFolder:Hardware MonitorHardware Monitor PreferencesHardware Monitor: cannot load the icon '%1'. Incoming dataLine width:LoadLoad averageMem.MemoryMod.ModemMonitor all CPUsMonitor devices using fluctuating flamesMonitor devices using horizontal barsMonitor devices using line graphsMonitor devices using text descriptionsMonitor hardware devicesMonitor only a single CPUMonitor various hardware-related information, such as CPU usage, memory usage etc. Supports curve graphs, horizontal bar plots, textual monitoring and fluctuating flames.Number of measured points to show simultanouslyOnly CPU:OptionsOutgoing dataPick a ColorProcessor no. %1S_amples:Select whether to monitor incoming or outgoing data or bothSer.Serial linkSize of the applet in pixelsSwapThe amount of data sent through a network connectionThe amount of disk space usedThe amount of disk-based memory usedThe amount of memory usedThe percentage of time that is spent running foreground processesThickness of the curve (in pixels)Type of connection - Ethernet is the most common local area network adapter typeUse this _font:UtilityViewerWhich CPU no. to monitor_About..._Bars_Disk usage_Flames_Help_Load average_Memory usage_Monitored devices:_Network throughput_Preferences..._Size:_Swap usage_Text_Update interval (sec.):translator_creditsProject-Id-Version: hardware-monitor POT-Creation-Date: 2003-02-03 22:48+0100 PO-Revision-Date: 2003-02-03 22:49+0100 Last-Translator: Ole Laursen Language-Team: Danish Vælg hvad der skal overvåges:Et løbende gennemsnit over antallet af processer der kører på samme tidAlle processorerAlle dataAlle processorerTidsrum mellem målinger (i sekunder)CPUCPU %1CPU: 15.0%_Processorforbrug_Skift_KurverVælg en enhedVælg en skrifttypeVælg en fremviser:Farve for bjælkenFarve for kurvenFarve for flammenFarve:Forbindelse:Copyright © 2003 Ole LaursenEnhedEnhederRetning:Disk (%1)Disk-baseret hukommelseIndtast hvilken mappe der skal overvågesEth. %1Ethernet (første)Ethernet (anden)Ethernet (tredje)Fatal fejlMappe:HardwareovervågningIndstillinger for hardwareovervågningHardwareovervågning: kan ikke indlæse ikonet '%1'. Indgående dataLinjebredde:Bela.BelastningsgennemsnitHuk.HukommelseMod.ModemOvervåg alle processorerOvervåg enheder vha. bølgende flammerOvervåg enheder vha. vandrette bjælkerOvervåg enheder vha. kurvegraferOvervåg enheder vha. tekstbeskrivelserOvervåg hardwareenhederOvervåg kun en enkelt processorOvervåg forskellige hardware-oplysninger, såsom CPU-forbrug, hukommelsesforbrug osv. Understøtter kurvegrafer, vandrette bjælkegrafer, tekstovervågning og bølgende flammer.Antal målepunkter der skal vises på samme tidKun CPU:IndstillingerUdgående dataVælg en farveProcessor nr. %1_Målinger:Vælg om indgående eller udgående data eller begge skal overvågesSer.Serielt kabelStørrelsen af programmet i skærmpunkterSwapDatamængden som sendes gennem en netværksforbindelseHvor meget diskplads der er optagetHvor meget diskbaseret hukommelse der er optagetHvor meget hukommelse der er optagetDen procentdel af tiden der bliver brug på kørende foregrundsprocesserTykkelsen af kurven (i skærmpunkter)Forbindelsestypen - Ethernet er den almindeligste netkortstype for lokalnetværkBenyt denne _skrifttype:VærktøjFremviserHvilken processor der skal overvåges_Om..._Bjælker_Diskforbrug_Flammer_Hjælp_Belastningsgennemsnit_Hukommelsesforbrug_Overvågede enheder:_Netværksgennemstrømning_Indstillinger..._Størrelse:_Swapforbrug_Tekst_Opdateringsinterval (sek.):Ole Laursen hardware-monitor-0.2/help/0000777000175000017500000000000007617564731011352 5hardware-monitor-0.2/help/Makefile.in0000644000175000017500000002225207617564731013336 # Makefile.in generated automatically by automake 1.4-p6 from Makefile.am # Copyright (C) 1994, 1995-8, 1999, 2001 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. SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CXX = @CXX@ DATADIRNAME = @DATADIRNAME@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ PACKAGE = @PACKAGE@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ SUBDIRS = C mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = DIST_COMMON = Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar GZIP_ENV = --best all: all-redirect .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps help/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status # 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. @SET_MAKE@ all-recursive install-data-recursive install-exec-recursive \ installdirs-recursive install-recursive uninstall-recursive \ check-recursive installcheck-recursive info-recursive dvi-recursive: @set fnord $(MAKEFLAGS); amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; 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; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: @set fnord $(MAKEFLAGS); amf=$$2; \ dot_seen=no; \ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ rev="$$subdir $$rev"; \ test "$$subdir" != "." || dot_seen=yes; \ done; \ test "$$dot_seen" = "no" && rev=". $$rev"; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS)'; \ unique=`for i in $$list; do echo $$i; done | \ awk ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ here=`pwd` && cd $(srcdir) \ && mkid -f$$here/ID $$unique $(LISP) TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) tags=; \ here=`pwd`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS)'; \ unique=`for i in $$list; do echo $$i; done | \ awk ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags $$unique $(LISP)) mostlyclean-tags: clean-tags: distclean-tags: -rm -f TAGS ID maintainer-clean-tags: distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) subdir = help distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done for subdir in $(SUBDIRS); do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ || exit 1; \ chmod 777 $(distdir)/$$subdir; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \ || exit 1; \ fi; \ done info-am: info: info-recursive dvi-am: dvi: dvi-recursive check-am: all-am check: check-recursive installcheck-am: installcheck: installcheck-recursive install-exec-am: install-exec: install-exec-recursive install-data-am: install-data: install-data-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am install: install-recursive uninstall-am: uninstall: uninstall-recursive all-am: Makefile all-redirect: all-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: installdirs-recursive installdirs-am: mostlyclean-generic: clean-generic: distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: mostlyclean-am: mostlyclean-tags mostlyclean-generic mostlyclean: mostlyclean-recursive clean-am: clean-tags clean-generic mostlyclean-am clean: clean-recursive distclean-am: distclean-tags distclean-generic clean-am distclean: distclean-recursive maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \ distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." maintainer-clean: maintainer-clean-recursive .PHONY: install-data-recursive uninstall-data-recursive \ install-exec-recursive uninstall-exec-recursive installdirs-recursive \ uninstalldirs-recursive all-recursive check-recursive \ installcheck-recursive info-recursive dvi-recursive \ mostlyclean-recursive distclean-recursive clean-recursive \ maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ install-exec install-data-am install-data install-am install \ uninstall-am uninstall all-redirect all-am all installdirs-am \ installdirs mostlyclean-generic distclean-generic clean-generic \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean # 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: hardware-monitor-0.2/help/Makefile.am0000644000175000017500000000001407615767162013316 SUBDIRS = C hardware-monitor-0.2/help/C/0000777000175000017500000000000007617564733011536 5hardware-monitor-0.2/help/C/Makefile.in0000644000175000017500000001416107617564733013522 # Makefile.in generated automatically by automake 1.4-p6 from Makefile.am # Copyright (C) 1994, 1995-8, 1999, 2001 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. SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CXX = @CXX@ DATADIRNAME = @DATADIRNAME@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ PACKAGE = @PACKAGE@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ helpdir = $(datadir)/gnome/help/$(PACKAGE)/C help_DATA = topic.dat EXTRA_DIST = $(help_DATA) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../../config.h CONFIG_CLEAN_FILES = DATA = $(help_DATA) DIST_COMMON = Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar GZIP_ENV = --best all: all-redirect .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps help/C/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status install-helpDATA: $(help_DATA) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(helpdir) @list='$(help_DATA)'; for p in $$list; do \ if test -f $(srcdir)/$$p; then \ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(helpdir)/$$p"; \ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(helpdir)/$$p; \ else if test -f $$p; then \ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(helpdir)/$$p"; \ $(INSTALL_DATA) $$p $(DESTDIR)$(helpdir)/$$p; \ fi; fi; \ done uninstall-helpDATA: @$(NORMAL_UNINSTALL) list='$(help_DATA)'; for p in $$list; do \ rm -f $(DESTDIR)$(helpdir)/$$p; \ done tags: TAGS TAGS: distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) subdir = help/C distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done info-am: info: info-am dvi-am: dvi: dvi-am check-am: all-am check: check-am installcheck-am: installcheck: installcheck-am install-exec-am: install-exec: install-exec-am install-data-am: install-helpDATA install-data: install-data-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am install: install-am uninstall-am: uninstall-helpDATA uninstall: uninstall-am all-am: Makefile $(DATA) all-redirect: all-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: $(mkinstalldirs) $(DESTDIR)$(helpdir) mostlyclean-generic: clean-generic: distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: mostlyclean-am: mostlyclean-generic mostlyclean: mostlyclean-am clean-am: clean-generic mostlyclean-am clean: clean-am distclean-am: distclean-generic clean-am distclean: distclean-am maintainer-clean-am: maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." maintainer-clean: maintainer-clean-am .PHONY: uninstall-helpDATA install-helpDATA tags distdir info-am info \ dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ install-exec install-data-am install-data install-am install \ uninstall-am uninstall all-redirect all-am all installdirs \ mostlyclean-generic distclean-generic clean-generic \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean # 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: hardware-monitor-0.2/help/C/Makefile.am0000644000175000017500000000014007615767162013500 helpdir = $(datadir)/gnome/help/$(PACKAGE)/C help_DATA = topic.dat EXTRA_DIST = $(help_DATA) hardware-monitor-0.2/help/C/topic.dat0000644000175000017500000000012407615767162013256 gnome-hello.html GnomeHello manual advanced.html Advanced Topics