gpaint-2-0.3.3/0000777000076400007640000000000010671212061010147 500000000000000gpaint-2-0.3.3/Makefile.in0000664000076400007640000002727710671212060012150 00000000000000# 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 = : host_alias = @host_alias@ host_triplet = @host@ AR = @AR@ AS = @AS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CXX = @CXX@ CXXCPP = @CXXCPP@ DATADIRNAME = @DATADIRNAME@ DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ GCJ = @GCJ@ GCJFLAGS = @GCJFLAGS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GUI_CFLAGS = @GUI_CFLAGS@ GUI_LIBS = @GUI_LIBS@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ 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@ PRINT_CFLAGS = @PRINT_CFLAGS@ PRINT_LIBS = @PRINT_LIBS@ RANLIB = @RANLIB@ RC = @RC@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ SUBDIRS = po src EXTRA_DIST = \ gpaint.desktop \ gpaint.spec \ gpaint.glade \ gpaint.gladep gladedir = $(datadir)/gpaint/glade glade_DATA = gpaint.glade ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = DATA = $(glade_DATA) DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL \ Makefile.am Makefile.in NEWS THANKS TODO aclocal.m4 config.guess \ config.sub configure configure.in install-sh ltmain.sh missing \ mkinstalldirs DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = gtar 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) 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 # 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 $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) 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 $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook 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-gladeDATA install-data-local install-data: install-data-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am install: install-recursive uninstall-am: uninstall-gladeDATA uninstall: uninstall-recursive all-am: Makefile $(DATA) all-redirect: all-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: installdirs-recursive installdirs-am: $(mkinstalldirs) $(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-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 -rm -f libtool distclean: distclean-recursive -rm -f config.status 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 -rm -f config.status .PHONY: uninstall-gladeDATA install-gladeDATA 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-local 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 install-data-local: @$(NORMAL_INSTALL) dist-hook: if test -d $(srcdir)/pixmaps; then \ mkdir $(distdir)/pixmaps; \ for pixmap in $(srcdir)/pixmaps/*; do \ if test -f $$pixmap; then \ cp -p $$pixmap $(distdir)/pixmaps; \ fi \ done \ fi # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gpaint-2-0.3.3/README0000664000076400007640000000513310671210753010755 00000000000000 This is gpaint (GNU Paint) version 0.3.3, a small-scale painting program for GNOME, the GNU Desktop. Gpaint does not attempt to compete with GIMP. Think of GIMP is like Photoshop as gpaint is like Windows Paint. Gpaint is still work in progress and many features are still being developed. However, gpaint is usable already for simple image editing.. Changes in this version: * Switch to using libglade; now libglade is a requirement for gpaint * some UI adjustment in dialogs to fit the GNOME convention; using the Gtk+ standard about box * Using GtkPrint to do printing when gtk+ version is >= 2.10; only basic support is in place for now Currently gpaint has the following features: * Drawing tools--ovals, freehand, polygon, text, with fill or shallow for polygons and closed freehand, and brushes. * Cut and paste by selecting regions or polygons. * Print support using gnome-print (basic functionality is there) * Modern, ease-to-use user interface with tool and color palettes * Editing multiple image at the same time without running multiple instance of the image editor * All image processing features present in xpaint This version of gpaint requires the GNOME 2.0 environment. This version uses the gdk-pixbuf library to handle image loading and saving. So currently gpaint's image saving is limited to the formats supported by gdk-pixbuf. Gpaint now uses Pango to do text drawing. Currently English multi-line texts work; non-English languages are not tested and input methods like SCIM are not yet properly supported; this is to be addressed. A large part of gpaint is derived from xpaint 2.4.9, authored by David Koblas and later Torsten Martinsen. The gpaint project is hosted on the GNU Savannah project site. http://savannah.gnu.org/projects/gpaint/ gpaint development utilizes the GNU Arch Revision Control System; The development source is hosted at Archive name: atai@gnu.org--gpaint URL: http://arch.gnu.org/archives/gpaint/atai@gnu.org--gpaint/ branch: atai@gnu.org--gpaint/gpaint--main--1.0 For bugs report at https://savannah.gnu.org/bugs/?func=additem&group=gpaint Future development plans: I plan to incorporate the recent printing features of gtk+ and to move away from gnomeprint. Ehnancing international text support using Pango is the immediate next steps. Dialogs to set the parameters for the xpaint-derived image processing functions are planned. Also planned is the incorporation of a small extension language in the code base to support high level app logic. For general comments please send mail to Andy Tai gpaint-2-0.3.3/ABOUT-NLS0000664000076400007640000002660307172011161011323 00000000000000Notes on the Free Translation Project ************************************* Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do *not* need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work at translations should contact the appropriate team. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. One advise in advance ===================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias or message inheritance) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need not provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. INSTALL Matters =============== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system provides usable `catgets' (if using this is selected by the installer) or `gettext' functions. If neither is available, the GNU `gettext' own library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is *not* required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --with-catgets ./configure --disable-nls will respectively bypass any pre-existing `catgets' or `gettext' to use the internationalizing routines provided within this package, enable the use of the `catgets' functions (if found on the locale system), or else, *totally* disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl.a' file and will decide to use this. This might be not what is desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. By default the configuration process will not test for the `catgets' function and therefore they will not be used. The reasons are already given above: the emulation on top of `catgets' cannot provide all the extensions provided by the GNU `gettext' library. If you nevertheless want to use the `catgets' functions use ./configure --with-catgets to enable the test for `catgets' (this causes no harm if `catgets' is not available on your system). If you really select this option we would like to hear about the reasons because we cannot think of any good one ourself. Internationalized packages have usually many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. Using This Package ================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate ISO 639 `LL' two-letter code prior to using the programs in the package. For example, let's suppose that you speak German. At the shell prompt, merely execute `setenv LANG de' (in `csh'), `export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. An operating system might already offer message localization for many of its programs, while other programs have been installed locally with the full capabilities of GNU `gettext'. Just using `gettext' extended syntax for `LANG' would break proper localization of already available operating system programs. In this case, users should set both `LANGUAGE' and `LANG' variables in their environment, as programs using GNU `gettext' give preference to `LANGUAGE'. For example, some Swedish users would rather read translations in German than English for when Swedish is not available. This is easily accomplished by setting `LANGUAGE' to `sv:de' while leaving `LANG' to `sv'. Translating Teams ================= For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list, courtesy of Linux International. You may reach your translation team at the address `LL@li.org', replacing LL by the two-letter ISO 639 code for your language. Language codes are *not* the same as the country codes given in ISO 3166. The following translation teams exist, as of December 1997: Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en', Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian `hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja', Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish `pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es', Swedish `sv', and Turkish `tr'. For example, you may reach the Chinese translation team by writing to `zh@li.org'. If you'd like to volunteer to *work* at translating messages, you should become a member of the translating team for your own language. The subscribing address is *not* the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate *actively* in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `translation@iro.umontreal.ca' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skill are praised more than programming skill, here. Available Packages ================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of December 1997. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination. Ready PO files cs da de en es fi fr it ja ko nl no pl pt ru sl sv .----------------------------------------------------. bash | [] [] [] | 3 bison | [] [] [] | 3 clisp | [] [] [] [] | 4 cpio | [] [] [] [] [] [] | 6 diffutils | [] [] [] [] [] | 5 enscript | [] [] [] [] [] [] | 6 fileutils | [] [] [] [] [] [] [] [] [] [] | 10 findutils | [] [] [] [] [] [] [] [] [] | 9 flex | [] [] [] [] | 4 gcal | [] [] [] [] [] | 5 gettext | [] [] [] [] [] [] [] [] [] [] [] | 12 grep | [] [] [] [] [] [] [] [] [] [] | 10 hello | [] [] [] [] [] [] [] [] [] [] [] | 11 id-utils | [] [] [] | 3 indent | [] [] [] [] [] | 5 libc | [] [] [] [] [] [] [] | 7 m4 | [] [] [] [] [] [] | 6 make | [] [] [] [] [] [] | 6 music | [] [] | 2 ptx | [] [] [] [] [] [] [] [] | 8 recode | [] [] [] [] [] [] [] [] [] | 9 sh-utils | [] [] [] [] [] [] [] [] | 8 sharutils | [] [] [] [] [] [] | 6 tar | [] [] [] [] [] [] [] [] [] [] [] | 11 texinfo | [] [] [] | 3 textutils | [] [] [] [] [] [] [] [] [] | 9 wdiff | [] [] [] [] [] [] [] [] | 8 `----------------------------------------------------' 17 languages cs da de en es fi fr it ja ko nl no pl pt ru sl sv 27 packages 6 4 25 1 18 1 26 2 1 12 20 9 19 7 4 7 17 179 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If December 1997 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. gpaint-2-0.3.3/AUTHORS0000664000076400007640000000012207444624053011144 00000000000000Li-Cheng (Andy) Tai (atai@atai.org) Michael A. Meffie III (meffiem@neo.rr.com) gpaint-2-0.3.3/COPYING0000664000076400007640000010451310645354030011130 00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. 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 them 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 prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. 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. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey 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; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If 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 convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU 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 that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. 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. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 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. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. 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 state 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program 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, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . gpaint-2-0.3.3/ChangeLog0000664000076400007640000000464210634163572011660 00000000000000 June 11, 2007 Andy Tai * patch 3838 from Goedson Teixeira Paixao for updated pt_BR translation applied * patch 3839 from Goedson Teixeira Paixao for eliminating gcc warnings applied * patch 5700, from Yavor Doganov , New Bulgarian (bg) translation applied * patch 5746, from Goedson Teixeira Paixao , German translation, applied * patch 5894, from Goedson Teixeira Paixao for Use GtkFileChooser for the open and save dialogs applied; also some fix for the German translation * patch 5895, from Goedson Teixeira Paixao implementing rectangular selection applied * patch from Yavor Doganov fixing bug 18842 applied; also fixing the modal dialog when opening a file fails November 12, 2002 Andy Tai * Port to the GNOME 2 platform, also minor bug fixes File name specification via the initial command line added. October 28, 2002 Andy Tai * fix build problems with resp. to recent Gnome 1.4 libraries March 16, 2002 Andy Tai (atai@gnu.org) These changes are contributed by Michael A. Meffie III. * Michael added to author list, about box * released version 0.2.2 * The menu is re-arranged so it is now much more user friendly. * Initial brush tool implementation. * Improvement to the eraser tool. * Bug fix in clipboard, and more sensible initial color settings * General usability improvements so gpaint is much more usable! * Added the TODO file. January 13, 2002 Andy Tai (atai@gnu.org) * released version 0.2.1 * Icons now smaller, so the toolbar takes less space * First attempt at support RPM creation * Updated to work with the GNOME 1.4 platform * First implementation of image flipping and envolving infrastructure for future interactive rotation and shearing * Improve image paste with better manual control November 20, 2000 Andy Tai (atai@gnu.org) * released version 0.2 * Printing support added * Now works in 8, 16 24 and 32 bit screens * Cut, paste support added * bug fixes * Color palette added to UI October 24, 2000 Andy Tai (atai@atai.org) * Version 0.1.1 released. Improvement of text tool, save as implemented, image saving more robust. Selection display implemented. October 16 2000 Andy Tai (atai@atai.org) * Version 0.1 released. gpaint-2-0.3.3/INSTALL0000664000076400007640000001722707557725434011155 00000000000000Basic 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. gpaint-2-0.3.3/Makefile.am0000664000076400007640000000100510667074551012134 00000000000000## Process this file with automake to produce Makefile.in SUBDIRS = po src EXTRA_DIST = \ gpaint.desktop \ gpaint.spec \ gpaint.glade \ gpaint.gladep gladedir = $(datadir)/gpaint/glade glade_DATA = gpaint.glade install-data-local: @$(NORMAL_INSTALL) dist-hook: if test -d $(srcdir)/pixmaps; then \ mkdir $(distdir)/pixmaps; \ for pixmap in $(srcdir)/pixmaps/*; do \ if test -f $$pixmap; then \ cp -p $$pixmap $(distdir)/pixmaps; \ fi \ done \ fi gpaint-2-0.3.3/NEWS0000664000076400007640000000363410163167626010606 00000000000000 Version 0.3.0-pre3 (December 2004) * New code structure ported from GNOME-1 branch. * Automatically build without printing support if the gnome print libraries are not present. * Show a "*" in the window title bar when the drawing is modified. * Prompt to save if closing a modified drawing (adapted from patch 944) Version 0.2.4 (November 2004) Applied patches from Goedson's debian package. * User is prompted to save changes on program exit. * Updated gnome print library Version 0.2.3 (November 12, 2002) * Port to GNOME 2. Some minor bug fixes. Otherwise features remain unchanged. Now only depends on gdk-pixbuf, thus image saving is limited to jpg and png for the time being. Now files can be opened by passing their names in the command line. Version 0.2.2.1 (October 29, 2002) * Mainly a bug fix release, fixing build problems with respect to recent GNOME 1.4 releases Version 0.2.2 (March 16, 2002) These changes are contributed by Michael A. Meffie III. * The menu is re-arranged so it is now much more user friendly. * Initial brush tool implementation. * Improvement to the eraser tool. * Bug fix in clipboard, and more sensible initial color settings * General usability improvements so gpaint is much more usable! * Added the TODO file. Version 0.2.1 (January 13, 2002) * Icons now smaller, so the toolbar takes less space * First attempt at support RPM creation * Updated to work with the GNOME 1.4 platform * First implementation of image flipping and envolving infrastructure for future interactive rotation and shearing * Improve image paste with better manual control Version 0.2 (November 20, 2000) * Printing support added * Now works in 8, 16 24 and 32 bit screens * Cut, paste support added * bug fixes * Color palette added to UI Version 0.1 (October 16, 2000) * First release development version. gpaint-2-0.3.3/THANKS0000664000076400007640000000064110163167626011015 00000000000000 Thanks to Andy Tai for creating GNU Paint! Thanks to Helen Meffie for helping to test gpaint! Thanks to Goedson Teixeira Paixao for gpaint debian package maintenance and many patches. Thanks to Pierre Sarrazin and George Farris for providing the initial version of the .spec and .desktop files. Thanks to SATO Satoru and Kazuya NUMATA for Japanese messageo catalogs. gpaint-2-0.3.3/TODO0000664000076400007640000000714210667065776010611 00000000000000 TODO for gpaint Working toward version 0.4.0 ========================================================================= BUGS * File Save As: Prompt to confirm file overwrite if filename already exists * Flip image while selection is blinking causes selection line droppings. * Multiline problems - line segment banding is not right. second point should be set upon mouse release, not mouse down - need to indicate current end point (blink?) - need to clear end point when drawing is cleared - sometimes color is inverted at corners * Font cursor droppings - font cursor is blinking while rotate selected can cause cursor droppings on the image. * gdk-critical - select long font name, line width widget disappears - detaching tool bar causes gdk-critical errors and crashes * tool button selection weirdness? sometimes the tool needs to be selected more than once because it is being deselected after the first click (?) * prompt to save file does not allow the user to select a the file name when it is untitled. Picks untitled.png and overwrites the existing untitled.png without warning. ========================================================================= To be finished * Curve Tool Button - implement or drop? This is implemented as a spline in Xpaint. Most likely this button will be replaced with a spray can tool button. * Spray Paint Tool - The spray can tool, also known as the airbrush. * Bold/Italics buttons are grayed out. ========================================================================= Critical Missing Features * Undo Feature - Should be able to undo and redo changes to the drawing. * Help Topics - online user documentation ========================================================================= Nice to have new features * Nicer about box, with credits and a better logo. * Paint Brush Tool - select different kinds of brush tips. Note: square brush is the only tip now. * Following xpaint, the "image processing" routines need dialog boxes to allow users to change certain parameters. (Right now the parameters are hard coded to certain default value, not adjustible by the user.) * We want fill patterns and line widths selectable by the user. (Right now there is a crude line width select control and no fill pattern dialog box.) * Printing--right now there is little or no printing control (user interfaces)--we may borrow the code from eog for this. * Cursors - Need better mouse cursors to indicate the current selected tool, and to indicate the area to be changed. For example, the eraser cursor should show which pixels will be erased. Currently there is a cross hair, which shows just the center of the area. * Tool Bar Icons - I would like to see nicer icons for some of the tools. * Blocking Operations - Some menu selections, such as grabbing the desktop and some of the image processing functions, take a very long time. When these functions are running, the application is not responsive and the main window does not repaint after the menu pop up is dismissed. Could these time expensive tasks be processed in "the background"? * File Formats - It would be nice to be able to select the format type in the save dialog. * Zoom - Fixed size zoom (like the "fat bits" feature of xpaint, set to 1:6) * print, zoom-in/out adjustment (right now user has no control) ========================================================================= Future Release * adding variable zooming to the image window (like xpaint can do) * Drag and drop support * libglade support (?) gpaint-2-0.3.3/aclocal.m40000664000076400007640000076400610671211764011753 00000000000000dnl 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. # 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)]) # 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]) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # serial 48 AC_PROG_LIBTOOL # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) # ----------------------------------------------------------- # If this macro is not defined by Autoconf, define it here. m4_ifdef([AC_PROVIDE_IFELSE], [], [m4_define([AC_PROVIDE_IFELSE], [m4_ifdef([AC_PROVIDE_$1], [$2], [$3])])]) # AC_PROG_LIBTOOL # --------------- AC_DEFUN([AC_PROG_LIBTOOL], [AC_REQUIRE([_AC_PROG_LIBTOOL])dnl dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. AC_PROVIDE_IFELSE([AC_PROG_CXX], [AC_LIBTOOL_CXX], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX ])]) dnl And a similar setup for Fortran 77 support AC_PROVIDE_IFELSE([AC_PROG_F77], [AC_LIBTOOL_F77], [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 ])]) dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [AC_LIBTOOL_GCJ], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [AC_LIBTOOL_GCJ], [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], [AC_LIBTOOL_GCJ], [ifdef([AC_PROG_GCJ], [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) ifdef([A][M_PROG_GCJ], [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) ifdef([LT_AC_PROG_GCJ], [define([LT_AC_PROG_GCJ], defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) ])])# AC_PROG_LIBTOOL # _AC_PROG_LIBTOOL # ---------------- AC_DEFUN([_AC_PROG_LIBTOOL], [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl # Prevent multiple expansion define([AC_PROG_LIBTOOL], []) ])# _AC_PROG_LIBTOOL # AC_LIBTOOL_SETUP # ---------------- AC_DEFUN([AC_LIBTOOL_SETUP], [AC_PREREQ(2.50)dnl AC_REQUIRE([AC_ENABLE_SHARED])dnl AC_REQUIRE([AC_ENABLE_STATIC])dnl AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_LD])dnl AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl AC_REQUIRE([AC_PROG_NM])dnl AC_REQUIRE([AC_PROG_LN_S])dnl AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! AC_REQUIRE([AC_OBJEXT])dnl AC_REQUIRE([AC_EXEEXT])dnl dnl AC_LIBTOOL_SYS_MAX_CMD_LEN AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE AC_LIBTOOL_OBJDIR AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl _LT_AC_PROG_ECHO_BACKSLASH case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed='sed -e 1s/^X//' [sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] # Same as above, but do not quote variable references. [double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Constants: rm="rm -f" # Global variables: default_ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a ltmain="$ac_aux_dir/ltmain.sh" ofile="$default_ofile" with_gnu_ld="$lt_cv_prog_gnu_ld" AC_CHECK_TOOL(AR, ar, false) AC_CHECK_TOOL(RANLIB, ranlib, :) AC_CHECK_TOOL(STRIP, strip, :) old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru test -z "$AS" && AS=as test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$DLLTOOL" && DLLTOOL=dlltool test -z "$LD" && LD=ld test -z "$LN_S" && LN_S="ln -s" test -z "$MAGIC_CMD" && MAGIC_CMD=file test -z "$NM" && NM=nm test -z "$SED" && SED=sed test -z "$OBJDUMP" && OBJDUMP=objdump test -z "$RANLIB" && RANLIB=: test -z "$STRIP" && STRIP=: test -z "$ac_objext" && ac_objext=o # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then AC_PATH_MAGIC fi ;; esac AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], enable_win32_dll=yes, enable_win32_dll=no) AC_ARG_ENABLE([libtool-lock], [AC_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes AC_ARG_WITH([pic], [AC_HELP_STRING([--with-pic], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [pic_mode="$withval"], [pic_mode=default]) test -z "$pic_mode" && pic_mode=default # Use C for the default configuration in the libtool script tagname= AC_LIBTOOL_LANG_C_CONFIG _LT_AC_TAGCONFIG ])# AC_LIBTOOL_SETUP # _LT_AC_SYS_COMPILER # ------------------- AC_DEFUN([_LT_AC_SYS_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_AC_SYS_COMPILER # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. AC_DEFUN([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` ]) # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. AC_DEFUN([_LT_COMPILER_BOILERPLATE], [ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. AC_DEFUN([_LT_LINKER_BOILERPLATE], [ac_outfile=conftest.$ac_objext printf "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_LINKER_BOILERPLATE # _LT_AC_SYS_LIBPATH_AIX # ---------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], [AC_LINK_IFELSE(AC_LANG_PROGRAM,[ aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'`; fi],[]) if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ])# _LT_AC_SYS_LIBPATH_AIX # _LT_AC_SHELL_INIT(ARG) # ---------------------- AC_DEFUN([_LT_AC_SHELL_INIT], [ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], [AC_DIVERT_PUSH(NOTICE)]) $1 AC_DIVERT_POP ])# _LT_AC_SHELL_INIT # _LT_AC_PROG_ECHO_BACKSLASH # -------------------------- # Add some code to the start of the generated configure script which # will find an echo command which doesn't interpret backslashes. AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], [_LT_AC_SHELL_INIT([ # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} case X$ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` ;; esac echo=${ECHO-echo} if test "X[$]1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X[$]1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then # Yippee, $echo works! : else # Restart under the correct shell. exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} fi if test "X[$]1" = X--fallback-echo; then # used as fallback echo shift cat </dev/null 2>&1 && unset CDPATH if test -z "$ECHO"; then if test "X${echo_test_string+set}" != Xset; then # find a string as large as possible, as long as the shell can cope with it for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... if (echo_test_string=`eval $cmd`) 2>/dev/null && echo_test_string=`eval $cmd` && (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null then break fi done fi if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then : else # The Solaris, AIX, and Digital Unix default echo programs unquote # backslashes. This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' # # So, first we look for a working echo in the user's PATH. lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for dir in $PATH /usr/ucb; do IFS="$lt_save_ifs" if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then echo="$dir/echo" break fi done IFS="$lt_save_ifs" if test "X$echo" = Xecho; then # We didn't find a better echo, so look for alternatives. if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # This shell has a builtin print -r that does the trick. echo='print -r' elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && test "X$CONFIG_SHELL" != X/bin/ksh; then # If we have ksh, try running configure again with it. ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} export ORIGINAL_CONFIG_SHELL CONFIG_SHELL=/bin/ksh export CONFIG_SHELL exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} else # Try using printf. echo='printf %s\n' if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # Cool, printf works : elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL export CONFIG_SHELL SHELL="$CONFIG_SHELL" export SHELL echo="$CONFIG_SHELL [$]0 --fallback-echo" elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then echo="$CONFIG_SHELL [$]0 --fallback-echo" else # maybe with a smaller string... prev=: for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null then break fi prev="$cmd" done if test "$prev" != 'sed 50q "[$]0"'; then echo_test_string=`eval $prev` export echo_test_string exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} else # Oops. We lost completely, so just stick with echo. echo=echo fi fi fi fi fi fi # Copy echo and quote the copy suitably for passing to libtool from # the Makefile, instead of quoting the original, which is used later. ECHO=$echo if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" fi AC_SUBST(ECHO) ])])# _LT_AC_PROG_ECHO_BACKSLASH # _LT_AC_LOCK # ----------- AC_DEFUN([_LT_AC_LOCK], [AC_ARG_ENABLE([libtool-lock], [AC_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '[#]line __oline__ "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) LD="${LD-ld} -64" ;; esac ;; esac fi rm -rf conftest* ;; AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], [*-*-cygwin* | *-*-mingw* | *-*-pw32*) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; ]) esac need_locks="$enable_libtool_lock" ])# _LT_AC_LOCK # AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [AC_REQUIRE([LT_AC_PROG_SED]) AC_CACHE_CHECK([$1], [$2], [$2=no ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $rm conftest* ]) if test x"[$]$2" = xyes; then ifelse([$5], , :, [$5]) else ifelse([$6], , :, [$6]) fi ])# AC_LIBTOOL_COMPILER_OPTION # AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ------------------------------------------------------------ # Check whether the given compiler option works AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" printf "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" ]) if test x"[$]$2" = xyes; then ifelse([$4], , :, [$4]) else ifelse([$5], , :, [$5]) fi ])# AC_LIBTOOL_LINKER_OPTION # AC_LIBTOOL_SYS_MAX_CMD_LEN # -------------------------- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [# find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # Add a significant safety factor because C++ compilers can tack on massive # amounts of additional arguments before passing them to the linker. # It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi ])# AC_LIBTOOL_SYS_MAX_CMD_LEN # _LT_AC_CHECK_DLFCN # ------------------ AC_DEFUN([_LT_AC_CHECK_DLFCN], [AC_CHECK_HEADERS(dlfcn.h)dnl ])# _LT_AC_CHECK_DLFCN # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # --------------------------------------------------------------------- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl if test "$cross_compiling" = yes; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif #ifdef __cplusplus extern "C" void exit (int); #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); exit (status); }] EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_AC_TRY_DLOPEN_SELF # AC_LIBTOOL_DLOPEN_SELF # ---------------------- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen="dlopen"], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) ]) ]) ]) ]) ]) ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_AC_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_AC_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi ])# AC_LIBTOOL_DLOPEN_SELF # AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) # --------------------------------- # Check to see if options -c and -o are simultaneously supported by compiler AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* ]) ])# AC_LIBTOOL_PROG_CC_C_O # AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) # ----------------------------------------- # Check to see if we can do hard links to lock some files if needed AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_REQUIRE([_LT_AC_LOCK])dnl hard_links="nottested" if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $rm conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test "$hard_links" = no; then AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi ])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS # AC_LIBTOOL_OBJDIR # ----------------- AC_DEFUN([AC_LIBTOOL_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir ])# AC_LIBTOOL_OBJDIR # AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) # ---------------------------------------------- # Check hardcoding attributes. AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_AC_TAGVAR(hardcode_action, $1)= if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then # We can hardcode non-existant directories. if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then # Linking always hardcodes the temporary library directory. _LT_AC_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_AC_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_AC_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi ])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH # AC_LIBTOOL_SYS_LIB_STRIP # ------------------------ AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], [striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi ])# AC_LIBTOOL_SYS_LIB_STRIP # AC_LIBTOOL_SYS_DYNAMIC_LINKER # ----------------------------- # PORTME Fill in your ld.so characteristics AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_MSG_CHECKING([dynamic linker characteristics]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix4* | aix5*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` else sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' fi sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; kfreebsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='GNU ld.so' ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[123]]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; freebsd*) # from 4.6 on shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix3*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # find out which ABI we are using libsuff= case "$host_cpu" in x86_64*|s390x*|powerpc64*) echo '[#]line __oline__ "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *64-bit*) libsuff=64 sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" ;; esac fi rm -rf conftest* ;; esac # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; knetbsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='GNU ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; nto-qnx*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[[89]] | openbsd2.[[89]].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER # _LT_AC_TAGCONFIG # ---------------- AC_DEFUN([_LT_AC_TAGCONFIG], [AC_ARG_WITH([tags], [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], [include additional configurations @<:@automatic@:>@])], [tagnames="$withval"]) if test -f "$ltmain" && test -n "$tagnames"; then if test ! -f "${ofile}"; then AC_MSG_WARN([output file `$ofile' does not exist]) fi if test -z "$LTCC"; then eval "`$SHELL ${ofile} --config | grep '^LTCC='`" if test -z "$LTCC"; then AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) else AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) fi fi if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" fi # Extract list of available tagged configurations in $ofile. # Note that this assumes the entire list is on one line. available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for tagname in $tagnames; do IFS="$lt_save_ifs" # Check whether tagname contains only valid characters case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in "") ;; *) AC_MSG_ERROR([invalid tag name: $tagname]) ;; esac if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null then AC_MSG_ERROR([tag name \"$tagname\" already exists]) fi # Update the list of available tags. if test -n "$tagname"; then echo appending configuration tag \"$tagname\" to $ofile case $tagname in CXX) if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_LIBTOOL_LANG_CXX_CONFIG else tagname="" fi ;; F77) if test -n "$F77" && test "X$F77" != "Xno"; then AC_LIBTOOL_LANG_F77_CONFIG else tagname="" fi ;; GCJ) if test -n "$GCJ" && test "X$GCJ" != "Xno"; then AC_LIBTOOL_LANG_GCJ_CONFIG else tagname="" fi ;; RC) AC_LIBTOOL_LANG_RC_CONFIG ;; *) AC_MSG_ERROR([Unsupported tag name: $tagname]) ;; esac # Append the new tag name to the list of available tags. if test -n "$tagname" ; then available_tags="$available_tags $tagname" fi fi done IFS="$lt_save_ifs" # Now substitute the updated list of available tags. if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then mv "${ofile}T" "$ofile" chmod +x "$ofile" else rm -f "${ofile}T" AC_MSG_ERROR([unable to update list of available tagged configurations.]) fi fi ])# _LT_AC_TAGCONFIG # AC_LIBTOOL_DLOPEN # ----------------- # enable checks for dlopen support AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) ])# AC_LIBTOOL_DLOPEN # AC_LIBTOOL_WIN32_DLL # -------------------- # declare package support for building win32 DLLs AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) ])# AC_LIBTOOL_WIN32_DLL # AC_ENABLE_SHARED([DEFAULT]) # --------------------------- # implement the --enable-shared flag # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. AC_DEFUN([AC_ENABLE_SHARED], [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl AC_ARG_ENABLE([shared], [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_shared=]AC_ENABLE_SHARED_DEFAULT) ])# AC_ENABLE_SHARED # AC_DISABLE_SHARED # ----------------- # set the default shared flag to --disable-shared AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_ENABLE_SHARED(no) ])# AC_DISABLE_SHARED # AC_ENABLE_STATIC([DEFAULT]) # --------------------------- # implement the --enable-static flag # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. AC_DEFUN([AC_ENABLE_STATIC], [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl AC_ARG_ENABLE([static], [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_static=]AC_ENABLE_STATIC_DEFAULT) ])# AC_ENABLE_STATIC # AC_DISABLE_STATIC # ----------------- # set the default static flag to --disable-static AC_DEFUN([AC_DISABLE_STATIC], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_ENABLE_STATIC(no) ])# AC_DISABLE_STATIC # AC_ENABLE_FAST_INSTALL([DEFAULT]) # --------------------------------- # implement the --enable-fast-install flag # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. AC_DEFUN([AC_ENABLE_FAST_INSTALL], [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl AC_ARG_ENABLE([fast-install], [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) ])# AC_ENABLE_FAST_INSTALL # AC_DISABLE_FAST_INSTALL # ----------------------- # set the default to --disable-fast-install AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_ENABLE_FAST_INSTALL(no) ])# AC_DISABLE_FAST_INSTALL # AC_LIBTOOL_PICMODE([MODE]) # -------------------------- # implement the --with-pic flag # MODE is either `yes' or `no'. If omitted, it defaults to `both'. AC_DEFUN([AC_LIBTOOL_PICMODE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl pic_mode=ifelse($#,1,$1,default) ])# AC_LIBTOOL_PICMODE # AC_PROG_EGREP # ------------- # This is predefined starting with Autoconf 2.54, so this conditional # definition can be removed once we require Autoconf 2.54 or later. m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], [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]) EGREP=$ac_cv_prog_egrep AC_SUBST([EGREP]) ])]) # AC_PATH_TOOL_PREFIX # ------------------- # find a file program which can recognise shared library AC_DEFUN([AC_PATH_TOOL_PREFIX], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="ifelse([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi ])# AC_PATH_TOOL_PREFIX # AC_PATH_MAGIC # ------------- # find a file program which can recognise a shared library AC_DEFUN([AC_PATH_MAGIC], [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# AC_PATH_MAGIC # AC_PROG_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([AC_PROG_LD], [AC_ARG_WITH([gnu-ld], [AC_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no]) AC_REQUIRE([LT_AC_PROG_SED])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix3*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux*) lt_cv_deplibs_check_method=pass_all ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; nto-qnx*) lt_cv_deplibs_check_method=unknown ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown ])# AC_DEPLIBS_CHECK_METHOD # AC_PROG_NM # ---------- # find the pathname to a BSD-compatible name lister AC_DEFUN([AC_PROG_NM], [AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi]) NM="$lt_cv_path_NM" ])# AC_PROG_NM # AC_CHECK_LIBM # ------------- # check for math library AC_DEFUN([AC_CHECK_LIBM], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM="-lm") ;; esac ])# AC_CHECK_LIBM # AC_LIBLTDL_CONVENIENCE([DIRECTORY]) # ----------------------------------- # sets LIBLTDL to the link flags for the libltdl convenience library and # LTDLINCL to the include flags for the libltdl header and adds # --enable-ltdl-convenience to the configure arguments. Note that # AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, # it is assumed to be `libltdl'. LIBLTDL will be prefixed with # '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' # (note the single quotes!). If your package is not flat and you're not # using automake, define top_builddir and top_srcdir appropriately in # the Makefiles. AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl case $enable_ltdl_convenience in no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; "") enable_ltdl_convenience=yes ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; esac LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) # For backwards non-gettext consistent compatibility... INCLTDL="$LTDLINCL" ])# AC_LIBLTDL_CONVENIENCE # AC_LIBLTDL_INSTALLABLE([DIRECTORY]) # ----------------------------------- # sets LIBLTDL to the link flags for the libltdl installable library and # LTDLINCL to the include flags for the libltdl header and adds # --enable-ltdl-install to the configure arguments. Note that # AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, # and an installed libltdl is not found, it is assumed to be `libltdl'. # LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with # '${top_srcdir}/' (note the single quotes!). If your package is not # flat and you're not using automake, define top_builddir and top_srcdir # appropriately in the Makefiles. # In the future, this macro may have to be called after AC_PROG_LIBTOOL. AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_CHECK_LIB(ltdl, lt_dlinit, [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], [if test x"$enable_ltdl_install" = xno; then AC_MSG_WARN([libltdl not installed, but installation disabled]) else enable_ltdl_install=yes fi ]) if test x"$enable_ltdl_install" = x"yes"; then ac_configure_args="$ac_configure_args --enable-ltdl-install" LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) else ac_configure_args="$ac_configure_args --enable-ltdl-install=no" LIBLTDL="-lltdl" LTDLINCL= fi # For backwards non-gettext consistent compatibility... INCLTDL="$LTDLINCL" ])# AC_LIBLTDL_INSTALLABLE # AC_LIBTOOL_CXX # -------------- # enable support for C++ libraries AC_DEFUN([AC_LIBTOOL_CXX], [AC_REQUIRE([_LT_AC_LANG_CXX]) ])# AC_LIBTOOL_CXX # _LT_AC_LANG_CXX # --------------- AC_DEFUN([_LT_AC_LANG_CXX], [AC_REQUIRE([AC_PROG_CXX]) AC_REQUIRE([_LT_AC_PROG_CXXCPP]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) ])# _LT_AC_LANG_CXX # _LT_AC_PROG_CXXCPP # ------------------ AC_DEFUN([_LT_AC_PROG_CXXCPP], [ AC_REQUIRE([AC_PROG_CXX]) if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP fi ])# _LT_AC_PROG_CXXCPP # AC_LIBTOOL_F77 # -------------- # enable support for Fortran 77 libraries AC_DEFUN([AC_LIBTOOL_F77], [AC_REQUIRE([_LT_AC_LANG_F77]) ])# AC_LIBTOOL_F77 # _LT_AC_LANG_F77 # --------------- AC_DEFUN([_LT_AC_LANG_F77], [AC_REQUIRE([AC_PROG_F77]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) ])# _LT_AC_LANG_F77 # AC_LIBTOOL_GCJ # -------------- # enable support for GCJ libraries AC_DEFUN([AC_LIBTOOL_GCJ], [AC_REQUIRE([_LT_AC_LANG_GCJ]) ])# AC_LIBTOOL_GCJ # _LT_AC_LANG_GCJ # --------------- AC_DEFUN([_LT_AC_LANG_GCJ], [AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) ])# _LT_AC_LANG_GCJ # AC_LIBTOOL_RC # ------------- # enable support for Windows resource files AC_DEFUN([AC_LIBTOOL_RC], [AC_REQUIRE([LT_AC_PROG_RC]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) ])# AC_LIBTOOL_RC # AC_LIBTOOL_LANG_C_CONFIG # ------------------------ # Ensure that the configuration vars for the C compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) AC_DEFUN([_LT_AC_LANG_C_CONFIG], [lt_save_CC="$CC" AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;\n" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}\n' _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) AC_LIBTOOL_PROG_COMPILER_PIC($1) AC_LIBTOOL_PROG_CC_C_O($1) AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) AC_LIBTOOL_SYS_LIB_STRIP AC_LIBTOOL_DLOPEN_SELF # Report which library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix4* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) AC_LIBTOOL_CONFIG($1) AC_LANG_POP CC="$lt_save_CC" ])# AC_LIBTOOL_LANG_C_CONFIG # AC_LIBTOOL_LANG_CXX_CONFIG # -------------------------- # Ensure that the configuration vars for the C compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], [AC_LANG_PUSH(C++) AC_REQUIRE([AC_PROG_CXX]) AC_REQUIRE([_LT_AC_PROG_CXXCPP]) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(allow_undefined_flag, $1)= _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(archive_expsym_cmds, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= _LT_AC_TAGVAR(hardcode_minus_L, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_AC_TAGVAR(hardcode_automatic, $1)=no _LT_AC_TAGVAR(module_cmds, $1)= _LT_AC_TAGVAR(module_expsym_cmds, $1)= _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_AC_TAGVAR(no_undefined_flag, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Dependencies to place before and after the object being linked: _LT_AC_TAGVAR(predep_objects, $1)= _LT_AC_TAGVAR(postdep_objects, $1)= _LT_AC_TAGVAR(predeps, $1)= _LT_AC_TAGVAR(postdeps, $1)= _LT_AC_TAGVAR(compiler_lib_search_path, $1)= # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;\n" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration AC_PROG_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ grep 'no-whole-archive' > /dev/null; then _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_AC_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_AC_TAGVAR(archive_cmds, $1)='' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GXX" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 _LT_AC_TAGVAR(hardcode_direct, $1)=yes else # We have old collect2 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[[012]]) _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[[012]]) _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_automatic, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GXX" = yes ; then lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then lt_int_apple_cc_single_mod=yes fi if test "X$lt_int_apple_cc_single_mod" = Xyes ; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds if test "X$lt_int_apple_cc_single_mod" = Xyes ; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' fi _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd[[12]]*) # C++ shared libraries reported to be fairly broken before switch to ELF _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | kfreebsd*-gnu | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_AC_TAGVAR(ld_shlibs, $1)=yes ;; gnu*) ;; hpux9*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' ;; *) _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix3*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi fi _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ;; linux*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc*) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC*) # Portland Group C++ compiler _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; openbsd2*) # C++ shared libraries are fairly broken _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' ;; osf3*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; cxx*) _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; cxx*) _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ $rm $lib.exp' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The C++ compiler is used as linker so we must use $wl # flag to pass the commands to the underlying system # linker. We must also pass each convience library through # to the system linker between allextract/defaultextract. # The C++ compiler will combine linker options so we # cannot just pass the convience library names through # without $wl. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; esac _LT_AC_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='echo' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | grep -v '^2\.7' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_AC_TAGVAR(GCC, $1)="$GXX" _LT_AC_TAGVAR(LD, $1)="$LD" AC_LIBTOOL_POSTDEP_PREDEP($1) AC_LIBTOOL_PROG_COMPILER_PIC($1) AC_LIBTOOL_PROG_CC_C_O($1) AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) AC_LIBTOOL_CONFIG($1) AC_LANG_POP CC=$lt_save_CC LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ldcxx=$with_gnu_ld with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld ])# AC_LIBTOOL_LANG_CXX_CONFIG # AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) # ------------------------------------ # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" ifelse([$1], [], [#! $SHELL # `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # 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. # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="$SED -e 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # The names of the tagged configurations supported by this script. available_tags= # ### BEGIN LIBTOOL CONFIG], [# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # An echo program that does not interpret backslashes. echo=$lt_echo # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A C compiler. LTCC=$lt_LTCC # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) # Is the compiler the GNU C compiler? with_gcc=$_LT_AC_TAGVAR(GCC, $1) # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_[]_LT_AC_TAGVAR(LD, $1) # Whether we need hard or soft links. LN_S=$lt_LN_S # A BSD-compatible nm program. NM=$lt_NM # A symbol stripping program STRIP=$lt_STRIP # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=$MAGIC_CMD # Used on cygwin: DLL creation program. DLLTOOL="$DLLTOOL" # Used on cygwin: object dumper. OBJDUMP="$OBJDUMP" # Used on cygwin: assembler. AS="$AS" # The name of the directory that contains temporary libtool files. objdir=$objdir # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) pic_mode=$pic_mode # What is the maximum length of a command? max_cmd_len=$lt_cv_sys_max_cmd_len # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) # Must we lock files when doing compilation? need_locks=$lt_need_locks # Do we need the lib prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) # Library versioning type. version_type=$version_type # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) # Commands used to build and install a shared archive. archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds # Commands used to build a loadable module (assumed same as above if empty) module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == file_magic. file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) # Flag that forces no undefined symbols. no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # Same as above, but a single script fragment to be evaled but not shown. finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # This is the shared library runtime path variable. runpath_var=$runpath_var # This is the shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does # not exist. hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) # Set to yes if building a shared library automatically hardcodes DIR into the library # and all subsequent libraries and executables linked against it. hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" # Set to yes if exported symbols are required. always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) # The commands to list exported symbols. export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) # Symbols that must always be exported. include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) ifelse([$1],[], [# ### END LIBTOOL CONFIG], [# ### END LIBTOOL TAG CONFIG: $tagname]) __EOF__ ifelse([$1],[], [ case $host_os in aix3*) cat <<\EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi EOF ;; esac # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || \ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ]) else # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the # libtool script then. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ])# AC_LIBTOOL_CONFIG # AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------------------- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi ])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE # --------------------------------- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_PROG_NM]) AC_REQUIRE([AC_OBJEXT]) # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Transform an extracted symbol line into a proper C declaration lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32*) symcode='[[ABCDGISTW]]' ;; hpux*) # Its linker distinguishes data from code symbols if test "$host_cpu" = ia64; then symcode='[[ABCDEGRST]]' fi lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ;; linux*) if test "$host_cpu" = ia64; then symcode='[[ABCDGIRSTW]]' lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if grep ' nm_test_var$' "$nlist" >/dev/null; then if grep ' nm_test_func$' "$nlist" >/dev/null; then cat < conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' cat <> conftest.$ac_ext #if defined (__STDC__) && __STDC__ # define lt_ptr_t void * #else # define lt_ptr_t char * # define const #endif /* The mapping between symbol names and symbols. */ const struct { const char *name; lt_ptr_t address; } lt_preloaded_symbols[[]] = { EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext cat <<\EOF >> conftest.$ac_ext {0, (lt_ptr_t) 0} }; #ifdef __cplusplus } #endif EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_save_LIBS="$LIBS" lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_save_LIBS" CFLAGS="$lt_save_CFLAGS" else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -f conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi ]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE # AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) # --------------------------------------- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], [_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= _LT_AC_TAGVAR(lt_prog_compiler_static, $1)= AC_MSG_CHECKING([for $compiler option to produce PIC]) ifelse([$1],[CXX],[ # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | os2* | pw32*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ;; interix3*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix4* | aix5*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; esac ;; dgux*) case $cc_basename in ec++*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | kfreebsd*-gnu | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux*) case $cc_basename in KCC*) # KAI C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; icpc* | ecpc*) # Intel C++ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC*) # Portland Group C++ compiler. _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; vxworks*) ;; *) _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test "$GCC" = yes; then _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; interix3*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; esac ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; newsos6) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; linux*) case $cc_basename in icc* | ecc*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; esac ;; osf3* | osf4* | osf5*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" ;; esac # # Check to make sure the static flag actually works. # wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) ]) # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) # ------------------------------------ # See if the linker supports building shared libraries. AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) ifelse([$1],[CXX],[ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix4* | aix5*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' else _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw*) _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' ;; *) _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac ],[ runpath_var= _LT_AC_TAGVAR(allow_undefined_flag, $1)= _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_AC_TAGVAR(archive_cmds, $1)= _LT_AC_TAGVAR(archive_expsym_cmds, $1)= _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_minus_L, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown _LT_AC_TAGVAR(hardcode_automatic, $1)=no _LT_AC_TAGVAR(module_cmds, $1)= _LT_AC_TAGVAR(module_expsym_cmds, $1)= _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_AC_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. extract_expsyms_cmds= # Just being paranoid about ensuring that cc_basename is set. _LT_CC_BASENAME([$compiler]) case $host_os in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac _LT_AC_TAGVAR(ld_shlibs, $1)=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. EOF fi ;; amigaos*) _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can't use # them. _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; interix3*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; linux*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. EOF elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then runpath_var= _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_AC_TAGVAR(always_export_symbols, $1)=yes _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' else _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_AC_TAGVAR(archive_cmds, $1)='' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GCC" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 _LT_AC_TAGVAR(hardcode_direct, $1)=yes else # We have old collect2 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # see comment about different semantics on the GNU ld section _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; bsdi[[45]]*) _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[[012]]) _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[[012]]) _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_automatic, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac fi ;; dgux*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; freebsd1*) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | kfreebsd*-gnu | dragonfly*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; openbsd*) _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else case $host_os in openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi ;; os2*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' else _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' if test "$GCC" = yes; then wlarc='${wl}' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine linker options so we # cannot just pass the convience library names through # without $wl, iff we do not link with $LD. # Luckily, gcc supports the same syntax we need for Sun Studio. # Supported since Solaris 2.6 (maybe 2.5.1?) case $wlarc in '') _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; *) _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; esac ;; esac _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_AC_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_AC_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac fi ]) AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $_LT_AC_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_MSG_CHECKING([whether -lc should be explicitly linked in]) $rm conftest* printf "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) _LT_AC_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) then _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no else _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) ;; esac fi ;; esac ])# AC_LIBTOOL_PROG_LD_SHLIBS # _LT_AC_FILE_LTDLL_C # ------------------- # Be careful that the start marker always follows a newline. AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ # /* ltdll.c starts here */ # #define WIN32_LEAN_AND_MEAN # #include # #undef WIN32_LEAN_AND_MEAN # #include # # #ifndef __CYGWIN__ # # ifdef __CYGWIN32__ # # define __CYGWIN__ __CYGWIN32__ # # endif # #endif # # #ifdef __cplusplus # extern "C" { # #endif # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); # #ifdef __cplusplus # } # #endif # # #ifdef __CYGWIN__ # #include # DECLARE_CYGWIN_DLL( DllMain ); # #endif # HINSTANCE __hDllInstance_base; # # BOOL APIENTRY # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) # { # __hDllInstance_base = hInst; # return TRUE; # } # /* ltdll.c ends here */ ])# _LT_AC_FILE_LTDLL_C # _LT_AC_TAGVAR(VARNAME, [TAGNAME]) # --------------------------------- AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) # old names AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) # This is just to silence aclocal about the macro not being used ifelse([AC_DISABLE_FAST_INSTALL]) AC_DEFUN([LT_AC_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj, no) test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS) ]) AC_DEFUN([LT_AC_PROG_RC], [AC_CHECK_TOOL(RC, windres, no) ]) # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # # LT_AC_PROG_SED # -------------- # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. AC_DEFUN([LT_AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_MSG_RESULT([$SED]) ]) # serial 1 # @defmac AC_PROG_CC_STDC # @maindex PROG_CC_STDC # @ovindex CC # If the C compiler in not in ANSI C mode by default, try to add an option # to output variable @code{CC} to make it so. This macro tries various # options that select ANSI C on some system or another. It considers the # compiler to be in ANSI C mode if it handles function prototypes correctly. # # If you use this macro, you should check after calling it whether the C # compiler has been set to accept ANSI C; if not, the shell variable # @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source # code in ANSI C, you can make an un-ANSIfied copy of it by using the # program @code{ansi2knr}, which comes with Ghostscript. # @end defmac AC_DEFUN([AM_PROG_CC_STDC], [AC_REQUIRE([AC_PROG_CC]) AC_BEFORE([$0], [AC_C_INLINE]) AC_BEFORE([$0], [AC_C_CONST]) dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require dnl a magic option to avoid problems with ANSI preprocessor commands dnl like #elif. dnl FIXME: can't do this because then AC_AIX won't work due to a dnl circular dependency. dnl AC_BEFORE([$0], [AC_PROG_CPP]) AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C) AC_CACHE_VAL(am_cv_prog_cc_stdc, [am_cv_prog_cc_stdc=no ac_save_CC="$CC" # 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 -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" AC_TRY_COMPILE( [#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; ], [ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ], [am_cv_prog_cc_stdc="$ac_arg"; break]) done CC="$ac_save_CC" ]) if test -z "$am_cv_prog_cc_stdc"; then AC_MSG_RESULT([none needed]) else AC_MSG_RESULT($am_cv_prog_cc_stdc) fi case "x$am_cv_prog_cc_stdc" in x|xno) ;; *) CC="$CC $am_cv_prog_cc_stdc" ;; esac ]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # # Copyright © 2004 Scott James Remnant . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # # Similar to PKG_CHECK_MODULES, make sure that the first instance of # this or PKG_CHECK_MODULES is called, or make sure to call # PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_ifval([$2], [$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$PKG_CONFIG"; then if test -n "$$1"; then pkg_cv_[]$1="$$1" else PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], [pkg_failed=yes]) fi else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` else $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD ifelse([$4], , [AC_MSG_ERROR(dnl [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT ])], [$4]) elif test $pkg_failed = untried; then ifelse([$4], , [AC_MSG_FAILURE(dnl [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])], [$4]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) ifelse([$3], , :, [$3]) fi[]dnl ])# PKG_CHECK_MODULES # Copyright (C) 1995-2002 Free Software Foundation, Inc. # Copyright (C) 2001-2003,2004 Red Hat, Inc. # # This file is free software, distributed under the terms of the GNU # General Public License. As a special exception to the GNU General # Public License, this file may be distributed as part of a program # that contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License # but which still want to provide support for the GNU gettext functionality. # # Macro to add for using GNU gettext. # Ulrich Drepper , 1995, 1996 # # Modified to never use included libintl. # Owen Taylor , 12/15/1998 # # Major rework to remove unused code # Owen Taylor , 12/11/2002 # # Added better handling of ALL_LINGUAS from GNU gettext version # written by Bruno Haible, Owen Taylor 5/30/3002 # # Modified to require ngettext # Matthias Clasen 08/06/2004 # # We need this here as well, since someone might use autoconf-2.5x # to configure GLib then an older version to configure a package # using AM_GLIB_GNU_GETTEXT AC_PREREQ(2.53) dnl dnl We go to great lengths to make sure that aclocal won't dnl try to pull in the installed version of these macros dnl when running aclocal in the glib directory. dnl m4_copy([AC_DEFUN],[glib_DEFUN]) m4_copy([AC_REQUIRE],[glib_REQUIRE]) dnl dnl At the end, if we're not within glib, we'll define the public dnl definitions in terms of our private definitions. dnl # GLIB_LC_MESSAGES #-------------------- glib_DEFUN([GLIB_LC_MESSAGES], [AC_CHECK_HEADERS([locale.h]) if test $ac_cv_header_locale_h = yes; then AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, [AC_TRY_LINK([#include ], [return LC_MESSAGES], am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) if test $am_cv_val_LC_MESSAGES = yes; then AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your file defines LC_MESSAGES.]) fi fi]) # GLIB_PATH_PROG_WITH_TEST #---------------------------- dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) glib_DEFUN([GLIB_PATH_PROG_WITH_TEST], [# Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in /*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in ifelse([$5], , $PATH, [$5]); do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) # GLIB_WITH_NLS #----------------- glib_DEFUN([GLIB_WITH_NLS], dnl NLS is obligatory [USE_NLS=yes AC_SUBST(USE_NLS) gt_cv_have_gettext=no CATOBJEXT=NONE XGETTEXT=: INTLLIBS= AC_CHECK_HEADER(libintl.h, [gt_cv_func_dgettext_libintl="no" libintl_extra_libs="" # # First check in libc # AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc, [AC_TRY_LINK([ #include ], [return !ngettext ("","", 1)], gt_cv_func_ngettext_libc=yes, gt_cv_func_ngettext_libc=no) ]) if test "$gt_cv_func_ngettext_libc" = "yes" ; then AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc, [AC_TRY_LINK([ #include ], [return !dgettext ("","")], gt_cv_func_dgettext_libc=yes, gt_cv_func_dgettext_libc=no) ]) fi if test "$gt_cv_func_ngettext_libc" = "yes" ; then AC_CHECK_FUNCS(bind_textdomain_codeset) fi # # If we don't have everything we want, check in libintl # if test "$gt_cv_func_dgettext_libc" != "yes" \ || test "$gt_cv_func_ngettext_libc" != "yes" \ || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then AC_CHECK_LIB(intl, bindtextdomain, [AC_CHECK_LIB(intl, ngettext, [AC_CHECK_LIB(intl, dgettext, gt_cv_func_dgettext_libintl=yes)])]) if test "$gt_cv_func_dgettext_libintl" != "yes" ; then AC_MSG_CHECKING([if -liconv is needed to use gettext]) AC_MSG_RESULT([]) AC_CHECK_LIB(intl, ngettext, [AC_CHECK_LIB(intl, dcgettext, [gt_cv_func_dgettext_libintl=yes libintl_extra_libs=-liconv], :,-liconv)], :,-liconv) fi # # If we found libintl, then check in it for bind_textdomain_codeset(); # we'll prefer libc if neither have bind_textdomain_codeset(), # and both have dgettext and ngettext # if test "$gt_cv_func_dgettext_libintl" = "yes" ; then glib_save_LIBS="$LIBS" LIBS="$LIBS -lintl $libintl_extra_libs" unset ac_cv_func_bind_textdomain_codeset AC_CHECK_FUNCS(bind_textdomain_codeset) LIBS="$glib_save_LIBS" if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then gt_cv_func_dgettext_libc=no else if test "$gt_cv_func_dgettext_libc" = "yes" \ && test "$gt_cv_func_ngettext_libc" = "yes"; then gt_cv_func_dgettext_libintl=no fi fi fi fi if test "$gt_cv_func_dgettext_libc" = "yes" \ || test "$gt_cv_func_dgettext_libintl" = "yes"; then gt_cv_have_gettext=yes fi if test "$gt_cv_func_dgettext_libintl" = "yes"; then INTLLIBS="-lintl $libintl_extra_libs" fi if test "$gt_cv_have_gettext" = "yes"; then AC_DEFINE(HAVE_GETTEXT,1, [Define if the GNU gettext() function is already present or preinstalled.]) GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl if test "$MSGFMT" != "no"; then glib_save_LIBS="$LIBS" LIBS="$LIBS $INTLLIBS" AC_CHECK_FUNCS(dcgettext) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr], [CATOBJEXT=.gmo DATADIRNAME=share], [case $host in *-*-solaris*) dnl On Solaris, if bind_textdomain_codeset is in libc, dnl GNU format message catalog is always supported, dnl since both are added to the libc all together. dnl Hence, we'd like to go with DATADIRNAME=share and dnl and CATOBJEXT=.gmo in this case. AC_CHECK_FUNC(bind_textdomain_codeset, [CATOBJEXT=.gmo DATADIRNAME=share], [CATOBJEXT=.mo DATADIRNAME=lib]) ;; *) CATOBJEXT=.mo DATADIRNAME=lib ;; esac]) LIBS="$glib_save_LIBS" INSTOBJEXT=.mo else gt_cv_have_gettext=no fi fi ]) if test "$gt_cv_have_gettext" = "yes" ; then AC_DEFINE(ENABLE_NLS, 1, [always defined to indicate that i18n is enabled]) fi dnl Test whether we really found GNU xgettext. if test "$XGETTEXT" != ":"; then dnl If it is not GNU xgettext we define it as : so that the dnl Makefiles still can work. if $XGETTEXT --omit-header /dev/null 2> /dev/null; then : ; else AC_MSG_RESULT( [found xgettext program is not GNU xgettext; ignore it]) XGETTEXT=":" fi fi # We need to process the po/ directory. POSUB=po AC_OUTPUT_COMMANDS( [case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac]) dnl These rules are solely for the distribution goal. While doing this dnl we only have to keep exactly one list of the available catalogs dnl in configure.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 presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then NEW_LINGUAS="$NEW_LINGUAS $presentlang" fi done LINGUAS=$NEW_LINGUAS AC_MSG_RESULT($LINGUAS) fi dnl Construct list of names of catalog files to be constructed. if test -n "$LINGUAS"; then for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done fi fi dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly dnl find the mkinstalldirs script in another subdir but ($top_srcdir). dnl Try to locate is. MKINSTALLDIRS= if test -n "$ac_aux_dir"; then MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi AC_SUBST(MKINSTALLDIRS) dnl Generate list of files to be processed by xgettext which will dnl be included in po/Makefile. test -d po || mkdir po if test "x$srcdir" != "x."; then if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then posrcprefix="$srcdir/" else posrcprefix="../$srcdir/" fi else posrcprefix="../" fi rm -f po/POTFILES sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ < $srcdir/po/POTFILES.in > po/POTFILES ]) # AM_GLIB_DEFINE_LOCALEDIR(VARIABLE) # ------------------------------- # Define VARIABLE to the location where catalog files will # be installed by po/Makefile. glib_DEFUN([GLIB_DEFINE_LOCALEDIR], [glib_REQUIRE([GLIB_GNU_GETTEXT])dnl glib_save_prefix="$prefix" glib_save_exec_prefix="$exec_prefix" test "x$prefix" = xNONE && prefix=$ac_default_prefix test "x$exec_prefix" = xNONE && exec_prefix=$prefix if test "x$CATOBJEXT" = "x.mo" ; then localedir=`eval echo "${libdir}/locale"` else localedir=`eval echo "${datadir}/locale"` fi prefix="$glib_save_prefix" exec_prefix="$glib_save_exec_prefix" 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 gpaint-2-0.3.3/config.guess0000755000076400007640000012206510435532340012414 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. timestamp='2003-06-17' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, 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. # Originally written by Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown ## for Red Hat Linux if test -f /etc/redhat-release ; then VENDOR=redhat ; else VENDOR= ; fi # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit 0 ;; amiga:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; arc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; hp300:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mac68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; macppc:OpenBSD:*:*) echo powerpc-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme88k:OpenBSD:*:*) echo m88k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvmeppc:OpenBSD:*:*) echo powerpc-unknown-openbsd${UNAME_RELEASE} exit 0 ;; pmax:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sgi:OpenBSD:*:*) echo mipseb-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sun3:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; wgrisc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:OpenBSD:*:*) echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} exit 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` fi # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; Alpha*:OpenVMS:*:*) echo alpha-hp-vms exit 0 ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit 0 ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit 0 ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit 0;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit 0 ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit 0 ;; *:OS/390:*:*) echo i370-ibm-openedition exit 0 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit 0;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit 0;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit 0 ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit 0 ;; DRS?6000:UNIX_SV:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7 && exit 0 ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit 0 ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit 0 ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit 0 ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit 0 ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit 0 ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit 0 ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit 0 ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit 0 ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit 0 ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit 0 ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c \ && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ && exit 0 echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit 0 ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit 0 ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit 0 ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit 0 ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit 0 ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit 0 ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit 0 ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit 0 ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit 0 ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit 0 ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit 0 ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit 0 ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit 0 ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit 0 ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:*:*) echo rs6000-ibm-aix exit 0 ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit 0 ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit 0 ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit 0 ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit 0 ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit 0 ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit 0 ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then # avoid double evaluation of $set_cc_for_build test -n "$CC_FOR_BUILD" || eval $set_cc_for_build if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit 0 ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit 0 ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit 0 ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit 0 ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit 0 ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit 0 ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit 0 ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit 0 ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit 0 ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit 0 ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; *:UNICOS/mp:*:*) echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit 0 ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*|*:GNU/FreeBSD:*:*) # Determine whether the default compiler uses glibc. eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #if __GLIBC__ >= 2 LIBC=gnu #else LIBC= #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit 0 ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit 0 ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; x86:Interix*:[34]*) echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' exit 0 ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit 0 ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit 0 ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; *:GNU:*:*) echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit 0 ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit 0 ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit 0 ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips #undef mipsel #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 ;; mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips64 #undef mips64el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mips64el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips64 #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 ;; ppc:Linux:*:*) echo powerpc-${VENDOR:-unknown}-linux-gnu exit 0 ;; ppc64:Linux:*:*) echo powerpc64-${VENDOR:-unknown}-linux-gnu exit 0 ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit 0 ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit 0 ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit 0 ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu exit 0 ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; x86_64:Linux:*:*) echo x86_64-${VENDOR:-unknown}-linux-gnu exit 0 ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. # Set LC_ALL=C to ensure ld outputs messages in English. ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit 0 ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit 0 ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit 0 ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #ifdef __INTEL_COMPILER LIBC=gnu #else LIBC=gnuaout #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit 0 ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit 0 ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit 0 ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit 0 ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit 0 ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit 0 ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit 0 ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit 0 ;; i*86:*:5:[78]*) case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit 0 ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit 0 ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit 0 ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit 0 ;; paragon:*:*:*) echo i860-intel-osf1 exit 0 ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit 0 ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit 0 ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit 0 ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4.3${OS_REL} && exit 0 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4 && exit 0 ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit 0 ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit 0 ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit 0 ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit 0 ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit 0 ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit 0 ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit 0 ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit 0 ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit 0 ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit 0 ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit 0 ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit 0 ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit 0 ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit 0 ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit 0 ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit 0 ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit 0 ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) case `uname -p` in *86) UNAME_PROCESSOR=i686 ;; powerpc) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit 0 ;; *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit 0 ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit 0 ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit 0 ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit 0 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit 0 ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit 0 ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit 0 ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit 0 ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit 0 ;; *:ITS:*:*) echo pdp10-unknown-its exit 0 ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit 0 ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; c34*) echo c34-convex-bsd exit 0 ;; c38*) echo c38-convex-bsd exit 0 ;; c4*) echo c4-convex-bsd exit 0 ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: gpaint-2-0.3.3/config.sub0000755000076400007640000007305510435532340012063 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. timestamp='2003-06-18' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, 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. # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit 0;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k \ | m32r | m68000 | m68k | m88k | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64vr | mips64vrel \ | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | msp430 \ | ns16k | ns32k \ | openrisc | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | s390 | s390x \ | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xscale | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* \ | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* \ | m32r-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | msp430-* \ | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | s390-* | s390x-* \ | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ | xtensa-* \ | ymp-* \ | z8k-*) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; c90) basic_machine=c90-cray os=-unicos ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; crds | unos) basic_machine=m68k-crds ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; mmix*) basic_machine=mmix-knuth os=-mmixware ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nv1) basic_machine=nv1-cray os=-unicosmp ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; or32 | or32-*) basic_machine=or32-unknown os=-coff ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sh64) basic_machine=sh64-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-ibm) os=-aix ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -ptx*) vendor=sequent ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: gpaint-2-0.3.3/configure0000775000076400007640000262572710671211767012035 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59 for gpaint-2 0.3.3. # # Report bugs to . # # Copyright (C) 2003 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 DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/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 -z "`(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 test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} case X$ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` ;; esac echo=${ECHO-echo} if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then # Yippee, $echo works! : else # Restart under the correct shell. exec $SHELL "$0" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat </dev/null 2>&1 && unset CDPATH if test -z "$ECHO"; then if test "X${echo_test_string+set}" != Xset; then # find a string as large as possible, as long as the shell can cope with it for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... if (echo_test_string=`eval $cmd`) 2>/dev/null && echo_test_string=`eval $cmd` && (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null then break fi done fi if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then : else # The Solaris, AIX, and Digital Unix default echo programs unquote # backslashes. This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' # # So, first we look for a working echo in the user's PATH. lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for dir in $PATH /usr/ucb; do IFS="$lt_save_ifs" if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then echo="$dir/echo" break fi done IFS="$lt_save_ifs" if test "X$echo" = Xecho; then # We didn't find a better echo, so look for alternatives. if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # This shell has a builtin print -r that does the trick. echo='print -r' elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && test "X$CONFIG_SHELL" != X/bin/ksh; then # If we have ksh, try running configure again with it. ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} export ORIGINAL_CONFIG_SHELL CONFIG_SHELL=/bin/ksh export CONFIG_SHELL exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} else # Try using printf. echo='printf %s\n' if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # Cool, printf works : elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL export CONFIG_SHELL SHELL="$CONFIG_SHELL" export SHELL echo="$CONFIG_SHELL $0 --fallback-echo" elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then echo="$CONFIG_SHELL $0 --fallback-echo" else # maybe with a smaller string... prev=: for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null then break fi prev="$cmd" done if test "$prev" != 'sed 50q "$0"'; then echo_test_string=`eval $prev` export echo_test_string exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} else # Oops. We lost completely, so just stick with echo. echo=echo fi fi fi fi fi fi # Copy echo and quote the copy suitably for passing to libtool from # the Makefile, instead of quoting the original, which is used later. ECHO=$echo if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" fi tagnames=${tagnames+${tagnames},}CXX tagnames=${tagnames+${tagnames},}F77 # 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='gpaint-2' PACKAGE_TARNAME='gpaint-2' PACKAGE_VERSION='0.3.3' PACKAGE_STRING='gpaint-2 0.3.3' PACKAGE_BUGREPORT='http://savannah.gnu.org/bugs/?group=gpaint' # 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 MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP CPP CXX CXXFLAGS ac_ct_CXX CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL PKG_CONFIG ac_pt_PKG_CONFIG GUI_CFLAGS GUI_LIBS PRINT_CFLAGS PRINT_LIBS GTKPRINT_CFLAGS GTKPRINT_LIBS GETTEXT_PACKAGE USE_NLS MSGFMT GMSGFMT XGETTEXT CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLLIBS PO_IN_DATADIR_TRUE PO_IN_DATADIR_FALSE POFILES POSUB MKINSTALLDIRS 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_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_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_CPP_set=${CPP+set} ac_env_CPP_value=$CPP ac_cv_env_CPP_set=${CPP+set} ac_cv_env_CPP_value=$CPP 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_CXXCPP_set=${CXXCPP+set} ac_env_CXXCPP_value=$CXXCPP ac_cv_env_CXXCPP_set=${CXXCPP+set} ac_cv_env_CXXCPP_value=$CXXCPP ac_env_F77_set=${F77+set} ac_env_F77_value=$F77 ac_cv_env_F77_set=${F77+set} ac_cv_env_F77_value=$F77 ac_env_FFLAGS_set=${FFLAGS+set} ac_env_FFLAGS_value=$FFLAGS ac_cv_env_FFLAGS_set=${FFLAGS+set} ac_cv_env_FFLAGS_value=$FFLAGS ac_env_PKG_CONFIG_set=${PKG_CONFIG+set} ac_env_PKG_CONFIG_value=$PKG_CONFIG ac_cv_env_PKG_CONFIG_set=${PKG_CONFIG+set} ac_cv_env_PKG_CONFIG_value=$PKG_CONFIG ac_env_GUI_CFLAGS_set=${GUI_CFLAGS+set} ac_env_GUI_CFLAGS_value=$GUI_CFLAGS ac_cv_env_GUI_CFLAGS_set=${GUI_CFLAGS+set} ac_cv_env_GUI_CFLAGS_value=$GUI_CFLAGS ac_env_GUI_LIBS_set=${GUI_LIBS+set} ac_env_GUI_LIBS_value=$GUI_LIBS ac_cv_env_GUI_LIBS_set=${GUI_LIBS+set} ac_cv_env_GUI_LIBS_value=$GUI_LIBS ac_env_PRINT_CFLAGS_set=${PRINT_CFLAGS+set} ac_env_PRINT_CFLAGS_value=$PRINT_CFLAGS ac_cv_env_PRINT_CFLAGS_set=${PRINT_CFLAGS+set} ac_cv_env_PRINT_CFLAGS_value=$PRINT_CFLAGS ac_env_PRINT_LIBS_set=${PRINT_LIBS+set} ac_env_PRINT_LIBS_value=$PRINT_LIBS ac_cv_env_PRINT_LIBS_set=${PRINT_LIBS+set} ac_cv_env_PRINT_LIBS_value=$PRINT_LIBS ac_env_GTKPRINT_CFLAGS_set=${GTKPRINT_CFLAGS+set} ac_env_GTKPRINT_CFLAGS_value=$GTKPRINT_CFLAGS ac_cv_env_GTKPRINT_CFLAGS_set=${GTKPRINT_CFLAGS+set} ac_cv_env_GTKPRINT_CFLAGS_value=$GTKPRINT_CFLAGS ac_env_GTKPRINT_LIBS_set=${GTKPRINT_LIBS+set} ac_env_GTKPRINT_LIBS_value=$GTKPRINT_LIBS ac_cv_env_GTKPRINT_LIBS_set=${GTKPRINT_LIBS+set} ac_cv_env_GTKPRINT_LIBS_value=$GTKPRINT_LIBS # # 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 gpaint-2 0.3.3 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 System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of gpaint-2 0.3.3:";; esac 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 --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pic try to use only PIC/non-PIC objects [default=use both] --with-tags[=TAGS] include additional configurations [automatic] Some influential environment variables: CC C compiler command CFLAGS 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 CPP C preprocessor CXX C++ compiler command CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor F77 Fortran 77 compiler command FFLAGS Fortran 77 compiler flags PKG_CONFIG path to pkg-config utility GUI_CFLAGS C compiler flags for GUI, overriding pkg-config GUI_LIBS linker flags for GUI, overriding pkg-config PRINT_CFLAGS C compiler flags for PRINT, overriding pkg-config PRINT_LIBS linker flags for PRINT, overriding pkg-config GTKPRINT_CFLAGS C compiler flags for GTKPRINT, overriding pkg-config GTKPRINT_LIBS linker flags for GTKPRINT, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF 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 # Do not use `cd foo && pwd` to compute absolute paths, because # the directories may not exist. case `pwd` in .) ac_abs_builddir="$ac_dir";; *) case "$ac_dir" in .) ac_abs_builddir=`pwd`;; [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; *) ac_abs_builddir=`pwd`/"$ac_dir";; esac;; esac case $ac_abs_builddir in .) ac_abs_top_builddir=${ac_top_builddir}.;; *) case ${ac_top_builddir}. in .) ac_abs_top_builddir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; esac;; esac case $ac_abs_builddir in .) ac_abs_srcdir=$ac_srcdir;; *) case $ac_srcdir in .) ac_abs_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; esac;; esac case $ac_abs_builddir in .) ac_abs_top_srcdir=$ac_top_srcdir;; *) case $ac_top_srcdir in .) ac_abs_top_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; esac;; esac 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 gpaint-2 configure 0.3.3 generated by GNU Autoconf 2.59 Copyright (C) 2003 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 gpaint-2 $as_me 0.3.3, which was generated by GNU Autoconf 2.59. 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 && 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 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" # OS/2's system install, which has a completely different semantic # ./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/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_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=gpaint-2 VERSION=0.3.3 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 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_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); } cat >conftest.$ac_ext <<_ACEOF /* 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 file name" >&5 echo $ECHO_N "checking for C compiler default output file name... $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 /* 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_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 /* 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; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std1 is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std1. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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 \ '' \ '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 /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration #include 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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.err 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 echo "$as_me:$LINENO: checking for library containing strerror" >&5 echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6 if test "${ac_cv_search_strerror+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS ac_cv_search_strerror=no cat >conftest.$ac_ext <<_ACEOF /* 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 strerror (); int main () { strerror (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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_search_strerror="none required" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$ac_cv_search_strerror" = no; then for ac_lib in cposix; do LIBS="-l$ac_lib $ac_func_search_save_LIBS" cat >conftest.$ac_ext <<_ACEOF /* 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 strerror (); int main () { strerror (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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_search_strerror="-l$ac_lib" break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext done fi LIBS=$ac_func_search_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 echo "${ECHO_T}$ac_cv_search_strerror" >&6 if test "$ac_cv_search_strerror" != no; then test "$ac_cv_search_strerror" = "none required" || LIBS="$ac_cv_search_strerror $LIBS" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 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 /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 /* 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; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std1 is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std1. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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 \ '' \ '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 /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration #include 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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.err 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 # Check whether --enable-shared or --disable-shared was given. if test "${enable_shared+set}" = set; then enableval="$enable_shared" p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=yes fi; # Check whether --enable-static or --disable-static was given. if test "${enable_static+set}" = set; then enableval="$enable_static" p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac else enable_static=yes fi; # Check whether --enable-fast-install or --disable-fast-install was given. if test "${enable_fast_install+set}" = set; then enableval="$enable_fast_install" p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi; # Make sure we can run config.sub. $ac_config_sub sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 echo "$as_me: error: cannot run $ac_config_sub" >&2;} { (exit 1); exit 1; }; } echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6 if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_build_alias=$build_alias test -z "$ac_cv_build_alias" && ac_cv_build_alias=`$ac_config_guess` test -z "$ac_cv_build_alias" && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6 build=$ac_cv_build build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6 if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_host_alias=$host_alias test -z "$ac_cv_host_alias" && ac_cv_host_alias=$ac_cv_build_alias ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6 host=$ac_cv_host host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6 if test "${lt_cv_path_SED+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done fi SED=$lt_cv_path_SED echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6 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 # Check whether --with-gnu-ld or --without-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval="$with_gnu_ld" test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi; ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 else echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 echo "${ECHO_T}$LD" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 with_gnu_ld=$lt_cv_prog_gnu_ld echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6 if test "${lt_cv_ld_reload_flag+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_ld_reload_flag='-r' fi echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6 reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6 if test "${lt_cv_path_NM+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi fi echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 echo "${ECHO_T}$lt_cv_path_NM" >&6 NM="$lt_cv_path_NM" echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 else echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6 fi echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6 if test "${lt_cv_deplibs_check_method+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix4* | aix5*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump'. lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | kfreebsd*-gnu | dragonfly*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix3*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux*) lt_cv_deplibs_check_method=pass_all ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; nto-qnx*) lt_cv_deplibs_check_method=unknown ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; esac fi echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6 file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check whether --enable-libtool-lock or --disable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval="$enable_libtool_lock" fi; test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '#line 4269 "configure"' > conftest.$ac_ext 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 if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext 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 case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6 if test "${lt_cv_cc_needs_belf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat >conftest.$ac_ext <<_ACEOF /* 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 conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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 lt_cv_cc_needs_belf=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_cc_needs_belf=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6 if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext 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 case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) LD="${LD-ld} -64" ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" 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 /* 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 ac_cpp_err=$ac_cpp_err$ac_c_werror_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 /* 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 ac_cpp_err=$ac_cpp_err$ac_c_werror_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 /* 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 ac_cpp_err=$ac_cpp_err$ac_c_werror_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 /* 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 ac_cpp_err=$ac_cpp_err$ac_c_werror_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 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 /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* 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 /* 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 /* 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 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 /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 dlfcn.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 /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 /* 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 ac_cpp_err=$ac_cpp_err$ac_c_werror_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:$ac_c_preproc_warn_flag 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 compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; 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: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&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;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------------------------------- ## ## Report this to http://savannah.gnu.org/bugs/?group=gpaint ## ## --------------------------------------------------------- ## _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 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); } 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 /* 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>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); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 /* 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>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); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 \ '' \ '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 /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration #include 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>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); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* 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>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); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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=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 "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then 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 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 if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* 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_cxx_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_cxx_werror_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 /* 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_cxx_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_cxx_werror_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_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi echo "$as_me:$LINENO: result: $CXXCPP" >&5 echo "${ECHO_T}$CXXCPP" >&6 ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* 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_cxx_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_cxx_werror_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 /* 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_cxx_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_cxx_werror_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 \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi 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 fi ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran 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_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$F77"; then ac_cv_prog_F77="$F77" # 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_F77="$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 F77=$ac_cv_prog_F77 if test -n "$F77"; then echo "$as_me:$LINENO: result: $F77" >&5 echo "${ECHO_T}$F77" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$F77" && break done fi if test -z "$F77"; then ac_ct_F77=$F77 for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran 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_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_F77"; then ac_cv_prog_ac_ct_F77="$ac_ct_F77" # 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_F77="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_F77=$ac_cv_prog_ac_ct_F77 if test -n "$ac_ct_F77"; then echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 echo "${ECHO_T}$ac_ct_F77" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_F77" && break done F77=$ac_ct_F77 fi # Provide some information about the compiler. echo "$as_me:5759:" \ "checking for Fortran 77 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); } rm -f a.out # If we don't use `.F' as extension, the preprocessor is not run on the # input file. (Note that this only needs to work for GNU compilers.) ac_save_ext=$ac_ext ac_ext=F echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6 if test "${ac_cv_f77_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF program main #ifndef __GNUC__ choke me #endif end _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 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); } && { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err conftest.$ac_objext conftest.$ac_ext ac_cv_f77_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6 ac_ext=$ac_save_ext ac_test_FFLAGS=${FFLAGS+set} ac_save_FFLAGS=$FFLAGS FFLAGS= echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_f77_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else FFLAGS=-g cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 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); } && { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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_f77_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_f77_g=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 echo "${ECHO_T}$ac_cv_prog_f77_g" >&6 if test "$ac_test_FFLAGS" = set; then FFLAGS=$ac_save_FFLAGS elif test $ac_cv_prog_f77_g = yes; then if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-g -O2" else FFLAGS="-g" fi else if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-O2" else FFLAGS= fi fi G77=`test $ac_compiler_gnu = yes && echo yes` ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! # find the maximum length of command line arguments echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6 if test "${lt_cv_sys_max_cmd_len+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # Add a significant safety factor because C++ compilers can tack on massive # amounts of additional arguments before passing them to the linker. # It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6 else echo "$as_me:$LINENO: result: none" >&5 echo "${ECHO_T}none" >&6 fi # Check for command to grab the raw symbol name followed by C symbol from nm. echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6 if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Transform an extracted symbol line into a proper C declaration lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32*) symcode='[ABCDGISTW]' ;; hpux*) # Its linker distinguishes data from code symbols if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ;; linux*) if test "$host_cpu" = ia64; then symcode='[ABCDGIRSTW]' lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Now try to grab the symbols. nlist=conftest.nm if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if grep ' nm_test_var$' "$nlist" >/dev/null; then if grep ' nm_test_func$' "$nlist" >/dev/null; then cat < conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' cat <> conftest.$ac_ext #if defined (__STDC__) && __STDC__ # define lt_ptr_t void * #else # define lt_ptr_t char * # define const #endif /* The mapping between symbol names and symbols. */ const struct { const char *name; lt_ptr_t address; } lt_preloaded_symbols[] = { EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext cat <<\EOF >> conftest.$ac_ext {0, (lt_ptr_t) 0} }; #ifdef __cplusplus } #endif EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_save_LIBS="$LIBS" lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" 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); } && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_save_LIBS" CFLAGS="$lt_save_CFLAGS" else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then echo "$as_me:$LINENO: result: failed" >&5 echo "${ECHO_T}failed" >&6 else echo "$as_me:$LINENO: result: ok" >&5 echo "${ECHO_T}ok" >&6 fi echo "$as_me:$LINENO: checking for objdir" >&5 echo $ECHO_N "checking for objdir... $ECHO_C" >&6 if test "${lt_cv_objdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 echo "${ECHO_T}$lt_cv_objdir" >&6 objdir=$lt_cv_objdir case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed='sed -e 1s/^X//' sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Constants: rm="rm -f" # Global variables: default_ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a ltmain="$ac_aux_dir/ltmain.sh" ofile="$default_ofile" with_gnu_ld="$lt_cv_prog_gnu_ld" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; 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_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="${ac_tool_prefix}ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then echo "$as_me:$LINENO: result: $AR" >&5 echo "${ECHO_T}$AR" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; 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_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false" fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 echo "${ECHO_T}$ac_ct_AR" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi AR=$ac_ct_AR else AR="$ac_cv_prog_AR" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 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_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi RANLIB=$ac_ct_RANLIB else RANLIB="$ac_cv_prog_RANLIB" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 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_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi STRIP=$ac_ct_STRIP else STRIP="$ac_cv_prog_STRIP" fi old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru test -z "$AS" && AS=as test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$DLLTOOL" && DLLTOOL=dlltool test -z "$LD" && LD=ld test -z "$LN_S" && LN_S="ln -s" test -z "$MAGIC_CMD" && MAGIC_CMD=file test -z "$NM" && NM=nm test -z "$SED" && SED=sed test -z "$OBJDUMP" && OBJDUMP=objdump test -z "$RANLIB" && RANLIB=: test -z "$STRIP" && STRIP=: test -z "$ac_objext" && ac_objext=o # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then echo "$as_me:$LINENO: checking for file" >&5 echo $ECHO_N "checking for file... $ECHO_C" >&6 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi else MAGIC_CMD=: fi fi fi ;; esac enable_dlopen=no enable_win32_dll=no # Check whether --enable-libtool-lock or --disable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval="$enable_libtool_lock" fi; test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Check whether --with-pic or --without-pic was given. if test "${with_pic+set}" = set; then withval="$with_pic" pic_mode="$withval" else pic_mode=default fi; test -z "$pic_mode" && pic_mode=default # Use C for the default configuration in the libtool script tagname= lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;\n" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}\n' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext printf "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6 if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:6822: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:6826: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6 if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; interix3*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic='-qnocommon' lt_prog_compiler_wl='-Wl,' ;; esac ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; linux*) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 echo "${ECHO_T}$lt_prog_compiler_pic" >&6 # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6 if test "${lt_prog_compiler_pic_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7090: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7094: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works=yes fi fi $rm conftest* fi echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6 if test x"$lt_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6 if test "${lt_prog_compiler_static_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" printf "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works=yes fi else lt_prog_compiler_static_works=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works" >&6 if test x"$lt_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 if test "${lt_cv_prog_compiler_c_o+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7194: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:7198: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6 hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 hard_links=yes $rm conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6 if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 runpath_var= allow_undefined_flag= enable_shared_with_static_runtimes=no archive_cmds= archive_expsym_cmds= old_archive_From_new_cmds= old_archive_from_expsyms_cmds= export_dynamic_flag_spec= whole_archive_flag_spec= thread_safe_flag_spec= hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no hardcode_shlibpath_var=unsupported link_all_deplibs=unknown hardcode_automatic=no module_cmds= module_expsym_cmds= always_export_symbols=no export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms="_GLOBAL_OFFSET_TABLE_" # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. extract_expsyms_cmds= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` case $host_os in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. EOF fi ;; amigaos*) archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can't use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix3*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; linux*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi else ld_shlibs=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. EOF elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_libdir_separator=':' link_all_deplibs=yes if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 hardcode_direct=yes else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* 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 conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'`; fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* 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 conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'`; fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='' link_all_deplibs=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs=no ;; esac fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; freebsd1*) ld_shlibs=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | kfreebsd*-gnu | dragonfly*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld='-rpath $libdir' fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: link_all_deplibs=yes ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; openbsd*) hardcode_direct=yes hardcode_shlibpath_var=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine linker options so we # cannot just pass the convience library names through # without $wl, iff we do not link with $LD. # Luckily, gcc supports the same syntax we need for Sun Studio. # Supported since Solaris 2.6 (maybe 2.5.1?) case $wlarc in '') whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; *) whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; esac ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac fi echo "$as_me:$LINENO: result: $ld_shlibs" >&5 echo "${ECHO_T}$ld_shlibs" >&6 test "$ld_shlibs" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 $rm conftest* printf "$lt_simple_compile_test_code" > conftest.$ac_ext 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); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc=no else archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 echo "${ECHO_T}$archive_cmds_need_lc" >&6 ;; esac fi ;; esac echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix4* | aix5*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` else sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' fi sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; kfreebsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='GNU ld.so' ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; freebsd*) # from 4.6 on shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix3*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # find out which ABI we are using libsuff= case "$host_cpu" in x86_64*|s390x*|powerpc64*) echo '#line 8663 "configure"' > conftest.$ac_ext 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 case `/usr/bin/file conftest.$ac_objext` in *64-bit*) libsuff=64 sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" ;; esac fi rm -rf conftest* ;; esac # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; knetbsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='GNU ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; nto-qnx*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6 test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 hardcode_action= if test -n "$hardcode_libdir_flag_spec" || \ test -n "$runpath_var" || \ test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi echo "$as_me:$LINENO: result: $hardcode_action" >&5 echo "${ECHO_T}$hardcode_action" >&6 if test "$hardcode_action" = relink; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi striplib= old_striplib= echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi ;; *) echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 ;; esac fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* 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 dlopen (); int main () { dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) echo "$as_me:$LINENO: checking for shl_load" >&5 echo $ECHO_N "checking for shl_load... $ECHO_C" >&6 if test "${ac_cv_func_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define shl_load to an innocuous variant, in case declares shl_load. For example, HP-UX 11i declares gettimeofday. */ #define shl_load innocuous_shl_load /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shl_load (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef shl_load /* 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 shl_load (); /* 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_shl_load) || defined (__stub___shl_load) choke me #else char (*f) () = shl_load; #endif #ifdef __cplusplus } #endif int main () { return f != shl_load; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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_func_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_shl_load=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 echo "${ECHO_T}$ac_cv_func_shl_load" >&6 if test $ac_cv_func_shl_load = yes; then lt_cv_dlopen="shl_load" else echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6 if test "${ac_cv_lib_dld_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* 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 shl_load (); int main () { shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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_dld_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_shl_load=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6 if test $ac_cv_lib_dld_shl_load = yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" else echo "$as_me:$LINENO: checking for dlopen" >&5 echo $ECHO_N "checking for dlopen... $ECHO_C" >&6 if test "${ac_cv_func_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define dlopen to an innocuous variant, in case declares dlopen. For example, HP-UX 11i declares gettimeofday. */ #define dlopen innocuous_dlopen /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlopen (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef dlopen /* 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 dlopen (); /* 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_dlopen) || defined (__stub___dlopen) choke me #else char (*f) () = dlopen; #endif #ifdef __cplusplus } #endif int main () { return f != dlopen; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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_func_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_dlopen=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 echo "${ECHO_T}$ac_cv_func_dlopen" >&6 if test $ac_cv_func_dlopen = yes; then lt_cv_dlopen="dlopen" else echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* 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 dlopen (); int main () { dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6 if test "${ac_cv_lib_svld_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* 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 dlopen (); int main () { dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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_svld_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_svld_dlopen=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6 if test $ac_cv_lib_svld_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6 if test "${ac_cv_lib_dld_dld_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* 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 dld_link (); int main () { dld_link (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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_dld_dld_link=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_dld_link=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6 if test $ac_cv_lib_dld_dld_link = yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6 if test "${lt_cv_dlopen_self+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif #ifdef __cplusplus extern "C" void exit (int); #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); exit (status); } EOF 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); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 echo "${ECHO_T}$lt_cv_dlopen_self" >&6 if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6 if test "${lt_cv_dlopen_self_static+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif #ifdef __cplusplus extern "C" void exit (int); #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); exit (status); } EOF 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); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6 fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi # Report which library types will actually be built echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6 echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6 test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix4* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6 echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6 # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6 # The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are # no rules to generate ltmain.sh. if test -f "$ltmain"; then # See if we are running on zsh, and set the options which allow our commands through # without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ SED SHELL STRIP \ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ deplibs_check_method reload_flag reload_cmds need_locks \ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ old_postinstall_cmds old_postuninstall_cmds \ compiler \ CC \ LD \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_prog_compiler_no_builtin_flag \ export_dynamic_flag_spec \ thread_safe_flag_spec \ whole_archive_flag_spec \ enable_shared_with_static_runtimes \ old_archive_cmds \ old_archive_from_new_cmds \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ archive_cmds \ archive_expsym_cmds \ postinstall_cmds \ postuninstall_cmds \ old_archive_from_expsyms_cmds \ allow_undefined_flag \ no_undefined_flag \ export_symbols_cmds \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ hardcode_automatic \ module_cmds \ module_expsym_cmds \ lt_cv_prog_compiler_c_o \ exclude_expsyms \ include_expsyms; do case $var in old_archive_cmds | \ old_archive_from_new_cmds | \ archive_cmds | \ archive_expsym_cmds | \ module_cmds | \ module_expsym_cmds | \ old_archive_from_expsyms_cmds | \ export_symbols_cmds | \ extract_expsyms_cmds | reload_cmds | finish_cmds | \ postinstall_cmds | postuninstall_cmds | \ old_postinstall_cmds | old_postuninstall_cmds | \ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) # Double-quote double-evaled strings. eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ;; *) eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ;; esac done case $lt_echo in *'\$0 --fallback-echo"') lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` ;; esac cfgfile="${ofile}T" trap "$rm \"$cfgfile\"; exit 1" 1 2 15 $rm -f "$cfgfile" { echo "$as_me:$LINENO: creating $ofile" >&5 echo "$as_me: creating $ofile" >&6;} cat <<__EOF__ >> "$cfgfile" #! $SHELL # `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # 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. # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="$SED -e 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # The names of the tagged configurations supported by this script. available_tags= # ### BEGIN LIBTOOL CONFIG # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # An echo program that does not interpret backslashes. echo=$lt_echo # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A C compiler. LTCC=$lt_LTCC # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler # Is the compiler the GNU C compiler? with_gcc=$GCC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD # Whether we need hard or soft links. LN_S=$lt_LN_S # A BSD-compatible nm program. NM=$lt_NM # A symbol stripping program STRIP=$lt_STRIP # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=$MAGIC_CMD # Used on cygwin: DLL creation program. DLLTOOL="$DLLTOOL" # Used on cygwin: object dumper. OBJDUMP="$OBJDUMP" # Used on cygwin: assembler. AS="$AS" # The name of the directory that contains temporary libtool files. objdir=$objdir # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic pic_mode=$pic_mode # What is the maximum length of a command? max_cmd_len=$lt_cv_sys_max_cmd_len # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Must we lock files when doing compilation? need_locks=$lt_need_locks # Do we need the lib prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec # Library versioning type. version_type=$version_type # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB old_archive_cmds=$lt_old_archive_cmds old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds # Commands used to build a loadable module (assumed same as above if empty) module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. predep_objects=$lt_predep_objects # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == file_magic. file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # Same as above, but a single script fragment to be evaled but not shown. finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # This is the shared library runtime path variable. runpath_var=$runpath_var # This is the shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does # not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to yes if building a shared library automatically hardcodes DIR into the library # and all subsequent libraries and executables linked against it. hardcode_automatic=$hardcode_automatic # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path="$fix_srcfile_path" # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # ### END LIBTOOL CONFIG __EOF__ case $host_os in aix3*) cat <<\EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi EOF ;; esac # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || \ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" else # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the # libtool script then. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" # Check whether --with-tags or --without-tags was given. if test "${with_tags+set}" = set; then withval="$with_tags" tagnames="$withval" fi; if test -f "$ltmain" && test -n "$tagnames"; then if test ! -f "${ofile}"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} fi if test -z "$LTCC"; then eval "`$SHELL ${ofile} --config | grep '^LTCC='`" if test -z "$LTCC"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} else { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} fi fi if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" fi # Extract list of available tagged configurations in $ofile. # Note that this assumes the entire list is on one line. available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for tagname in $tagnames; do IFS="$lt_save_ifs" # Check whether tagname contains only valid characters case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in "") ;; *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 echo "$as_me: error: invalid tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; esac if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null then { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} { (exit 1); exit 1; }; } fi # Update the list of available tags. if test -n "$tagname"; then echo appending configuration tag \"$tagname\" to $ofile case $tagname in CXX) if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=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 archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_flag_spec_ld_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;\n" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext printf "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC compiler_CXX=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld or --without-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval="$with_gnu_ld" test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi; ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 else echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 echo "${ECHO_T}$LD" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 with_gnu_ld=$lt_cv_prog_gnu_ld # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ grep 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_CXX= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes if test "$GXX" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 hardcode_direct_CXX=yes else # We have old collect2 hardcode_direct_CXX=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_CXX=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* 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 conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'`; fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* 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 conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'`; fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_CXX=' ${wl}-bernotok' allow_undefined_flag_CXX=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' archive_cmds_need_lc_CXX=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported whole_archive_flag_spec_CXX='' link_all_deplibs_CXX=yes if test "$GXX" = yes ; then lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then lt_int_apple_cc_single_mod=yes fi if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' fi module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_CXX=no ;; esac fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd[12]*) # C++ shared libraries reported to be fairly broken before switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | kfreebsd*-gnu | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; gnu*) ;; hpux9*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='${wl}-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_CXX='+b $libdir' ;; *) export_dynamic_flag_spec_CXX='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix3*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: ;; linux*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc*) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC*) # Portland Group C++ compiler archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' ;; osf3*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ $rm $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The C++ compiler is used as linker so we must use $wl # flag to pass the commands to the underlying system # linker. We must also pass each convience library through # to the system linker between allextract/defaultextract. # The C++ compiler will combine linker options so we # cannot just pass the convience library names through # without $wl. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='echo' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then no_undefined_flag_CXX=' ${wl}-z ${wl}defs' if $CC --version | grep -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" fi hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='${wl}-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6 test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" cat > conftest.$ac_ext <&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no # The `*' in the case matches for architectures that use `case' in # $output_verbose_cmd can trigger glob expansion during the loop # eval without this substitution. output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` for p in `eval $output_verbose_link_cmd`; do case $p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" \ || test $p = "-R"; then prev=$p continue else prev= fi if test "$pre_test_object_deps_done" = no; then case $p in -L* | -R*) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX="${prev}${p}" else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$postdeps_CXX"; then postdeps_CXX="${prev}${p}" else postdeps_CXX="${postdeps_CXX} ${prev}${p}" fi fi ;; *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$predep_objects_CXX"; then predep_objects_CXX="$p" else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX="$p" else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $rm -f confest.$objext # PORTME: override above test on systems where it is broken case $host_os in interix3*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; solaris*) case $cc_basename in CC*) # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. postdeps_CXX='-lCstd -lCrun' ;; esac ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | os2* | pw32*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; interix3*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac else case $host_os in aix4* | aix5*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_CXX='-qnocommon' lt_prog_compiler_wl_CXX='-Wl,' ;; esac ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | kfreebsd*-gnu | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux*) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; icpc* | ecpc*) # Intel C++ lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC*) # Portland Group C++ compiler. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6 # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6 if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12000: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:12004: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_CXX=yes fi fi $rm conftest* fi echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6 if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6 if test "${lt_prog_compiler_static_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" printf "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_CXX=yes fi else lt_prog_compiler_static_works_CXX=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6 if test x"$lt_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_CXX=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12104: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:12108: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6 hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 hard_links=yes $rm conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6 if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix4* | aix5*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw*) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6 test "$ld_shlibs_CXX" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 $rm conftest* printf "$lt_simple_compile_test_code" > conftest.$ac_ext 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); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_CXX=no else archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6 ;; esac fi ;; esac echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix4* | aix5*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` else sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' fi sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; kfreebsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='GNU ld.so' ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; freebsd*) # from 4.6 on shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix3*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # find out which ABI we are using libsuff= case "$host_cpu" in x86_64*|s390x*|powerpc64*) echo '#line 12640 "configure"' > conftest.$ac_ext 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 case `/usr/bin/file conftest.$ac_objext` in *64-bit*) libsuff=64 sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" ;; esac fi rm -rf conftest* ;; esac # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; knetbsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='GNU ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; nto-qnx*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6 test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || \ test -n "$runpath_var_CXX" || \ test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_CXX" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 echo "${ECHO_T}$hardcode_action_CXX" >&6 if test "$hardcode_action_CXX" = relink; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi # The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are # no rules to generate ltmain.sh. if test -f "$ltmain"; then # See if we are running on zsh, and set the options which allow our commands through # without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ SED SHELL STRIP \ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ deplibs_check_method reload_flag reload_cmds need_locks \ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ old_postinstall_cmds old_postuninstall_cmds \ compiler_CXX \ CC_CXX \ LD_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_static_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ export_dynamic_flag_spec_CXX \ thread_safe_flag_spec_CXX \ whole_archive_flag_spec_CXX \ enable_shared_with_static_runtimes_CXX \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ postinstall_cmds_CXX \ postuninstall_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ export_symbols_cmds_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ hardcode_automatic_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ lt_cv_prog_compiler_c_o_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX; do case $var in old_archive_cmds_CXX | \ old_archive_from_new_cmds_CXX | \ archive_cmds_CXX | \ archive_expsym_cmds_CXX | \ module_cmds_CXX | \ module_expsym_cmds_CXX | \ old_archive_from_expsyms_cmds_CXX | \ export_symbols_cmds_CXX | \ extract_expsyms_cmds | reload_cmds | finish_cmds | \ postinstall_cmds | postuninstall_cmds | \ old_postinstall_cmds | old_postuninstall_cmds | \ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) # Double-quote double-evaled strings. eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ;; *) eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ;; esac done case $lt_echo in *'\$0 --fallback-echo"') lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` ;; esac cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### BEGIN LIBTOOL TAG CONFIG: $tagname # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # An echo program that does not interpret backslashes. echo=$lt_echo # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A C compiler. LTCC=$lt_LTCC # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU C compiler? with_gcc=$GCC_CXX # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_CXX # Whether we need hard or soft links. LN_S=$lt_LN_S # A BSD-compatible nm program. NM=$lt_NM # A symbol stripping program STRIP=$lt_STRIP # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=$MAGIC_CMD # Used on cygwin: DLL creation program. DLLTOOL="$DLLTOOL" # Used on cygwin: object dumper. OBJDUMP="$OBJDUMP" # Used on cygwin: assembler. AS="$AS" # The name of the directory that contains temporary libtool files. objdir=$objdir # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_CXX # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX pic_mode=$pic_mode # What is the maximum length of a command? max_cmd_len=$lt_cv_sys_max_cmd_len # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX # Must we lock files when doing compilation? need_locks=$lt_need_locks # Do we need the lib prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX # Library versioning type. version_type=$version_type # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB old_archive_cmds=$lt_old_archive_cmds_CXX old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds # Commands used to build a loadable module (assumed same as above if empty) module_cmds=$lt_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. predep_objects=$lt_predep_objects_CXX # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_CXX # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_CXX # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == file_magic. file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_CXX # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # Same as above, but a single script fragment to be evaled but not shown. finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # This is the shared library runtime path variable. runpath_var=$runpath_var # This is the shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_CXX # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does # not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # Set to yes if building a shared library automatically hardcodes DIR into the library # and all subsequent libraries and executables linked against it. hardcode_automatic=$hardcode_automatic_CXX # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_CXX # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path="$fix_srcfile_path_CXX" # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ else # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the # libtool script then. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC=$lt_save_CC LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ldcxx=$with_gnu_ld with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld else tagname="" fi ;; F77) if test -n "$F77" && test "X$F77" != "Xno"; then ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu archive_cmds_need_lc_F77=no allow_undefined_flag_F77= always_export_symbols_F77=no archive_expsym_cmds_F77= export_dynamic_flag_spec_F77= hardcode_direct_F77=no hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_minus_L_F77=no hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= link_all_deplibs_F77=unknown old_archive_cmds_F77=$old_archive_cmds no_undefined_flag_F77= whole_archive_flag_spec_F77= enable_shared_with_static_runtimes_F77=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o objext_F77=$objext # Code to be used in simple compile tests lt_simple_compile_test_code=" subroutine t\n return\n end\n" # Code to be used in simple link tests lt_simple_link_test_code=" program t\n end\n" # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext printf "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC compiler_F77=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6 echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6 test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix4* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6 echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6 # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6 GCC_F77="$G77" LD_F77="$LD" lt_prog_compiler_wl_F77= lt_prog_compiler_pic_F77= lt_prog_compiler_static_F77= echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 if test "$GCC" = yes; then lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_static_F77='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' ;; beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_F77='-fno-common' ;; interix3*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_F77=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_F77=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_F77='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_F77='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_F77='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-Bstatic' else lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_F77='-qnocommon' lt_prog_compiler_wl_F77='-Wl,' ;; esac ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_F77='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_F77='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_F77='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_F77='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_F77='-non_shared' ;; newsos6) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; linux*) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-fpic' lt_prog_compiler_static_F77='-Bstatic' ;; ccc*) lt_prog_compiler_wl_F77='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_F77='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; solaris*) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_F77='-Qoption ld ';; *) lt_prog_compiler_wl_F77='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_F77='-Qoption ld ' lt_prog_compiler_pic_F77='-PIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_F77='-Kconform_pic' lt_prog_compiler_static_F77='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; unicos*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_can_build_shared_F77=no ;; uts4*) lt_prog_compiler_pic_F77='-pic' lt_prog_compiler_static_F77='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_F77=no ;; esac fi echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6 # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_F77"; then echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6 if test "${lt_prog_compiler_pic_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_F77=no ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_F77" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:13695: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:13699: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_F77=yes fi fi $rm conftest* fi echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6 if test x"$lt_prog_compiler_pic_works_F77" = xyes; then case $lt_prog_compiler_pic_F77 in "" | " "*) ;; *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; esac else lt_prog_compiler_pic_F77= lt_prog_compiler_can_build_shared_F77=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_F77= ;; *) lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6 if test "${lt_prog_compiler_static_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_F77=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" printf "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_F77=yes fi else lt_prog_compiler_static_works_F77=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6 if test x"$lt_prog_compiler_static_works_F77" = xyes; then : else lt_prog_compiler_static_F77= fi echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_F77=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:13799: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:13803: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_F77=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6 hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 hard_links=yes $rm conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6 if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 runpath_var= allow_undefined_flag_F77= enable_shared_with_static_runtimes_F77=no archive_cmds_F77= archive_expsym_cmds_F77= old_archive_From_new_cmds_F77= old_archive_from_expsyms_cmds_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= thread_safe_flag_spec_F77= hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_direct_F77=no hardcode_minus_L_F77=no hardcode_shlibpath_var_F77=unsupported link_all_deplibs_F77=unknown hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= always_export_symbols_F77=no export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms_F77= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. extract_expsyms_cmds= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` case $host_os in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_F77=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_F77='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_F77= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs_F77=no cat <&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. EOF fi ;; amigaos*) archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can't use # them. ld_shlibs_F77=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_F77=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_F77=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_F77='-L$libdir' allow_undefined_flag_F77=unsupported always_export_symbols_F77=no enable_shared_with_static_runtimes_F77=yes export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_F77=no fi ;; interix3*) hardcode_direct_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; linux*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi else ld_shlibs_F77=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_F77=no cat <&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. EOF elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_F77=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac ;; sunos4*) archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac if test "$ld_shlibs_F77" = no; then runpath_var= hardcode_libdir_flag_spec_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_F77=unsupported always_export_symbols_F77=yes archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L_F77=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_F77=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_F77='' hardcode_direct_F77=yes hardcode_libdir_separator_F77=':' link_all_deplibs_F77=yes if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 hardcode_direct_F77=yes else # We have old collect2 hardcode_direct_F77=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_F77=yes hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_libdir_separator_F77= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_F77=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_F77='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'`; fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_F77="-z nodefs" archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'`; fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_F77=' ${wl}-bernotok' allow_undefined_flag_F77=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_F77='$convenience' archive_cmds_need_lc_F77=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # see comment about different semantics on the GNU ld section ld_shlibs_F77=no ;; bsdi[45]*) export_dynamic_flag_spec_F77=-rdynamic ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec_F77=' ' allow_undefined_flag_F77=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_F77='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_F77='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_F77=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_F77=no hardcode_direct_F77=no hardcode_automatic_F77=yes hardcode_shlibpath_var_F77=unsupported whole_archive_flag_spec_F77='' link_all_deplibs_F77=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_F77=no ;; esac fi ;; dgux*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; freebsd1*) ld_shlibs_F77=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | kfreebsd*-gnu | dragonfly*) archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes export_dynamic_flag_spec_F77='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_F77='+b $libdir' hardcode_direct_F77=no hardcode_shlibpath_var_F77=no ;; *) hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' fi hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: link_all_deplibs_F77=yes ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; newsos6) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_shlibpath_var_F77=no ;; openbsd*) hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-R$libdir' ;; *) archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' ;; esac fi ;; os2*) hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes allow_undefined_flag_F77=unsupported archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' fi hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_F77='-rpath $libdir' fi hardcode_libdir_separator_F77=: ;; solaris*) no_undefined_flag_F77=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' fi hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_shlibpath_var_F77=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine linker options so we # cannot just pass the convience library names through # without $wl, iff we do not link with $LD. # Luckily, gcc supports the same syntax we need for Sun Studio. # Supported since Solaris 2.6 (maybe 2.5.1?) case $wlarc in '') whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; *) whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; esac ;; esac link_all_deplibs_F77=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; sysv4) case $host_vendor in sni) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_F77='$CC -r -o $output$reload_objs' hardcode_direct_F77=no ;; motorola) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_F77=no ;; sysv4.3*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no export_dynamic_flag_spec_F77='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_F77=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) no_undefined_flag_F77='${wl}-z,text' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_F77='${wl}-z,text' allow_undefined_flag_F77='${wl}-z,nodefs' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_F77=':' link_all_deplibs_F77=yes export_dynamic_flag_spec_F77='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; *) ld_shlibs_F77=no ;; esac fi echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 echo "${ECHO_T}$ld_shlibs_F77" >&6 test "$ld_shlibs_F77" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_F77" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_F77=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_F77 in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 $rm conftest* printf "$lt_simple_compile_test_code" > conftest.$ac_ext 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); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_F77 pic_flag=$lt_prog_compiler_pic_F77 compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_F77 allow_undefined_flag_F77= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_F77=no else archive_cmds_need_lc_F77=yes fi allow_undefined_flag_F77=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6 ;; esac fi ;; esac echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix4* | aix5*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` else sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' fi sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; kfreebsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='GNU ld.so' ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; freebsd*) # from 4.6 on shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix3*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # find out which ABI we are using libsuff= case "$host_cpu" in x86_64*|s390x*|powerpc64*) echo '#line 15248 "configure"' > conftest.$ac_ext 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 case `/usr/bin/file conftest.$ac_objext` in *64-bit*) libsuff=64 sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" ;; esac fi rm -rf conftest* ;; esac # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; knetbsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='GNU ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; nto-qnx*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6 test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 hardcode_action_F77= if test -n "$hardcode_libdir_flag_spec_F77" || \ test -n "$runpath_var_F77" || \ test "X$hardcode_automatic_F77" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_F77" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && test "$hardcode_minus_L_F77" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_F77=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_F77=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_F77=unsupported fi echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 echo "${ECHO_T}$hardcode_action_F77" >&6 if test "$hardcode_action_F77" = relink; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi # The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are # no rules to generate ltmain.sh. if test -f "$ltmain"; then # See if we are running on zsh, and set the options which allow our commands through # without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ SED SHELL STRIP \ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ deplibs_check_method reload_flag reload_cmds need_locks \ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ old_postinstall_cmds old_postuninstall_cmds \ compiler_F77 \ CC_F77 \ LD_F77 \ lt_prog_compiler_wl_F77 \ lt_prog_compiler_pic_F77 \ lt_prog_compiler_static_F77 \ lt_prog_compiler_no_builtin_flag_F77 \ export_dynamic_flag_spec_F77 \ thread_safe_flag_spec_F77 \ whole_archive_flag_spec_F77 \ enable_shared_with_static_runtimes_F77 \ old_archive_cmds_F77 \ old_archive_from_new_cmds_F77 \ predep_objects_F77 \ postdep_objects_F77 \ predeps_F77 \ postdeps_F77 \ compiler_lib_search_path_F77 \ archive_cmds_F77 \ archive_expsym_cmds_F77 \ postinstall_cmds_F77 \ postuninstall_cmds_F77 \ old_archive_from_expsyms_cmds_F77 \ allow_undefined_flag_F77 \ no_undefined_flag_F77 \ export_symbols_cmds_F77 \ hardcode_libdir_flag_spec_F77 \ hardcode_libdir_flag_spec_ld_F77 \ hardcode_libdir_separator_F77 \ hardcode_automatic_F77 \ module_cmds_F77 \ module_expsym_cmds_F77 \ lt_cv_prog_compiler_c_o_F77 \ exclude_expsyms_F77 \ include_expsyms_F77; do case $var in old_archive_cmds_F77 | \ old_archive_from_new_cmds_F77 | \ archive_cmds_F77 | \ archive_expsym_cmds_F77 | \ module_cmds_F77 | \ module_expsym_cmds_F77 | \ old_archive_from_expsyms_cmds_F77 | \ export_symbols_cmds_F77 | \ extract_expsyms_cmds | reload_cmds | finish_cmds | \ postinstall_cmds | postuninstall_cmds | \ old_postinstall_cmds | old_postuninstall_cmds | \ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) # Double-quote double-evaled strings. eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ;; *) eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ;; esac done case $lt_echo in *'\$0 --fallback-echo"') lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` ;; esac cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### BEGIN LIBTOOL TAG CONFIG: $tagname # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_F77 # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # An echo program that does not interpret backslashes. echo=$lt_echo # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A C compiler. LTCC=$lt_LTCC # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_F77 # Is the compiler the GNU C compiler? with_gcc=$GCC_F77 # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_F77 # Whether we need hard or soft links. LN_S=$lt_LN_S # A BSD-compatible nm program. NM=$lt_NM # A symbol stripping program STRIP=$lt_STRIP # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=$MAGIC_CMD # Used on cygwin: DLL creation program. DLLTOOL="$DLLTOOL" # Used on cygwin: object dumper. OBJDUMP="$OBJDUMP" # Used on cygwin: assembler. AS="$AS" # The name of the directory that contains temporary libtool files. objdir=$objdir # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_F77 # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_F77 pic_mode=$pic_mode # What is the maximum length of a command? max_cmd_len=$lt_cv_sys_max_cmd_len # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 # Must we lock files when doing compilation? need_locks=$lt_need_locks # Do we need the lib prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_F77 # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 # Library versioning type. version_type=$version_type # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB old_archive_cmds=$lt_old_archive_cmds_F77 old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_F77 archive_expsym_cmds=$lt_archive_expsym_cmds_F77 postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds # Commands used to build a loadable module (assumed same as above if empty) module_cmds=$lt_module_cmds_F77 module_expsym_cmds=$lt_module_expsym_cmds_F77 # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. predep_objects=$lt_predep_objects_F77 # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_F77 # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_F77 # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_F77 # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_F77 # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == file_magic. file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_F77 # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_F77 # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # Same as above, but a single script fragment to be evaled but not shown. finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # This is the shared library runtime path variable. runpath_var=$runpath_var # This is the shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_F77 # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does # not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_F77 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_F77 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 # Set to yes if building a shared library automatically hardcodes DIR into the library # and all subsequent libraries and executables linked against it. hardcode_automatic=$hardcode_automatic_F77 # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_F77 # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path="$fix_srcfile_path_F77" # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_F77 # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_F77 # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_F77 # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_F77 # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ else # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the # libtool script then. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; GCJ) if test -n "$GCJ" && test "X$GCJ" != "Xno"; then # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o objext_GCJ=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}\n" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext printf "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC compiler_GCJ=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # GCJ did not exist at the time GCC didn't implicitly link libc in. archive_cmds_need_lc_GCJ=no old_archive_cmds_GCJ=$old_archive_cmds lt_prog_compiler_no_builtin_flag_GCJ= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6 if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16023: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16027: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6 if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl_GCJ= lt_prog_compiler_pic_GCJ= lt_prog_compiler_static_GCJ= echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 if test "$GCC" = yes; then lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_static_GCJ='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' ;; beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_GCJ='-fno-common' ;; interix3*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_GCJ=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_GCJ=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_GCJ='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_GCJ='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_GCJ='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-Bstatic' else lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_GCJ='-qnocommon' lt_prog_compiler_wl_GCJ='-Wl,' ;; esac ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_GCJ='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_GCJ='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_GCJ='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_GCJ='-non_shared' ;; newsos6) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; linux*) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-fpic' lt_prog_compiler_static_GCJ='-Bstatic' ;; ccc*) lt_prog_compiler_wl_GCJ='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_GCJ='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; solaris*) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_GCJ='-Qoption ld ';; *) lt_prog_compiler_wl_GCJ='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_GCJ='-Qoption ld ' lt_prog_compiler_pic_GCJ='-PIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_GCJ='-Kconform_pic' lt_prog_compiler_static_GCJ='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; unicos*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_can_build_shared_GCJ=no ;; uts4*) lt_prog_compiler_pic_GCJ='-pic' lt_prog_compiler_static_GCJ='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_GCJ=no ;; esac fi echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6 # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_GCJ"; then echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6 if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_GCJ=no ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_GCJ" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16291: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16295: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_GCJ=yes fi fi $rm conftest* fi echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6 if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then case $lt_prog_compiler_pic_GCJ in "" | " "*) ;; *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; esac else lt_prog_compiler_pic_GCJ= lt_prog_compiler_can_build_shared_GCJ=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_GCJ= ;; *) lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6 if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_GCJ=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" printf "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_GCJ=yes fi else lt_prog_compiler_static_works_GCJ=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6 if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then : else lt_prog_compiler_static_GCJ= fi echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_GCJ=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out printf "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16395: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:16399: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_GCJ=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6 hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 hard_links=yes $rm conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6 if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 runpath_var= allow_undefined_flag_GCJ= enable_shared_with_static_runtimes_GCJ=no archive_cmds_GCJ= archive_expsym_cmds_GCJ= old_archive_From_new_cmds_GCJ= old_archive_from_expsyms_cmds_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= thread_safe_flag_spec_GCJ= hardcode_libdir_flag_spec_GCJ= hardcode_libdir_flag_spec_ld_GCJ= hardcode_libdir_separator_GCJ= hardcode_direct_GCJ=no hardcode_minus_L_GCJ=no hardcode_shlibpath_var_GCJ=unsupported link_all_deplibs_GCJ=unknown hardcode_automatic_GCJ=no module_cmds_GCJ= module_expsym_cmds_GCJ= always_export_symbols_GCJ=no export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms_GCJ= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. extract_expsyms_cmds= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` case $host_os in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_GCJ=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_GCJ= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs_GCJ=no cat <&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. EOF fi ;; amigaos*) archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can't use # them. ld_shlibs_GCJ=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_GCJ=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_GCJ=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_GCJ='-L$libdir' allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=no enable_shared_with_static_runtimes_GCJ=yes export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_GCJ=no fi ;; interix3*) hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; linux*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi else ld_shlibs_GCJ=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_GCJ=no cat <&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. EOF elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_GCJ=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac ;; sunos4*) archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac if test "$ld_shlibs_GCJ" = no; then runpath_var= hardcode_libdir_flag_spec_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=yes archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L_GCJ=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_GCJ=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_GCJ='' hardcode_direct_GCJ=yes hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=yes if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 hardcode_direct_GCJ=yes else # We have old collect2 hardcode_direct_GCJ=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_GCJ=yes hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_libdir_separator_GCJ= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_GCJ=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_GCJ='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* 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 conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'`; fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_GCJ="-z nodefs" archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* 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 conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'`; fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_GCJ=' ${wl}-bernotok' allow_undefined_flag_GCJ=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_GCJ='$convenience' archive_cmds_need_lc_GCJ=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # see comment about different semantics on the GNU ld section ld_shlibs_GCJ=no ;; bsdi[45]*) export_dynamic_flag_spec_GCJ=-rdynamic ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec_GCJ=' ' allow_undefined_flag_GCJ=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_GCJ='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_GCJ=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_GCJ=no hardcode_direct_GCJ=no hardcode_automatic_GCJ=yes hardcode_shlibpath_var_GCJ=unsupported whole_archive_flag_spec_GCJ='' link_all_deplibs_GCJ=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_GCJ=no ;; esac fi ;; dgux*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; freebsd1*) ld_shlibs_GCJ=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | kfreebsd*-gnu | dragonfly*) archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no ;; *) hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' fi hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: link_all_deplibs_GCJ=yes ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; newsos6) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_shlibpath_var_GCJ=no ;; openbsd*) hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' ;; *) archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' ;; esac fi ;; os2*) hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes allow_undefined_flag_GCJ=unsupported archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' fi hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_GCJ='-rpath $libdir' fi hardcode_libdir_separator_GCJ=: ;; solaris*) no_undefined_flag_GCJ=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' fi hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_shlibpath_var_GCJ=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine linker options so we # cannot just pass the convience library names through # without $wl, iff we do not link with $LD. # Luckily, gcc supports the same syntax we need for Sun Studio. # Supported since Solaris 2.6 (maybe 2.5.1?) case $wlarc in '') whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; *) whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; esac ;; esac link_all_deplibs_GCJ=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; sysv4) case $host_vendor in sni) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_GCJ='$CC -r -o $output$reload_objs' hardcode_direct_GCJ=no ;; motorola) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_GCJ=no ;; sysv4.3*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no export_dynamic_flag_spec_GCJ='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_GCJ=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) no_undefined_flag_GCJ='${wl}-z,text' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_GCJ='${wl}-z,text' allow_undefined_flag_GCJ='${wl}-z,nodefs' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; *) ld_shlibs_GCJ=no ;; esac fi echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 echo "${ECHO_T}$ld_shlibs_GCJ" >&6 test "$ld_shlibs_GCJ" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_GCJ" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_GCJ=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_GCJ in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 $rm conftest* printf "$lt_simple_compile_test_code" > conftest.$ac_ext 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); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_GCJ pic_flag=$lt_prog_compiler_pic_GCJ compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ allow_undefined_flag_GCJ= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_GCJ=no else archive_cmds_need_lc_GCJ=yes fi allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6 ;; esac fi ;; esac echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix4* | aix5*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. if test "$GCC" = yes; then sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` else sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' fi sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; kfreebsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='GNU ld.so' ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; freebsd*) # from 4.6 on shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix3*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # find out which ABI we are using libsuff= case "$host_cpu" in x86_64*|s390x*|powerpc64*) echo '#line 17864 "configure"' > conftest.$ac_ext 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 case `/usr/bin/file conftest.$ac_objext` in *64-bit*) libsuff=64 sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" ;; esac fi rm -rf conftest* ;; esac # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; knetbsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='GNU ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; nto-qnx*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6 test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 hardcode_action_GCJ= if test -n "$hardcode_libdir_flag_spec_GCJ" || \ test -n "$runpath_var_GCJ" || \ test "X$hardcode_automatic_GCJ" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_GCJ" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && test "$hardcode_minus_L_GCJ" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_GCJ=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_GCJ=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_GCJ=unsupported fi echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 echo "${ECHO_T}$hardcode_action_GCJ" >&6 if test "$hardcode_action_GCJ" = relink; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi # The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are # no rules to generate ltmain.sh. if test -f "$ltmain"; then # See if we are running on zsh, and set the options which allow our commands through # without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ SED SHELL STRIP \ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ deplibs_check_method reload_flag reload_cmds need_locks \ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ old_postinstall_cmds old_postuninstall_cmds \ compiler_GCJ \ CC_GCJ \ LD_GCJ \ lt_prog_compiler_wl_GCJ \ lt_prog_compiler_pic_GCJ \ lt_prog_compiler_static_GCJ \ lt_prog_compiler_no_builtin_flag_GCJ \ export_dynamic_flag_spec_GCJ \ thread_safe_flag_spec_GCJ \ whole_archive_flag_spec_GCJ \ enable_shared_with_static_runtimes_GCJ \ old_archive_cmds_GCJ \ old_archive_from_new_cmds_GCJ \ predep_objects_GCJ \ postdep_objects_GCJ \ predeps_GCJ \ postdeps_GCJ \ compiler_lib_search_path_GCJ \ archive_cmds_GCJ \ archive_expsym_cmds_GCJ \ postinstall_cmds_GCJ \ postuninstall_cmds_GCJ \ old_archive_from_expsyms_cmds_GCJ \ allow_undefined_flag_GCJ \ no_undefined_flag_GCJ \ export_symbols_cmds_GCJ \ hardcode_libdir_flag_spec_GCJ \ hardcode_libdir_flag_spec_ld_GCJ \ hardcode_libdir_separator_GCJ \ hardcode_automatic_GCJ \ module_cmds_GCJ \ module_expsym_cmds_GCJ \ lt_cv_prog_compiler_c_o_GCJ \ exclude_expsyms_GCJ \ include_expsyms_GCJ; do case $var in old_archive_cmds_GCJ | \ old_archive_from_new_cmds_GCJ | \ archive_cmds_GCJ | \ archive_expsym_cmds_GCJ | \ module_cmds_GCJ | \ module_expsym_cmds_GCJ | \ old_archive_from_expsyms_cmds_GCJ | \ export_symbols_cmds_GCJ | \ extract_expsyms_cmds | reload_cmds | finish_cmds | \ postinstall_cmds | postuninstall_cmds | \ old_postinstall_cmds | old_postuninstall_cmds | \ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) # Double-quote double-evaled strings. eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ;; *) eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ;; esac done case $lt_echo in *'\$0 --fallback-echo"') lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` ;; esac cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### BEGIN LIBTOOL TAG CONFIG: $tagname # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_GCJ # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # An echo program that does not interpret backslashes. echo=$lt_echo # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A C compiler. LTCC=$lt_LTCC # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_GCJ # Is the compiler the GNU C compiler? with_gcc=$GCC_GCJ # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_GCJ # Whether we need hard or soft links. LN_S=$lt_LN_S # A BSD-compatible nm program. NM=$lt_NM # A symbol stripping program STRIP=$lt_STRIP # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=$MAGIC_CMD # Used on cygwin: DLL creation program. DLLTOOL="$DLLTOOL" # Used on cygwin: object dumper. OBJDUMP="$OBJDUMP" # Used on cygwin: assembler. AS="$AS" # The name of the directory that contains temporary libtool files. objdir=$objdir # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_GCJ # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_GCJ pic_mode=$pic_mode # What is the maximum length of a command? max_cmd_len=$lt_cv_sys_max_cmd_len # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ # Must we lock files when doing compilation? need_locks=$lt_need_locks # Do we need the lib prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_GCJ # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ # Library versioning type. version_type=$version_type # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB old_archive_cmds=$lt_old_archive_cmds_GCJ old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_GCJ archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds # Commands used to build a loadable module (assumed same as above if empty) module_cmds=$lt_module_cmds_GCJ module_expsym_cmds=$lt_module_expsym_cmds_GCJ # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. predep_objects=$lt_predep_objects_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_GCJ # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_GCJ # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == file_magic. file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_GCJ # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_GCJ # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # Same as above, but a single script fragment to be evaled but not shown. finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # This is the shared library runtime path variable. runpath_var=$runpath_var # This is the shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_GCJ # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does # not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_GCJ # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_GCJ # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ # Set to yes if building a shared library automatically hardcodes DIR into the library # and all subsequent libraries and executables linked against it. hardcode_automatic=$hardcode_automatic_GCJ # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_GCJ # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path="$fix_srcfile_path_GCJ" # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_GCJ # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_GCJ # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_GCJ # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_GCJ # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ else # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the # libtool script then. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; RC) # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o objext_RC=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext printf "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${RC-"windres"} compiler=$CC compiler_RC=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` lt_cv_prog_compiler_c_o_RC=yes # The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are # no rules to generate ltmain.sh. if test -f "$ltmain"; then # See if we are running on zsh, and set the options which allow our commands through # without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ SED SHELL STRIP \ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ deplibs_check_method reload_flag reload_cmds need_locks \ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ old_postinstall_cmds old_postuninstall_cmds \ compiler_RC \ CC_RC \ LD_RC \ lt_prog_compiler_wl_RC \ lt_prog_compiler_pic_RC \ lt_prog_compiler_static_RC \ lt_prog_compiler_no_builtin_flag_RC \ export_dynamic_flag_spec_RC \ thread_safe_flag_spec_RC \ whole_archive_flag_spec_RC \ enable_shared_with_static_runtimes_RC \ old_archive_cmds_RC \ old_archive_from_new_cmds_RC \ predep_objects_RC \ postdep_objects_RC \ predeps_RC \ postdeps_RC \ compiler_lib_search_path_RC \ archive_cmds_RC \ archive_expsym_cmds_RC \ postinstall_cmds_RC \ postuninstall_cmds_RC \ old_archive_from_expsyms_cmds_RC \ allow_undefined_flag_RC \ no_undefined_flag_RC \ export_symbols_cmds_RC \ hardcode_libdir_flag_spec_RC \ hardcode_libdir_flag_spec_ld_RC \ hardcode_libdir_separator_RC \ hardcode_automatic_RC \ module_cmds_RC \ module_expsym_cmds_RC \ lt_cv_prog_compiler_c_o_RC \ exclude_expsyms_RC \ include_expsyms_RC; do case $var in old_archive_cmds_RC | \ old_archive_from_new_cmds_RC | \ archive_cmds_RC | \ archive_expsym_cmds_RC | \ module_cmds_RC | \ module_expsym_cmds_RC | \ old_archive_from_expsyms_cmds_RC | \ export_symbols_cmds_RC | \ extract_expsyms_cmds | reload_cmds | finish_cmds | \ postinstall_cmds | postuninstall_cmds | \ old_postinstall_cmds | old_postuninstall_cmds | \ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) # Double-quote double-evaled strings. eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ;; *) eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ;; esac done case $lt_echo in *'\$0 --fallback-echo"') lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` ;; esac cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### BEGIN LIBTOOL TAG CONFIG: $tagname # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_RC # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # An echo program that does not interpret backslashes. echo=$lt_echo # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A C compiler. LTCC=$lt_LTCC # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_RC # Is the compiler the GNU C compiler? with_gcc=$GCC_RC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_RC # Whether we need hard or soft links. LN_S=$lt_LN_S # A BSD-compatible nm program. NM=$lt_NM # A symbol stripping program STRIP=$lt_STRIP # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=$MAGIC_CMD # Used on cygwin: DLL creation program. DLLTOOL="$DLLTOOL" # Used on cygwin: object dumper. OBJDUMP="$OBJDUMP" # Used on cygwin: assembler. AS="$AS" # The name of the directory that contains temporary libtool files. objdir=$objdir # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_RC # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_RC pic_mode=$pic_mode # What is the maximum length of a command? max_cmd_len=$lt_cv_sys_max_cmd_len # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC # Must we lock files when doing compilation? need_locks=$lt_need_locks # Do we need the lib prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_RC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC # Library versioning type. version_type=$version_type # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB old_archive_cmds=$lt_old_archive_cmds_RC old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_RC archive_expsym_cmds=$lt_archive_expsym_cmds_RC postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds # Commands used to build a loadable module (assumed same as above if empty) module_cmds=$lt_module_cmds_RC module_expsym_cmds=$lt_module_expsym_cmds_RC # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. predep_objects=$lt_predep_objects_RC # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_RC # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_RC # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_RC # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_RC # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == file_magic. file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_RC # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_RC # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # Same as above, but a single script fragment to be evaled but not shown. finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # This is the shared library runtime path variable. runpath_var=$runpath_var # This is the shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_RC # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does # not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_RC # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_RC # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_RC # Set to yes if building a shared library automatically hardcodes DIR into the library # and all subsequent libraries and executables linked against it. hardcode_automatic=$hardcode_automatic_RC # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_RC # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path="$fix_srcfile_path_RC" # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_RC # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_RC # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_RC # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_RC # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ else # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the # libtool script then. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ;; *) { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 echo "$as_me: error: Unsupported tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; esac # Append the new tag name to the list of available tags. if test -n "$tagname" ; then available_tags="$available_tags $tagname" fi fi done IFS="$lt_save_ifs" # Now substitute the updated list of available tags. if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then mv "${ofile}T" "$ofile" chmod +x "$ofile" else rm -f "${ofile}T" { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 echo "$as_me: error: unable to update list of available tagged configurations." >&2;} { (exit 1); exit 1; }; } fi fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' # Prevent multiple expansion echo "$as_me:$LINENO: checking for ${CC-cc} option to accept ANSI C" >&5 echo $ECHO_N "checking for ${CC-cc} option to accept ANSI C... $ECHO_C" >&6 if test "${am_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else am_cv_prog_cc_stdc=no ac_save_CC="$CC" # 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 -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" cat >conftest.$ac_ext <<_ACEOF /* 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 rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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 am_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.err conftest.$ac_objext conftest.$ac_ext done CC="$ac_save_CC" fi if test -z "$am_cv_prog_cc_stdc"; then echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 else echo "$as_me:$LINENO: result: $am_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$am_cv_prog_cc_stdc" >&6 fi case "x$am_cv_prog_cc_stdc" in x|xno) ;; *) CC="$CC $am_cv_prog_cc_stdc" ;; esac 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 /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* 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 /* 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 /* 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 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 #------------------------------------------------------------------------------ # The gnomeui library is required but the gnomeprint and gnomeprintui libraries # are optional. First we verify the gnomeui library is present. Then we check # for the presence of the gnomeprint libraries and set a flag to indicate the # print libraries are present. Finally, we run pkg-config to get the compile and # link flags for the combined set of libraries to eliminate duplications in # the CFLAGS. if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 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 ;; 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 -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_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 ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi PKG_CONFIG=$ac_pt_PKG_CONFIG else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6 if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 PKG_CONFIG="" fi fi pkg_failed=no echo "$as_me:$LINENO: checking for GUI" >&5 echo $ECHO_N "checking for GUI... $ECHO_C" >&6 if test -n "$PKG_CONFIG"; then if test -n "$GUI_CFLAGS"; then pkg_cv_GUI_CFLAGS="$GUI_CFLAGS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.8.0 pango >= 1.12.4 libglade-2.0 >= 2.5.1\"") >&5 ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.8.0 pango >= 1.12.4 libglade-2.0 >= 2.5.1") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_GUI_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.8.0 pango >= 1.12.4 libglade-2.0 >= 2.5.1" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$GUI_LIBS"; then pkg_cv_GUI_LIBS="$GUI_LIBS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.8.0 pango >= 1.12.4 libglade-2.0 >= 2.5.1\"") >&5 ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.8.0 pango >= 1.12.4 libglade-2.0 >= 2.5.1") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_GUI_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.8.0 pango >= 1.12.4 libglade-2.0 >= 2.5.1" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GUI_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gtk+-2.0 >= 2.8.0 pango >= 1.12.4 libglade-2.0 >= 2.5.1"` else GUI_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk+-2.0 >= 2.8.0 pango >= 1.12.4 libglade-2.0 >= 2.5.1"` fi # Put the nasty error message in config.log where it belongs echo "$GUI_PKG_ERRORS" >&5 { { echo "$as_me:$LINENO: error: Package requirements (gtk+-2.0 >= 2.8.0 pango >= 1.12.4 libglade-2.0 >= 2.5.1) were not met: $GUI_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GUI_CFLAGS and GUI_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " >&5 echo "$as_me: error: Package requirements (gtk+-2.0 >= 2.8.0 pango >= 1.12.4 libglade-2.0 >= 2.5.1) were not met: $GUI_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GUI_CFLAGS and GUI_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " >&2;} { (exit 1); exit 1; }; } elif test $pkg_failed = untried; then { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GUI_CFLAGS and GUI_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details." >&5 echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GUI_CFLAGS and GUI_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else GUI_CFLAGS=$pkg_cv_GUI_CFLAGS GUI_LIBS=$pkg_cv_GUI_LIBS echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 : fi pkg_failed=no echo "$as_me:$LINENO: checking for PRINT" >&5 echo $ECHO_N "checking for PRINT... $ECHO_C" >&6 if test -n "$PKG_CONFIG"; then if test -n "$PRINT_CFLAGS"; then pkg_cv_PRINT_CFLAGS="$PRINT_CFLAGS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgnomeprint-2.2 libgnomeprintui-2.2\"") >&5 ($PKG_CONFIG --exists --print-errors "libgnomeprint-2.2 libgnomeprintui-2.2") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_PRINT_CFLAGS=`$PKG_CONFIG --cflags "libgnomeprint-2.2 libgnomeprintui-2.2" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$PRINT_LIBS"; then pkg_cv_PRINT_LIBS="$PRINT_LIBS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgnomeprint-2.2 libgnomeprintui-2.2\"") >&5 ($PKG_CONFIG --exists --print-errors "libgnomeprint-2.2 libgnomeprintui-2.2") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_PRINT_LIBS=`$PKG_CONFIG --libs "libgnomeprint-2.2 libgnomeprintui-2.2" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then PRINT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libgnomeprint-2.2 libgnomeprintui-2.2"` else PRINT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libgnomeprint-2.2 libgnomeprintui-2.2"` fi # Put the nasty error message in config.log where it belongs echo "$PRINT_PKG_ERRORS" >&5 echo "gnomeprint libraries are not available." elif test $pkg_failed = untried; then echo "gnomeprint libraries are not available." else PRINT_CFLAGS=$pkg_cv_PRINT_CFLAGS PRINT_LIBS=$pkg_cv_PRINT_LIBS echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 gpaint_have_gnome_print=1 fi pkg_failed=no echo "$as_me:$LINENO: checking for GTKPRINT" >&5 echo $ECHO_N "checking for GTKPRINT... $ECHO_C" >&6 if test -n "$PKG_CONFIG"; then if test -n "$GTKPRINT_CFLAGS"; then pkg_cv_GTKPRINT_CFLAGS="$GTKPRINT_CFLAGS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.10.0\"") >&5 ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.10.0") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_GTKPRINT_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.10.0" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$GTKPRINT_LIBS"; then pkg_cv_GTKPRINT_LIBS="$GTKPRINT_LIBS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.10.0\"") >&5 ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.10.0") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_GTKPRINT_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.10.0" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTKPRINT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gtk+-2.0 >= 2.10.0"` else GTKPRINT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk+-2.0 >= 2.10.0"` fi # Put the nasty error message in config.log where it belongs echo "$GTKPRINT_PKG_ERRORS" >&5 echo "GtkPrint not available elif test $pkg_failed = untried; then echo "GtkPrint not available else GTKPRINT_CFLAGS=$pkg_cv_GTKPRINT_CFLAGS GTKPRINT_LIBS=$pkg_cv_GTKPRINT_LIBS echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 gpaint_have_gtk_print=1 fi if test "x$gpaint_have_gtk_print" = "x1"; then cat >>confdefs.h <<\_ACEOF #define HAVE_GTK_PRINT "1" _ACEOF echo "printing support using gtk+" elif test "x$gpaint_have_gnome_print" = "x1"; then cat >>confdefs.h <<\_ACEOF #define HAVE_GNOME_PRINT "1" _ACEOF gpaint_gnome_libs="libgnomeprint-2.2 libgnomeprintui-2.2" echo "configuring with libraries: " $gpaint_gnome_libs fi GETTEXT_PACKAGE=gpaint-2 cat >>confdefs.h <<_ACEOF #define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" _ACEOF ALL_LINGUAS="am ca cs de es fr ga ja nl pt pt_BR sv uk" 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 /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 /* 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 ac_cpp_err=$ac_cpp_err$ac_c_werror_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:$ac_c_preproc_warn_flag 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 compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; 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: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&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;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------------------------------- ## ## Report this to http://savannah.gnu.org/bugs/?group=gpaint ## ## --------------------------------------------------------- ## _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 /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 /* 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 ac_cpp_err=$ac_cpp_err$ac_c_werror_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:$ac_c_preproc_warn_flag 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 compiler's result" >&5 echo "$as_me: WARNING: libintl.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; 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: see the Autoconf documentation" >&5 echo "$as_me: WARNING: libintl.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&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;} { echo "$as_me:$LINENO: WARNING: libintl.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: libintl.h: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------------------------------- ## ## Report this to http://savannah.gnu.org/bugs/?group=gpaint ## ## --------------------------------------------------------- ## _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 ngettext in libc" >&5 echo $ECHO_N "checking for ngettext in libc... $ECHO_C" >&6 if test "${gt_cv_func_ngettext_libc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return !ngettext ("","", 1) ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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_ngettext_libc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_ngettext_libc=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $gt_cv_func_ngettext_libc" >&5 echo "${ECHO_T}$gt_cv_func_ngettext_libc" >&6 if test "$gt_cv_func_ngettext_libc" = "yes" ; then 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 /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return !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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 fi if test "$gt_cv_func_ngettext_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 /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* 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 #undef $ac_func /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 "$gt_cv_func_ngettext_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 /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 ngettext in -lintl" >&5 echo $ECHO_N "checking for ngettext in -lintl... $ECHO_C" >&6 if test "${ac_cv_lib_intl_ngettext+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 /* 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 ngettext (); int main () { ngettext (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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_ngettext=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_intl_ngettext=no fi rm -f conftest.err 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_ngettext" >&5 echo "${ECHO_T}$ac_cv_lib_intl_ngettext" >&6 if test $ac_cv_lib_intl_ngettext = 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 /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 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 ngettext in -lintl" >&5 echo $ECHO_N "checking for ngettext in -lintl... $ECHO_C" >&6 if test "${ac_cv_lib_intl_ngettext+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 /* 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 ngettext (); int main () { ngettext (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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_ngettext=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_intl_ngettext=no fi rm -f conftest.err 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_ngettext" >&5 echo "${ECHO_T}$ac_cv_lib_intl_ngettext" >&6 if test $ac_cv_lib_intl_ngettext = yes; then 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 /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 else : fi fi # # If we found libintl, then check in it for bind_textdomain_codeset(); # we'll prefer libc if neither have bind_textdomain_codeset(), # and both have dgettext and ngettext # if test "$gt_cv_func_dgettext_libintl" = "yes" ; then glib_save_LIBS="$LIBS" LIBS="$LIBS -lintl $libintl_extra_libs" unset ac_cv_func_bind_textdomain_codeset for ac_func in bind_textdomain_codeset do 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 /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* 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 #undef $ac_func /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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" \ && test "$gt_cv_func_ngettext_libc" = "yes"; then gt_cv_func_dgettext_libintl=no fi fi fi fi if test "$gt_cv_func_dgettext_libc" = "yes" \ || test "$gt_cv_func_dgettext_libintl" = "yes"; then gt_cv_have_gettext=yes fi if test "$gt_cv_func_dgettext_libintl" = "yes"; then INTLLIBS="-lintl $libintl_extra_libs" fi if test "$gt_cv_have_gettext" = "yes"; then 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 glib_save_LIBS="$LIBS" LIBS="$LIBS $INTLLIBS" 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 /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* 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 #undef $ac_func /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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.err 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 /* 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>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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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 case $host in *-*-solaris*) echo "$as_me:$LINENO: checking for bind_textdomain_codeset" >&5 echo $ECHO_N "checking for bind_textdomain_codeset... $ECHO_C" >&6 if test "${ac_cv_func_bind_textdomain_codeset+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define bind_textdomain_codeset to an innocuous variant, in case declares bind_textdomain_codeset. For example, HP-UX 11i declares gettimeofday. */ #define bind_textdomain_codeset innocuous_bind_textdomain_codeset /* System header to define __stub macros and hopefully few prototypes, which can conflict with char bind_textdomain_codeset (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef bind_textdomain_codeset /* 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 bind_textdomain_codeset (); /* 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_bind_textdomain_codeset) || defined (__stub___bind_textdomain_codeset) choke me #else char (*f) () = bind_textdomain_codeset; #endif #ifdef __cplusplus } #endif int main () { return f != bind_textdomain_codeset; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (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); }; } && { 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_func_bind_textdomain_codeset=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_bind_textdomain_codeset=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_bind_textdomain_codeset" >&5 echo "${ECHO_T}$ac_cv_func_bind_textdomain_codeset" >&6 if test $ac_cv_func_bind_textdomain_codeset = yes; then CATOBJEXT=.gmo DATADIRNAME=share else CATOBJEXT=.mo DATADIRNAME=lib fi ;; *) CATOBJEXT=.mo DATADIRNAME=lib ;; esac fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$glib_save_LIBS" INSTOBJEXT=.mo else gt_cv_have_gettext=no fi fi fi if test "$gt_cv_have_gettext" = "yes" ; then 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-1" for lang in $ALL_LINGUAS; do GMOFILES="$GMOFILES $lang.gmo" POFILES="$POFILES $lang.po" done if test "$gt_cv_have_gettext" = "yes"; then if test "x$ALL_LINGUAS" = "x"; then LINGUAS= else 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 presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then NEW_LINGUAS="$NEW_LINGUAS $presentlang" fi done LINGUAS=$NEW_LINGUAS 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 ac_config_files="$ac_config_files Makefile src/Makefile po/Makefile.in" 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 # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then we branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. cat >confdef2opt.sed <<\_ACEOF t clear : clear s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g t quote s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g t quote d : quote s,[ `~#$^&*(){}\\|;'"<>?],\\&,g s,\[,\\&,g s,\],\\&,g s,\$,$$,g p _ACEOF # We use echo to avoid assuming a particular line-breaking character. # The extra dot is to prevent the shell from consuming trailing # line-breaks from the sub-command output. A line-break within # single-quotes doesn't work because, if this script is created in a # platform that uses two characters for line-breaks (e.g., DOS), tr # would break. ac_LF_and_DOT=`echo; echo .` DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` rm -f confdef2opt.sed 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 : ${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 DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/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 -z "`(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 test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # 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 gpaint-2 $as_me 0.3.3, which was generated by GNU Autoconf 2.59. 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 Configuration files: $config_files Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ gpaint-2 config.status 0.3.3 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2003 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. # _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" ;; "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; *) { { 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_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,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t s,@MAINT@,$MAINT,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t s,@CPPFLAGS@,$CPPFLAGS,;t t s,@ac_ct_CC@,$ac_ct_CC,;t t s,@EXEEXT@,$EXEEXT,;t t s,@OBJEXT@,$OBJEXT,;t t s,@build@,$build,;t t s,@build_cpu@,$build_cpu,;t t s,@build_vendor@,$build_vendor,;t t s,@build_os@,$build_os,;t t s,@host@,$host,;t t s,@host_cpu@,$host_cpu,;t t s,@host_vendor@,$host_vendor,;t t s,@host_os@,$host_os,;t t s,@EGREP@,$EGREP,;t t s,@LN_S@,$LN_S,;t t s,@ECHO@,$ECHO,;t t s,@AR@,$AR,;t t s,@ac_ct_AR@,$ac_ct_AR,;t t s,@RANLIB@,$RANLIB,;t t s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t s,@STRIP@,$STRIP,;t t s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t s,@CPP@,$CPP,;t t s,@CXX@,$CXX,;t t s,@CXXFLAGS@,$CXXFLAGS,;t t s,@ac_ct_CXX@,$ac_ct_CXX,;t t s,@CXXCPP@,$CXXCPP,;t t s,@F77@,$F77,;t t s,@FFLAGS@,$FFLAGS,;t t s,@ac_ct_F77@,$ac_ct_F77,;t t s,@LIBTOOL@,$LIBTOOL,;t t s,@PKG_CONFIG@,$PKG_CONFIG,;t t s,@ac_pt_PKG_CONFIG@,$ac_pt_PKG_CONFIG,;t t s,@GUI_CFLAGS@,$GUI_CFLAGS,;t t s,@GUI_LIBS@,$GUI_LIBS,;t t s,@PRINT_CFLAGS@,$PRINT_CFLAGS,;t t s,@PRINT_LIBS@,$PRINT_LIBS,;t t s,@GTKPRINT_CFLAGS@,$GTKPRINT_CFLAGS,;t t s,@GTKPRINT_LIBS@,$GTKPRINT_LIBS,;t t s,@GETTEXT_PACKAGE@,$GETTEXT_PACKAGE,;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,@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 # Do not use `cd foo && pwd` to compute absolute paths, because # the directories may not exist. case `pwd` in .) ac_abs_builddir="$ac_dir";; *) case "$ac_dir" in .) ac_abs_builddir=`pwd`;; [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; *) ac_abs_builddir=`pwd`/"$ac_dir";; esac;; esac case $ac_abs_builddir in .) ac_abs_top_builddir=${ac_top_builddir}.;; *) case ${ac_top_builddir}. in .) ac_abs_top_builddir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; esac;; esac case $ac_abs_builddir in .) ac_abs_srcdir=$ac_srcdir;; *) case $ac_srcdir in .) ac_abs_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; esac;; esac case $ac_abs_builddir in .) ac_abs_top_srcdir=$ac_top_srcdir;; *) case $ac_top_srcdir in .) ac_abs_top_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; esac;; esac 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_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'` { 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 # Do not use `cd foo && pwd` to compute absolute paths, because # the directories may not exist. case `pwd` in .) ac_abs_builddir="$ac_dir";; *) case "$ac_dir" in .) ac_abs_builddir=`pwd`;; [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; *) ac_abs_builddir=`pwd`/"$ac_dir";; esac;; esac case $ac_abs_builddir in .) ac_abs_top_builddir=${ac_top_builddir}.;; *) case ${ac_top_builddir}. in .) ac_abs_top_builddir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; esac;; esac case $ac_abs_builddir in .) ac_abs_srcdir=$ac_srcdir;; *) case $ac_srcdir in .) ac_abs_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; esac;; esac case $ac_abs_builddir in .) ac_abs_top_srcdir=$ac_top_srcdir;; *) case $ac_top_srcdir in .) ac_abs_top_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; esac;; esac { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 echo "$as_me: executing $ac_dest commands" >&6;} case $ac_dest in default-1 ) case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac ;; 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 echo " Configuration: Source code location: ${srcdir} Compiler: ${CC} Extra Compiler Warnings: ${EXTRA_WARNING_CFLAGS} " gpaint-2-0.3.3/configure.in0000664000076400007640000000376710671207535012425 00000000000000dnl Process this file with autoconf to produce a configure script. AC_INIT(gpaint-2, 0.3.3, http://savannah.gnu.org/bugs/?group=gpaint) AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) AM_MAINTAINER_MODE dnl AM_CONFIG_HEADER(config.h) AC_ISC_POSIX AC_PROG_CC AM_PROG_LIBTOOL AM_PROG_CC_STDC AC_HEADER_STDC #------------------------------------------------------------------------------ # The gnomeui library is required but the gnomeprint and gnomeprintui libraries # are optional. First we verify the gnomeui library is present. Then we check # for the presence of the gnomeprint libraries and set a flag to indicate the # print libraries are present. Finally, we run pkg-config to get the compile and # link flags for the combined set of libraries to eliminate duplications in # the CFLAGS. PKG_CHECK_MODULES(GUI, [gtk+-2.0 >= 2.8.0 pango >= 1.12.4 libglade-2.0 >= 2.5.1]) PKG_CHECK_MODULES(PRINT, libgnomeprint-2.2 libgnomeprintui-2.2,gpaint_have_gnome_print=1, echo "gnomeprint libraries are not available.") PKG_CHECK_MODULES(GTKPRINT, gtk+-2.0 >= 2.10.0, gpaint_have_gtk_print=1, echo "GtkPrint not available, not using for printing functions.") AC_SUBST(GUI_CFLAGS) AC_SUBST(GUI_LIBS) if test "x$gpaint_have_gtk_print" = "x1"; then AC_DEFINE(HAVE_GTK_PRINT, "1") echo "printing support using gtk+" elif test "x$gpaint_have_gnome_print" = "x1"; then AC_DEFINE(HAVE_GNOME_PRINT,"1") gpaint_gnome_libs="libgnomeprint-2.2 libgnomeprintui-2.2" echo "configuring with libraries: " $gpaint_gnome_libs fi AC_SUBST(PRINT_CFLAGS) AC_SUBST(PRINT_LIBS) GETTEXT_PACKAGE=gpaint-2 AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE") dnl Add the languages which your application supports here. ALL_LINGUAS="am ca cs de es fr ga ja nl pt pt_BR sv uk" AM_GLIB_GNU_GETTEXT AC_OUTPUT([ Makefile src/Makefile po/Makefile.in ]) echo " Configuration: Source code location: ${srcdir} Compiler: ${CC} Extra Compiler Warnings: ${EXTRA_WARNING_CFLAGS} " gpaint-2-0.3.3/install-sh0000775000076400007640000001273607557725434012130 00000000000000#!/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 gpaint-2-0.3.3/ltmain.sh0000644000076400007640000057753010435532340011727 00000000000000# ltmain.sh - Provide generalized library-building support services. # NOTE: Changing this file will not affect anything until you rerun configure. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 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 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # 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. basename="s,^.*/,,g" # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" # The name of this program: progname=`echo "$progpath" | $SED $basename` modename="$progname" # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 PROGRAM=ltmain.sh PACKAGE=libtool VERSION=1.5.22 TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi # Check that we have a working $echo. if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then # Yippee, $echo works! : else # Restart under the correct shell, and then maybe $echo will work. exec $SHELL "$progpath" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE fi # Global variables. mode=$default_mode nonopt= prev= prevopt= run= show="$echo" show_help= execute_dlfiles= duplicate_deps=no preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" ##################################### # Shell function definitions: # This seems to be the best place for them # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $mkdir "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || { $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 exit $EXIT_FAILURE } fi $echo "X$my_tmpdir" | $Xsed } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. func_win32_libid () { win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then win32_nmres=`eval $NM -f posix -A $1 | \ $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $echo $win32_libid_type } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case "$@ " in " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then $echo "$modename: unable to infer tagged configuration" $echo "$modename: specify a tag with \`--tag'" 1>&2 exit $EXIT_FAILURE # else # $echo "$modename: using $tagname tagged configuration" fi ;; esac fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 exit $EXIT_FAILURE fi } # func_extract_archives gentop oldlib ... func_extract_archives () { my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" my_status="" $show "${rm}r $my_gentop" $run ${rm}r "$my_gentop" $show "$mkdir $my_gentop" $run $mkdir "$my_gentop" my_status=$? if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then exit $my_status fi for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` my_xdir="$my_gentop/$my_xlib" $show "${rm}r $my_xdir" $run ${rm}r "$my_xdir" $show "$mkdir $my_xdir" $run $mkdir "$my_xdir" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then exit $exit_status fi case $host in *-darwin*) $show "Extracting $my_xabs" # Do not bother doing anything if just a dry run if test -z "$run"; then darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` if test -n "$darwin_arches"; then darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= $show "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we have a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` lipo -create -output "$darwin_file" $darwin_files done # $darwin_filelist ${rm}r unfat-$$ cd "$darwin_orig_dir" else cd "$darwin_orig_dir" func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches fi # $run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # End of Shell function definitions ##################################### # Darwin sucks eval std_shrext=\"$shrext_cmds\" disable_libs=no # Parse our command line options once, thoroughly. while test "$#" -gt 0 do arg="$1" shift case $arg in -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; *) optarg= ;; esac # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in execute_dlfiles) execute_dlfiles="$execute_dlfiles $arg" ;; tag) tagname="$arg" preserve_args="${preserve_args}=$arg" # Check whether tagname contains only valid characters case $tagname in *[!-_A-Za-z0-9,/]*) $echo "$progname: invalid tag name: $tagname" 1>&2 exit $EXIT_FAILURE ;; esac case $tagname in CC) # Don't test for the "default" C tag, as we know, it's there, but # not specially marked. ;; *) if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then taglist="$taglist $tagname" # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" else $echo "$progname: ignoring unknown tag $tagname" 1>&2 fi ;; esac ;; *) eval "$prev=\$arg" ;; esac prev= prevopt= continue fi # Have we seen a non-optional argument yet? case $arg in --help) show_help=yes ;; --version) $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" $echo $echo "Copyright (C) 2005 Free Software Foundation, Inc." $echo "This is free software; see the source for copying conditions. There is NO" $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." exit $? ;; --config) ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath # Now print the configurations for the tags. for tagname in $taglist; do ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" done exit $? ;; --debug) $echo "$progname: enabling shell trace mode" set -x preserve_args="$preserve_args $arg" ;; --dry-run | -n) run=: ;; --features) $echo "host: $host" if test "$build_libtool_libs" = yes; then $echo "enable shared libraries" else $echo "disable shared libraries" fi if test "$build_old_libs" = yes; then $echo "enable static libraries" else $echo "disable static libraries" fi exit $? ;; --finish) mode="finish" ;; --mode) prevopt="--mode" prev=mode ;; --mode=*) mode="$optarg" ;; --preserve-dup-deps) duplicate_deps="yes" ;; --quiet | --silent) show=: preserve_args="$preserve_args $arg" ;; --tag) prevopt="--tag" prev=tag preserve_args="$preserve_args --tag" ;; --tag=*) set tag "$optarg" ${1+"$@"} shift prev=tag preserve_args="$preserve_args --tag" ;; -dlopen) prevopt="-dlopen" prev=execute_dlfiles ;; -*) $echo "$modename: unrecognized option \`$arg'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; *) nonopt="$arg" break ;; esac done if test -n "$prevopt"; then $echo "$modename: option \`$prevopt' requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi case $disable_libs in no) ;; shared) build_libtool_libs=no build_old_libs=yes ;; static) build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` ;; esac # If this variable is set in any of the actions, the command in it # will be execed at the end. This prevents here-documents from being # left over by shells. exec_cmd= if test -z "$show_help"; then # Infer the operation mode. if test -z "$mode"; then $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 case $nonopt in *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) mode=link for arg do case $arg in -c) mode=compile break ;; esac done ;; *db | *dbx | *strace | *truss) mode=execute ;; *install*|cp|mv) mode=install ;; *rm) mode=uninstall ;; *) # If we have no mode, but dlfiles were specified, then do execute mode. test -n "$execute_dlfiles" && mode=execute # Just use the default operation mode. if test -z "$mode"; then if test -n "$nonopt"; then $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 else $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 fi fi ;; esac fi # Only execute mode is allowed to have -dlopen flags. if test -n "$execute_dlfiles" && test "$mode" != execute; then $echo "$modename: unrecognized option \`-dlopen'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" help="Try \`$modename --help --mode=$mode' for more information." # These modes are in order of execution frequency so that they run quickly. case $mode in # libtool compile mode compile) modename="$modename: compile" # Get the compilation command and the source file. base_compile= srcfile="$nonopt" # always keep a non-empty value in "srcfile" suppress_opt=yes suppress_output= arg_mode=normal libobj= later= for arg do case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile lastarg="$arg" arg_mode=normal ;; target ) libobj="$arg" arg_mode=normal continue ;; normal ) # Accept any command-line options. case $arg in -o) if test -n "$libobj" ; then $echo "$modename: you cannot specify \`-o' more than once" 1>&2 exit $EXIT_FAILURE fi arg_mode=target continue ;; -static | -prefer-pic | -prefer-non-pic) later="$later $arg" continue ;; -no-suppress) suppress_opt=no continue ;; -Xcompiler) arg_mode=arg # the next one goes into the "base_compile" arg list continue # The current "srcfile" will either be retained or ;; # replaced later. I would guess that would be a bug. -Wc,*) args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` lastarg= save_ifs="$IFS"; IFS=',' for arg in $args; do IFS="$save_ifs" # Double-quote args containing other shell metacharacters. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac lastarg="$lastarg $arg" done IFS="$save_ifs" lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` # Add the arguments to base_compile. base_compile="$base_compile $lastarg" continue ;; * ) # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # lastarg="$srcfile" srcfile="$arg" ;; esac # case $arg ;; esac # case $arg_mode # Aesthetically quote the previous argument. lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` case $lastarg in # Double-quote args containing other shell metacharacters. # Many Bourne shells cannot handle close brackets correctly # in scan sets, and some SunOS ksh mistreat backslash-escaping # in scan sets (worked around with variable expansion), # and furthermore cannot handle '|' '&' '(' ')' in scan sets # at all, so we specify them separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") lastarg="\"$lastarg\"" ;; esac base_compile="$base_compile $lastarg" done # for arg case $arg_mode in arg) $echo "$modename: you must specify an argument for -Xcompile" exit $EXIT_FAILURE ;; target) $echo "$modename: you must specify a target with \`-o'" 1>&2 exit $EXIT_FAILURE ;; *) # Get the name of the library object. [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo xform='[cCFSifmso]' case $libobj in *.ada) xform=ada ;; *.adb) xform=adb ;; *.ads) xform=ads ;; *.asm) xform=asm ;; *.c++) xform=c++ ;; *.cc) xform=cc ;; *.ii) xform=ii ;; *.class) xform=class ;; *.cpp) xform=cpp ;; *.cxx) xform=cxx ;; *.f90) xform=f90 ;; *.for) xform=for ;; *.java) xform=java ;; esac libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` case $libobj in *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; *) $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 exit $EXIT_FAILURE ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -static) build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` case $qlibobj in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qlibobj="\"$qlibobj\"" ;; esac test "X$libobj" != "X$qlibobj" \ && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$obj"; then xdir= else xdir=$xdir/ fi lobj=${xdir}$objdir/$objname if test -z "$base_compile"; then $echo "$modename: you must specify a compilation command" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi # Delete any leftover library objects. if test "$build_old_libs" = yes; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi $run $rm $removelist trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" removelist="$removelist $output_obj $lockfile" trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until $run ln "$progpath" "$lockfile" 2>/dev/null; do $show "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then $echo "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $run $rm $removelist exit $EXIT_FAILURE fi $echo "$srcfile" > "$lockfile" fi if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` case $qsrcfile in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qsrcfile="\"$qsrcfile\"" ;; esac $run $rm "$libobj" "${libobj}T" # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then $echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $run $rm $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then $show "$mv $output_obj $lobj" if $run $mv $output_obj $lobj; then : else error=$? $run $rm $removelist exit $error fi fi # Append the name of the PIC object to the libtool object file. test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then $echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $run $rm $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then $show "$mv $output_obj $obj" if $run $mv $output_obj $obj; then : else error=$? $run $rm $removelist exit $error fi fi # Append the name of the non-PIC object the libtool object file. # Only append if the libtool object file exists. test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes else if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built fi build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" shift case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test ;; *) qarg=$arg ;; esac libtool_args="$libtool_args $qarg" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) compile_command="$compile_command @OUTPUT@" finalize_command="$finalize_command @OUTPUT@" ;; esac case $prev in dlfiles|dlprefiles) if test "$preload" = no; then # Add the symbol object into the linking commands. compile_command="$compile_command @SYMFILE@" finalize_command="$finalize_command @SYMFILE@" preload=yes fi case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test "$dlself" = no; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test "$prev" = dlprefiles; then dlself=yes elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test "$prev" = dlfiles; then dlfiles="$dlfiles $arg" else dlprefiles="$dlprefiles $arg" fi prev= continue ;; esac ;; expsyms) export_symbols="$arg" if test ! -f "$arg"; then $echo "$modename: symbol file \`$arg' does not exist" exit $EXIT_FAILURE fi prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; precious_regex) precious_files_regex="$arg" prev= continue ;; release) release="-$arg" prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat $save_arg` do # moreargs="$moreargs $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then pic_object= non_pic_object= # Read the .lo file # If there is no directory component, then add one. case $arg in */* | *\\*) . $arg ;; *) . ./$arg ;; esac if test -z "$pic_object" || \ test -z "$non_pic_object" || test "$pic_object" = none && \ test "$non_pic_object" = none; then $echo "$modename: cannot find name of object for \`$arg'" 1>&2 exit $EXIT_FAILURE fi # Extract subdirectory from the argument. xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$arg"; then xdir= else xdir="$xdir/" fi if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then dlfiles="$dlfiles $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. dlprefiles="$dlprefiles $pic_object" prev= fi # A PIC object. libobjs="$libobjs $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object non_pic_objects="$non_pic_objects $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" fi else # Only an error if not doing a dry-run. if test -z "$run"; then $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 exit $EXIT_FAILURE else # Dry-run case. # Extract subdirectory from the argument. xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$arg"; then xdir= else xdir="$xdir/" fi pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` libobjs="$libobjs $pic_object" non_pic_objects="$non_pic_objects $non_pic_object" fi fi done else $echo "$modename: link input file \`$save_arg' does not exist" exit $EXIT_FAILURE fi arg=$save_arg prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) $echo "$modename: only absolute run-paths are allowed" 1>&2 exit $EXIT_FAILURE ;; esac if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; *) rpath="$rpath $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) xrpath="$xrpath $arg" ;; esac fi prev= continue ;; xcompiler) compiler_flags="$compiler_flags $qarg" prev= compile_command="$compile_command $qarg" finalize_command="$finalize_command $qarg" continue ;; xlinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $wl$qarg" prev= compile_command="$compile_command $wl$qarg" finalize_command="$finalize_command $wl$qarg" continue ;; xcclinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $qarg" prev= compile_command="$compile_command $qarg" finalize_command="$finalize_command $qarg" continue ;; shrext) shrext_cmds="$arg" prev= continue ;; darwin_framework|darwin_framework_skip) test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" prev= continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg="$arg" case $arg in -all-static) if test -n "$link_static_flag"; then compile_command="$compile_command $link_static_flag" finalize_command="$finalize_command $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 continue ;; -avoid-version) avoid_version=yes continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then $echo "$modename: more than one -exported-symbols argument is not allowed" exit $EXIT_FAILURE fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework|-arch|-isysroot) case " $CC " in *" ${arg} ${1} "* | *" ${arg} ${1} "*) prev=darwin_framework_skip ;; *) compiler_flags="$compiler_flags $arg" prev=darwin_framework ;; esac compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" ;; esac continue ;; -L*) dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 absdir="$dir" notinst_path="$notinst_path $dir" fi dir="$absdir" ;; esac case "$deplibs " in *" -L$dir "*) ;; *) deplibs="$deplibs -L$dir" lib_search_path="$lib_search_path $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; *) dllsearchpath="$dllsearchpath:$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework deplibs="$deplibs -framework System" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi deplibs="$deplibs $arg" continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. -model) compile_command="$compile_command $arg" compiler_flags="$compiler_flags $arg" finalize_command="$finalize_command $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" continue ;; -module) module=yes continue ;; # -64, -mips[0-9] enable 64-bit mode on the SGI compiler # -r[0-9][0-9]* specifies the processor on the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler # +DA*, +DD* enable 64-bit mode on the HP compiler # -q* pass through compiler args for the IBM compiler # -m* pass through architecture-specific compiler args for GCC # -m*, -t[45]*, -txscale* pass through architecture-specific # compiler args for GCC # -pg pass through profiling flag for GCC # @file GCC response files -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ -t[45]*|-txscale*|@*) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" compiler_flags="$compiler_flags $arg" continue ;; -shrext) prev=shrext continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) # The PATH hackery in wrapper scripts is required on Windows # in order for the loader to find any dlls it needs. $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) $echo "$modename: only absolute run-paths are allowed" 1>&2 exit $EXIT_FAILURE ;; esac case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac continue ;; -static) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -Wc,*) args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" case $flag in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") flag="\"$flag\"" ;; esac arg="$arg $wl$flag" compiler_flags="$compiler_flags $flag" done IFS="$save_ifs" arg=`$echo "X$arg" | $Xsed -e "s/^ //"` ;; -Wl,*) args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" case $flag in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") flag="\"$flag\"" ;; esac arg="$arg $wl$flag" compiler_flags="$compiler_flags $wl$flag" linker_flags="$linker_flags $flag" done IFS="$save_ifs" arg=`$echo "X$arg" | $Xsed -e "s/^ //"` ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # Some other compiler flag. -* | +*) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac ;; *.$objext) # A standard object. objs="$objs $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then pic_object= non_pic_object= # Read the .lo file # If there is no directory component, then add one. case $arg in */* | *\\*) . $arg ;; *) . ./$arg ;; esac if test -z "$pic_object" || \ test -z "$non_pic_object" || test "$pic_object" = none && \ test "$non_pic_object" = none; then $echo "$modename: cannot find name of object for \`$arg'" 1>&2 exit $EXIT_FAILURE fi # Extract subdirectory from the argument. xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$arg"; then xdir= else xdir="$xdir/" fi if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then dlfiles="$dlfiles $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. dlprefiles="$dlprefiles $pic_object" prev= fi # A PIC object. libobjs="$libobjs $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object non_pic_objects="$non_pic_objects $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" fi else # Only an error if not doing a dry-run. if test -z "$run"; then $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 exit $EXIT_FAILURE else # Dry-run case. # Extract subdirectory from the argument. xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$arg"; then xdir= else xdir="$xdir/" fi pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` libobjs="$libobjs $pic_object" non_pic_objects="$non_pic_objects $non_pic_object" fi fi ;; *.$libext) # An archive. deplibs="$deplibs $arg" old_deplibs="$old_deplibs $arg" continue ;; *.la) # A libtool-controlled library. if test "$prev" = dlfiles; then # This library was specified with -dlopen. dlfiles="$dlfiles $arg" prev= elif test "$prev" = dlprefiles; then # The library was specified with -dlpreopen. dlprefiles="$dlprefiles $arg" prev= else deplibs="$deplibs $arg" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" fi done # argument parsing loop if test -n "$prev"; then $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" fi oldlibs= # calculate the name of the file, without its directory outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` libobjs_save="$libobjs" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` if test "X$output_objdir" = "X$output"; then output_objdir="$objdir" else output_objdir="$output_objdir/$objdir" fi # Create the object directory. if test ! -d "$output_objdir"; then $show "$mkdir $output_objdir" $run $mkdir $output_objdir exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then exit $exit_status fi fi # Determine the type of output case $output in "") $echo "$modename: you must specify an output file" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac case $host in *cygwin* | *mingw* | *pw32*) # don't eliminate duplications in $postdeps and $predeps duplicate_compiler_generated_deps=yes ;; *) duplicate_compiler_generated_deps=$duplicate_deps ;; esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if test "X$duplicate_deps" = "Xyes" ; then case "$libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi libs="$libs $deplib" done if test "$linkmode" = lib; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; esac pre_post_deps="$pre_post_deps $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries case $linkmode in lib) passes="conv link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 exit $EXIT_FAILURE ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=no newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" deplibs= fi if test "$linkmode" = prog; then case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; esac fi if test "$pass" = dlopen; then # Collect dlpreopened libraries save_deplibs="$deplibs" deplibs= fi for deplib in $libs; do lib= found=no case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else compiler_flags="$compiler_flags $deplib" fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 continue fi name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib="$searchdir/lib${name}${search_ext}" if test -f "$lib"; then if test "$search_ext" = ".la"; then found=yes else found=no fi break 2 fi done done if test "$found" != yes; then # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue else # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $deplib "*) if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then library_names= old_library= case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; esac for l in $old_library $library_names; do ll="$l" done if test "X$ll" = "X$old_library" ; then # only static version available found=no ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` test "X$ladir" = "X$lib" && ladir="." lib=$ladir/$old_library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi fi ;; # -l -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; prog) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi if test "$pass" = scan; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; *) $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 ;; esac # linkmode continue ;; # -L -R*) if test "$pass" = link; then dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) lib="$deplib" ;; *.$libext) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` if eval $echo \"$deplib\" 2>/dev/null \ | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; then $echo $echo "*** Warning: Trying to link with static lib archive $deplib." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have" $echo "*** because the file extensions .$libext of this argument makes me believe" $echo "*** that it is just a static archive that I should not used here." else $echo $echo "*** Warning: Linking the shared library $output against the" $echo "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi continue ;; prog) if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test "$pass" = conv; then deplibs="$deplib $deplibs" elif test "$linkmode" = prog; then if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlopen support or we're linking statically, # we need to preload. newdlprefiles="$newdlprefiles $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else newdlfiles="$newdlfiles $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=yes continue ;; esac # case $deplib if test "$found" = yes || test -f "$lib"; then : else $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 exit $EXIT_FAILURE fi # Check to see that this really is a libtool archive. if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` test "X$ladir" = "X$lib" && ladir="." dlname= dlopen= dlpreopen= libdir= library_names= old_library= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; esac if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && dlfiles="$dlfiles $dlopen" test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" fi if test "$pass" = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 exit $EXIT_FAILURE fi # It is a libtool convenience library, so add in its objects. convenience="$convenience $ladir/$objdir/$old_library" old_convenience="$old_convenience $ladir/$objdir/$old_library" tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if test "X$duplicate_deps" = "Xyes" ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done elif test "$linkmode" != prog && test "$linkmode" != lib; then $echo "$modename: \`$lib' is not a convenience library" 1>&2 exit $EXIT_FAILURE fi continue fi # $pass = conv # Get the name of the library we link against. linklib= for l in $old_library $library_names; do linklib="$l" done if test -z "$linklib"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 exit $EXIT_FAILURE fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 exit $EXIT_FAILURE fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. dlprefiles="$dlprefiles $lib $dependency_libs" else newdlfiles="$newdlfiles $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 abs_ladir="$ladir" fi ;; esac laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` # Find the relevant object directory and library name. if test "X$installed" = Xyes; then if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then $echo "$modename: warning: library \`$lib' was moved." 1>&2 dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" else dir="$libdir" absdir="$libdir" fi test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" fi fi # $installed = yes name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` # This library was specified with -dlpreopen. if test "$pass" = dlpreopen; then if test -z "$libdir"; then $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 exit $EXIT_FAILURE fi # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then newdlprefiles="$newdlprefiles $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then newdlprefiles="$newdlprefiles $dir/$dlname" else newdlprefiles="$newdlprefiles $dir/$linklib" fi fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test "$linkmode" = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test "$linkmode" = prog && test "$pass" != link; then newlib_search_path="$newlib_search_path $ladir" deplibs="$lib $deplibs" linkalldeplibs=no if test "$link_all_deplibs" != no || test -z "$library_names" || test "$build_libtool_libs" = no; then linkalldeplibs=yes fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test esac # Need to link against all dependency_libs? if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if test "X$duplicate_deps" = "Xyes" ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done # for deplib continue fi # $linkmode = prog... if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && { test "$prefer_static_libs" = no || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath " in *" $dir "*) ;; *" $absdir "*) ;; *) temp_rpath="$temp_rpath $absdir" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) compile_rpath="$compile_rpath $absdir" esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" esac ;; esac fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && { test "$deplibs_check_method" = pass_all || { test "$build_libtool_libs" = yes && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes ; then use_static_libs=no fi if test -n "$library_names" && { test "$use_static_libs" = no || test -z "$old_library"; }; then if test "$installed" = no; then notinst_deplibs="$notinst_deplibs $lib" need_relink=yes fi # This is a shared library # Warn about portability, can't link against -module's on # some systems (darwin) if test "$shouldnotlink" = yes && test "$pass" = link ; then $echo if test "$linkmode" = prog; then $echo "*** Warning: Linking the executable $output against the loadable module" else $echo "*** Warning: Linking the shared library $output against the loadable module" fi $echo "*** $linklib is not portable!" fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) compile_rpath="$compile_rpath $absdir" esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names realname="$2" shift; shift libname=`eval \\$echo \"$libname_spec\"` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname="$dlname" elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw*) major=`expr $current - $age` versuffix="-$major" ;; esac eval soname=\"$soname_spec\" else soname="$realname" fi # Make a new name for the extract_expsyms_cmds to use soroot="$soname" soname=`$echo $soroot | ${SED} -e 's/^.*\///'` newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else $show "extracting exported symbol list from \`$soname'" save_ifs="$IFS"; IFS='~' cmds=$extract_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else $show "generating import library for \`$soname'" save_ifs="$IFS"; IFS='~' cmds=$old_archive_from_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$mode" != relink; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" case $host in *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir="-L$dir" ;; *-*-darwin* ) # if the lib is a module then we can not link against # it, someone is ignoring the new warnings I added if /usr/bin/file -L $add 2> /dev/null | $EGREP ": [^:]* bundle" >/dev/null ; then $echo "** Warning, lib $linklib is a module, not a shared library" if test -z "$old_library" ; then $echo $echo "** And there doesn't seem to be a static archive available" $echo "** The link will probably fail, sorry" else add="$dir/$old_library" fi fi esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; esac add_dir="-L$dir" add="-l$name" elif test "$hardcode_shlibpath_var" = no; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; relink) if test "$hardcode_direct" = yes; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$dir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; *) lib_linked=no ;; esac if test "$lib_linked" != yes; then $echo "$modename: configuration error: unsupported hardcode properties" exit $EXIT_FAILURE fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; esac fi if test "$linkmode" = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test "$hardcode_direct" != yes && \ test "$hardcode_minus_L" != yes && \ test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac fi fi fi if test "$linkmode" = prog || test "$mode" = relink; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test "$hardcode_direct" = yes; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac add="-l$name" elif test "$hardcode_automatic" = yes; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then add="$inst_prefix_dir$libdir/$linklib" else add="$libdir/$linklib" fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" fi if test "$linkmode" = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test "$linkmode" = prog; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test "$hardcode_direct" != unsupported; then test -n "$old_library" && linklib="$old_library" compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test "$build_libtool_libs" = yes; then # Not a shared library if test "$deplibs_check_method" != pass_all; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. $echo $echo "*** Warning: This system can not link to static lib archive $lib." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then $echo "*** But as you try to build a module library, libtool will still create " $echo "*** a static module, that should work as long as the dlopening application" $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then $echo $echo "*** However, this would only work if libtool was able to extract symbol" $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" $echo "*** not find such a program. So, this module is probably useless." $echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test "$linkmode" = lib; then if test -n "$dependency_libs" && { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` case " $xrpath " in *" $temp_xrpath "*) ;; *) xrpath="$xrpath $temp_xrpath";; esac;; *) temp_deplibs="$temp_deplibs $libdir";; esac done dependency_libs="$temp_deplibs" fi newlib_search_path="$newlib_search_path $absdir" # Link against this library test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" if test "X$duplicate_deps" = "Xyes" ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do case $deplib in -L*) path="$deplib" ;; *.la) dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` test "X$dir" = "X$deplib" && dir="." # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 absdir="$dir" fi ;; esac if grep "^installed=no" $deplib > /dev/null; then path="$absdir/$objdir" else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -z "$libdir"; then $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi if test "$absdir" != "$libdir"; then $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 fi path="$absdir" fi depdepl= case $host in *-*-darwin*) # we do not want to link against static libs, # but need to link against shared eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do depdepl=$tmp done if test -f "$path/$depdepl" ; then depdepl="$path/$depdepl" fi # do not add paths which are already there case " $newlib_search_path " in *" $path "*) ;; *) newlib_search_path="$newlib_search_path $path";; esac fi path="" ;; *) path="-L$path" ;; esac ;; -l*) case $host in *-*-darwin*) # Again, we only want to link against shared libraries eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` for tmp in $newlib_search_path ; do if test -f "$tmp/lib$tmp_libs.dylib" ; then eval depdepl="$tmp/lib$tmp_libs.dylib" break fi done path="" ;; *) continue ;; esac ;; *) continue ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac case " $deplibs " in *" $depdepl "*) ;; *) deplibs="$depdepl $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test "$pass" != dlopen; then if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) lib_search_path="$lib_search_path $dir" ;; esac done newlib_search_path= fi if test "$linkmode,$pass" != "prog,link"; then vars="deplibs" else vars="compile_deplibs finalize_deplibs" fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) tmp_libs="$tmp_libs $deplib" ;; esac ;; *) tmp_libs="$tmp_libs $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs ; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i="" ;; esac if test -n "$i" ; then tmp_libs="$tmp_libs $i" fi done dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) if test -n "$deplibs"; then $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 fi if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 fi if test -n "$rpath"; then $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 fi if test -n "$xrpath"; then $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 fi if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 fi if test -n "$release"; then $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 fi if test -n "$export_symbols" || test -n "$export_symbols_regex"; then $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 fi # Now set the variables for building old libraries. build_libtool_libs=no oldlibs="$output" objs="$objs$old_deplibs" ;; lib) # Make sure we only generate libraries of the form `libNAME.la'. case $outputname in lib*) name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) if test "$module" = no; then $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` fi ;; esac if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 exit $EXIT_FAILURE else $echo $echo "*** Warning: Linking the shared library $output against the non-libtool" $echo "*** objects $objs is not portable!" libobjs="$libobjs $objs" fi fi if test "$dlself" != no; then $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 fi set dummy $rpath if test "$#" -gt 2; then $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 fi install_libdir="$2" oldlibs= if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. # Some compilers have problems with a `.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 fi if test -n "$release"; then $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 fi else # Parse the version information argument. save_ifs="$IFS"; IFS=':' set dummy $vinfo 0 0 0 IFS="$save_ifs" if test -n "$8"; then $echo "$modename: too many parameters to \`-version-info'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major="$2" number_minor="$3" number_revision="$4" # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # which has an extra 1 added just for fun # case $version_type in darwin|linux|osf|windows) current=`expr $number_major + $number_minor` age="$number_minor" revision="$number_revision" ;; freebsd-aout|freebsd-elf|sunos) current="$number_major" revision="$number_minor" age="0" ;; irix|nonstopux) current=`expr $number_major + $number_minor - 1` age="$number_minor" revision="$number_minor" ;; esac ;; no) current="$2" revision="$3" age="$4" ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac if test "$age" -gt "$current"; then $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header major=.`expr $current - $age` versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... minor_current=`expr $current + 1` verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current"; ;; irix | nonstopux) major=`expr $current - $age + 1` case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do iface=`expr $revision - $loop` loop=`expr $loop - 1` verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. major=.$major versuffix="$major.$revision" ;; linux) major=.`expr $current - $age` versuffix="$major.$age.$revision" ;; osf) major=.`expr $current - $age` versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age while test "$loop" -ne 0; do iface=`expr $current - $loop` loop=`expr $loop - 1` verstring="$verstring:${iface}.0" done # Make executables depend on our current version. verstring="$verstring:${current}.0" ;; sunos) major=".$current" versuffix=".$current.$revision" ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 filesystems. major=`expr $current - $age` versuffix="-$major" ;; *) $echo "$modename: unknown library version type \`$version_type'" 1>&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring="0.0" ;; esac if test "$need_version" = no; then versuffix= else versuffix=".0.0" fi fi # Remove version info from name if versioning should be avoided if test "$avoid_version" = yes && test "$need_version" = no; then major= versuffix= verstring="" fi # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 build_libtool_libs=no build_old_libs=yes fi else # Don't allow undefined symbols. allow_undefined_flag="$no_undefined_flag" fi fi if test "$mode" != relink; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$echo "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi removelist="$removelist $p" ;; *) ;; esac done if test -n "$removelist"; then $show "${rm}r $removelist" $run ${rm}r $removelist fi fi # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then oldlibs="$oldlibs $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` fi # Eliminate all temporary directories. for path in $notinst_path; do lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do temp_xrpath="$temp_xrpath -R$libdir" case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" ;; esac done if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles="$dlfiles" dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) dlfiles="$dlfiles $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles="$dlprefiles" dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) dlprefiles="$dlprefiles $lib" ;; esac done if test "$build_libtool_libs" = yes; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework deplibs="$deplibs -framework System" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then deplibs="$deplibs -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release="" versuffix="" major="" newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $rm conftest.c cat > conftest.c </dev/null` for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null \ | grep " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ | ${SED} 10q \ | $EGREP "$file_magic_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes $echo $echo "*** Warning: linker path does not have real file for library $a_deplib." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have" $echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $echo "*** with $libname but no candidates were found. (...for file magic test)" else $echo "*** with $libname and none of the candidates passed a file format test" $echo "*** using a file magic. Last file checked: $potlib" fi fi else # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" fi done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` for a_deplib in $deplibs; do name=`expr $a_deplib : '-l\(.*\)'` # If $name is empty we are operating on a -L argument. if test -n "$name" && test "$name" != "0"; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) newdeplibs="$newdeplibs $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval \\$echo \"$libname_spec\"` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib="$potent_lib" # see symlink-check above in file_magic test if eval $echo \"$potent_lib\" 2>/dev/null \ | ${SED} 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes $echo $echo "*** Warning: linker path does not have real file for library $a_deplib." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have" $echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $echo "*** with $libname but no candidates were found. (...for regex pattern test)" else $echo "*** with $libname and none of the candidates passed a file format test" $echo "*** using a regex pattern. Last file checked: $potlib" fi fi else # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" fi done # Gone through all deplibs. ;; none | unknown | *) newdeplibs="" tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ -e 's/ -[LR][^ ]*//g'` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then for i in $predeps $postdeps ; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` done fi if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ | grep . >/dev/null; then $echo if test "X$deplibs_check_method" = "Xnone"; then $echo "*** Warning: inter-library dependencies are not supported in this platform." else $echo "*** Warning: inter-library dependencies are not known to be supported." fi $echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes fi ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; esac if test "$droppeddeps" = yes; then if test "$module" = yes; then $echo $echo "*** Warning: libtool could not satisfy all declared inter-library" $echo "*** dependencies of module $libname. Therefore, libtool will create" $echo "*** a static module, that should work as long as the dlopening" $echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then $echo $echo "*** However, this would only work if libtool was able to extract symbol" $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" $echo "*** not find such a program. So, this module is probably useless." $echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else $echo "*** The inter-library dependencies that have been dropped here will be" $echo "*** automatically added whenever a program is linked with this library" $echo "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then $echo $echo "*** Since this library must not contain undefined symbols," $echo "*** because either the platform does not support them or" $echo "*** it was explicitly requested with -no-undefined," $echo "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done deplibs="$new_libs" # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath="$finalize_rpath" test "$mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" dep_rpath="$dep_rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" if test -n "$hardcode_libdir_flag_spec_ld"; then eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" else eval dep_rpath=\"$hardcode_libdir_flag_spec\" fi fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath="$finalize_shlibpath" test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names realname="$2" shift; shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" linknames= for link do linknames="$linknames $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` # Prepare the list of exported symbols if test -z "$export_symbols"; then if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then $show "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $run $rm $export_symbols cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" if len=`expr "X$cmd" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then $show "$cmd" $run eval "$cmd" || exit $? skipped_export=false else # The command line is too long to execute in one step. $show "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS="$save_ifs" if test -n "$export_symbols_regex"; then $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' $show "$mv \"${export_symbols}T\" \"$export_symbols\"" $run eval '$mv "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) tmp_deplibs="$tmp_deplibs $test_deplib" ;; esac done deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" else gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $convenience libobjs="$libobjs $func_extract_archives_result" fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" linker_flags="$linker_flags $flag" fi # Make a backup of the uninstalled library when relinking if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*" 2>/dev/null` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise. $echo "creating reloadable object files..." # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output output_la=`$echo "X$output" | $Xsed -e "$basename"` # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= delfiles= last_robj= k=1 output=$output_objdir/$output_la-${k}.$objext # Loop over the list of objects to be linked. for obj in $save_libobjs do eval test_cmds=\"$reload_cmds $objlist $last_robj\" if test "X$objlist" = X || { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && test "$len" -le "$max_cmd_len"; }; then objlist="$objlist $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test "$k" -eq 1 ; then # The first file doesn't have a previous command to add. eval concat_cmds=\"$reload_cmds $objlist $last_robj\" else # All subsequent reloadable object files will link in # the last one created. eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" fi last_robj=$output_objdir/$output_la-${k}.$objext k=`expr $k + 1` output=$output_objdir/$output_la-${k}.$objext objlist=$obj len=1 fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" if ${skipped_export-false}; then $show "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $run $rm $export_symbols libobjs=$output # Append the command to create the export file. eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" fi # Set up a command to remove the reloadable object files # after they are used. i=0 while test "$i" -lt "$k" do i=`expr $i + 1` delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" done $echo "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi # Append the command to remove the reloadable object files # to the just-reset $cmds. eval cmds=\"\$cmds~\$rm $delfiles\" fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_exit } done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then $show "${rm}r $gentop" $run ${rm}r "$gentop" fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? fi done # If -module or -export-dynamic was specified, set the dlname. if test "$module" = yes || test "$export_dynamic" = yes; then # On all known operating systems, these are identical. dlname="$soname" fi fi ;; obj) if test -n "$deplibs"; then $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 fi if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 fi if test -n "$rpath"; then $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 fi if test -n "$xrpath"; then $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 fi if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 fi if test -n "$release"; then $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 fi case $output in *.lo) if test -n "$objs$old_deplibs"; then $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 exit $EXIT_FAILURE fi libobj="$output" obj=`$echo "X$output" | $Xsed -e "$lo2o"` ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $run $rm $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of # -Wl from whole_archive_flag_spec wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" else gentop="$output_objdir/${obj}x" generated="$generated $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # Create the old-style object. reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test output="$obj" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then $show "${rm}r $gentop" $run ${rm}r $gentop fi exit $EXIT_SUCCESS fi if test "$build_libtool_libs" != yes; then if test -n "$gentop"; then $show "${rm}r $gentop" $run ${rm}r $gentop fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $run eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS fi if test -n "$pic_flag" || test "$pic_mode" != default; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output="$libobj" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" fi if test -n "$gentop"; then $show "${rm}r $gentop" $run ${rm}r $gentop fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; esac if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 fi if test -n "$release"; then $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 fi if test "$preload" = yes; then if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && test "$dlopen_self_static" = unknown; then $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." fi fi case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; esac case $host in *darwin*) # Don't allow lazy linking, it breaks C++ global constructors if test "$tagname" = CXX ; then compile_command="$compile_command ${wl}-bind_at_load" finalize_command="$finalize_command ${wl}-bind_at_load" fi ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done compile_deplibs="$new_libs" compile_command="$compile_command $compile_deplibs" finalize_command="$finalize_command $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" rpath="$rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; *) dllsearchpath="$dllsearchpath:$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath="$rpath" rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" rpath="$rpath $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath="$rpath" if test -n "$libobjs" && test "$build_old_libs" = yes; then # Transform all the library objects into standard objects. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` fi dlsyms= if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then dlsyms="${outputname}S.c" else $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 fi fi if test -n "$dlsyms"; then case $dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist="$output_objdir/${outputname}.nm" $show "$rm $nlist ${nlist}S ${nlist}T" $run $rm "$nlist" "${nlist}S" "${nlist}T" # Parse the name list into a source file. $show "creating $output_objdir/$dlsyms" test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ /* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ /* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ #ifdef __cplusplus extern \"C\" { #endif /* Prevent the only kind of declaration conflicts we can make. */ #define lt_preloaded_symbols some_other_symbol /* External symbol declarations for the compiler. */\ " if test "$dlself" = yes; then $show "generating symbol list for \`$output'" test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` for arg in $progfiles; do $show "extracting global C symbols from \`$arg'" $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' $run eval '$mv "$nlist"T "$nlist"' fi if test -n "$export_symbols_regex"; then $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' $run eval '$mv "$nlist"T "$nlist"' fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$output_objdir/$outputname.exp" $run $rm $export_symbols $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac else $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' $run eval 'mv "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac fi fi for arg in $dlprefiles; do $show "extracting global C symbols from \`$arg'" name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` $run eval '$echo ": $name " >> "$nlist"' $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" done if test -z "$run"; then # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $mv "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if grep -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else grep -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' else $echo '/* NONE */' >> "$output_objdir/$dlsyms" fi $echo >> "$output_objdir/$dlsyms" "\ #undef lt_preloaded_symbols #if defined (__STDC__) && __STDC__ # define lt_ptr void * #else # define lt_ptr char * # define const #endif /* The mapping between symbol names and symbols. */ " case $host in *cygwin* | *mingw* ) $echo >> "$output_objdir/$dlsyms" "\ /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs */ struct { " ;; * ) $echo >> "$output_objdir/$dlsyms" "\ const struct { " ;; esac $echo >> "$output_objdir/$dlsyms" "\ const char *name; lt_ptr address; } lt_preloaded_symbols[] = {\ " eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" $echo >> "$output_objdir/$dlsyms" "\ {0, (lt_ptr) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " fi pic_flag_for_symtable= case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) case "$compile_command " in *" -static "*) ;; *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; esac;; *-*-hpux*) case "$compile_command " in *" -static "*) ;; *) pic_flag_for_symtable=" $pic_flag";; esac esac # Now compile the dynamic symbol file. $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? # Clean up the generated files. $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" # Transform the symbol file into the correct name. case $host in *cygwin* | *mingw* ) if test -f "$output_objdir/${outputname}.def" ; then compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` else compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` fi ;; * ) compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` ;; esac ;; *) $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 exit $EXIT_FAILURE ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. $show "$link_command" $run eval "$link_command" exit_status=$? # Delete the generated files. if test -n "$dlsyms"; then $show "$rm $output_objdir/${outputname}S.${objext}" $run $rm "$output_objdir/${outputname}S.${objext}" fi exit $exit_status fi if test -n "$shlibpath_var"; then # We should set the shlibpath_var rpath= for dir in $temp_rpath; do case $dir in [\\/]* | [A-Za-z]:[\\/]*) # Absolute path. rpath="$rpath$dir:" ;; *) # Relative path: add a thisdir entry. rpath="$rpath\$thisdir/$dir:" ;; esac done temp_rpath="$rpath" fi if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do rpath="$rpath$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test "$no_install" = yes; then # We don't need to create a wrapper script. link_command="$compile_var$compile_command$compile_rpath" # Replace the output file specification. link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $run $rm $output # Link the executable and exit $show "$link_command" $run eval "$link_command" || exit $? exit $EXIT_SUCCESS fi if test "$hardcode_action" = relink; then # Fast installation is not supported link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 $echo "$modename: \`$output' will be relinked during installation" 1>&2 else if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` else # fast_install is set to needless relink_command= fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname $show "$link_command" $run eval "$link_command" || exit $? # Now create the wrapper script. $show "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` relink_command="$var=\"$var_value\"; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` fi # Quote $echo for shipping. if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then case $progpath in [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; esac qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` else qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` fi # Only actually do things if our run command is non-null. if test -z "$run"; then # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) output_name=`basename $output` output_path=`dirname $output` cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $rm $cwrappersource $cwrapper trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 cat > $cwrappersource <> $cwrappersource<<"EOF" #include #include #include #include #include #include #include #include #include #if defined(PATH_MAX) # define LT_PATHMAX PATH_MAX #elif defined(MAXPATHLEN) # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ defined (__OS2__) # define HAVE_DOS_BASED_FILE_SYSTEM # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) /* -DDEBUG is fairly common in CFLAGS. */ #undef DEBUG #if defined DEBUGWRAPPER # define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) #else # define DEBUG(format, ...) #endif const char *program_name = NULL; void * xmalloc (size_t num); char * xstrdup (const char *string); const char * base_name (const char *name); char * find_executable(const char *wrapper); int check_executable(const char *path); char * strendzap(char *str, const char *pat); void lt_fatal (const char *message, ...); int main (int argc, char *argv[]) { char **newargz; int i; program_name = (char *) xstrdup (base_name (argv[0])); DEBUG("(main) argv[0] : %s\n",argv[0]); DEBUG("(main) program_name : %s\n",program_name); newargz = XMALLOC(char *, argc+2); EOF cat >> $cwrappersource <> $cwrappersource <<"EOF" newargz[1] = find_executable(argv[0]); if (newargz[1] == NULL) lt_fatal("Couldn't find %s", argv[0]); DEBUG("(main) found exe at : %s\n",newargz[1]); /* we know the script has the same name, without the .exe */ /* so make sure newargz[1] doesn't end in .exe */ strendzap(newargz[1],".exe"); for (i = 1; i < argc; i++) newargz[i+1] = xstrdup(argv[i]); newargz[argc+1] = NULL; for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" return 127; } void * xmalloc (size_t num) { void * p = (void *) malloc (num); if (!p) lt_fatal ("Memory exhausted"); return p; } char * xstrdup (const char *string) { return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL ; } const char * base_name (const char *name) { const char *base; #if defined (HAVE_DOS_BASED_FILE_SYSTEM) /* Skip over the disk name in MSDOS pathnames. */ if (isalpha ((unsigned char)name[0]) && name[1] == ':') name += 2; #endif for (base = name; *name; name++) if (IS_DIR_SEPARATOR (*name)) base = name + 1; return base; } int check_executable(const char * path) { struct stat st; DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); if ((!path) || (!*path)) return 0; if ((stat (path, &st) >= 0) && ( /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ #if defined (S_IXOTH) ((st.st_mode & S_IXOTH) == S_IXOTH) || #endif #if defined (S_IXGRP) ((st.st_mode & S_IXGRP) == S_IXGRP) || #endif ((st.st_mode & S_IXUSR) == S_IXUSR)) ) return 1; else return 0; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise */ char * find_executable (const char* wrapper) { int has_slash = 0; const char* p; const char* p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char* concat_name; DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char* path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char* q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR(*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); return NULL; } char * strendzap(char *str, const char *pat) { size_t len, patlen; assert(str != NULL); assert(pat != NULL); len = strlen(str); patlen = strlen(pat); if (patlen <= len) { str += len - patlen; if (strcmp(str, pat) == 0) *str = '\0'; } return str; } static void lt_error_core (int exit_status, const char * mode, const char * message, va_list ap) { fprintf (stderr, "%s: %s: ", program_name, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, "FATAL", message, ap); va_end (ap); } EOF # we should really use a build-platform specific compiler # here, but OTOH, the wrappers (shell script and this C one) # are only useful if you want to execute the "real" binary. # Since the "real" binary is built for $host, then this # wrapper might as well be built for $host, too. $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource ;; esac $rm $output trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 $echo > $output "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed='${SED} -e 1s/^X//' sed_quote_subst='$sed_quote_subst' # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variable: notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$echo are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then echo=\"$qecho\" file=\"\$0\" # Make sure echo works. if test \"X\$1\" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then # Yippee, \$echo works! : else # Restart under the correct shell, and then maybe \$echo will work. exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} fi fi\ " $echo >> $output "\ # Find the directory that this script lives in. thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` done # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $echo >> $output "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || \\ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $mkdir \"\$progdir\" else $rm \"\$progdir/\$file\" fi" $echo >> $output "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else $echo \"\$relink_command_output\" >&2 $rm \"\$progdir/\$file\" exit $EXIT_FAILURE fi fi $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $rm \"\$progdir/\$program\"; $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } $rm \"\$progdir/\$file\" fi" else $echo >> $output "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $echo >> $output "\ if test -f \"\$progdir/\$program\"; then" # Export our shlibpath_var if we have one. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $echo >> $output "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` export $shlibpath_var " fi # fixup the dll searchpath if we need to. if test -n "$dllsearchpath"; then $echo >> $output "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi $echo >> $output "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2*) $echo >> $output "\ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $echo >> $output "\ exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $echo >> $output "\ \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" exit $EXIT_FAILURE fi else # The program doesn't exist. \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 \$echo \"This script is just a wrapper for \$program.\" 1>&2 $echo \"See the $PACKAGE documentation for more information.\" 1>&2 exit $EXIT_FAILURE fi fi\ " chmod +x $output fi exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then oldobjs="$libobjs_save" addlibs="$convenience" build_libtool_libs=no else if test "$build_libtool_libs" = module; then oldobjs="$libobjs_save" build_libtool_libs=no else oldobjs="$old_deplibs $non_pic_objects" fi addlibs="$old_convenience" fi if test -n "$addlibs"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $addlibs oldobjs="$oldobjs $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do $echo "X$obj" | $Xsed -e 's%^.*/%%' done | sort | sort -uc >/dev/null 2>&1); then : else $echo "copying selected object files to avoid basename conflicts..." if test -z "$gentop"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" $show "${rm}r $gentop" $run ${rm}r "$gentop" $show "$mkdir $gentop" $run $mkdir "$gentop" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$gentop"; then exit $exit_status fi fi save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase counter=`expr $counter + 1` case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" $run ln "$obj" "$gentop/$newobj" || $run cp "$obj" "$gentop/$newobj" oldobjs="$oldobjs $gentop/$newobj" ;; *) oldobjs="$oldobjs $obj" ;; esac done fi eval cmds=\"$old_archive_cmds\" if len=`expr "X$cmds" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts $echo "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done for obj in $save_oldobjs do oldobjs="$objlist $obj" objlist="$objlist $obj" eval test_cmds=\"$old_archive_cmds\" if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && test "$len" -le "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj" ; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= fi done RANLIB=$save_RANLIB oldobjs=$objlist if test "X$oldobjs" = "X" ; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do eval cmd=\"$cmd\" IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" done if test -n "$generated"; then $show "${rm}r$generated" $run ${rm}r$generated fi # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" $show "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` relink_command="$var=\"$var_value\"; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` if test "$hardcode_automatic" = yes ; then relink_command= fi # Only create the output if not a dry run. if test -z "$run"; then for installed in no yes; do if test "$installed" = yes; then if test -z "$install_libdir"; then break fi output="$output_objdir/$outputname"i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -z "$libdir"; then $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi newdependency_libs="$newdependency_libs $libdir/$name" ;; *) newdependency_libs="$newdependency_libs $deplib" ;; esac done dependency_libs="$newdependency_libs" newdlfiles= for lib in $dlfiles; do name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` if test -z "$libdir"; then $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi newdlfiles="$newdlfiles $libdir/$name" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` if test -z "$libdir"; then $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi newdlprefiles="$newdlprefiles $libdir/$name" done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlfiles="$newdlfiles $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlprefiles="$newdlprefiles $abs" done dlprefiles="$newdlprefiles" fi $rm $output # place dlname in correct position for cygwin tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; esac $echo > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test "$installed" = no && test "$need_relink" = yes; then $echo >> $output "\ relink_command=\"$relink_command\"" fi done fi # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? ;; esac exit $EXIT_SUCCESS ;; # libtool install mode install) modename="$modename: install" # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. $echo "X$nonopt" | grep shtool > /dev/null; then # Aesthetically quote it. arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac install_prog="$arg " arg="$1" shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac install_prog="$install_prog$arg" # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=no stripme= for arg do if test -n "$dest"; then files="$files $dest" dest=$arg continue fi case $arg in -d) isdir=yes ;; -f) case " $install_prog " in *[\\\ /]cp\ *) ;; *) prev=$arg ;; esac ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac install_prog="$install_prog $arg" done if test -z "$install_prog"; then $echo "$modename: you must specify an install program" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi if test -n "$prev"; then $echo "$modename: the \`$prev' option requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi if test -z "$files"; then if test -z "$dest"; then $echo "$modename: no file or destination specified" 1>&2 else $echo "$modename: you must specify a destination" 1>&2 fi $echo "$help" 1>&2 exit $EXIT_FAILURE fi # Strip any trailing slash from the destination. dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` # Check to see that the destination is a directory. test -d "$dest" && isdir=yes if test "$isdir" = yes; then destdir="$dest" destname= else destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` test "X$destdir" = "X$dest" && destdir=. destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` # Not a directory, so check to see that there is only one file specified. set dummy $files if test "$#" -gt 2; then $echo "$modename: \`$dest' is not a directory" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. staticlibs="$staticlibs $file" ;; *.la) # Check to see that this really is a libtool archive. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi library_names= old_library= relink_command= # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; *) . ./$file ;; esac # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) current_libdirs="$current_libdirs $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) future_libdirs="$future_libdirs $libdir" ;; esac fi dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ test "X$dir" = "X$file/" && dir= dir="$dir$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. if test "$inst_prefix_dir" = "$destdir"; then $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 exit $EXIT_FAILURE fi if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi $echo "$modename: warning: relinking \`$file'" 1>&2 $show "$relink_command" if $run eval "$relink_command"; then : else $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 exit $EXIT_FAILURE fi fi # See the names of the shared library. set dummy $library_names if test -n "$2"; then realname="$2" shift shift srcname="$realname" test -n "$relink_command" && srcname="$realname"T # Install the shared library and build the symlinks. $show "$install_prog $dir/$srcname $destdir/$realname" $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? if test -n "$stripme" && test -n "$striplib"; then $show "$striplib $destdir/$realname" $run eval "$striplib $destdir/$realname" || exit $? fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do if test "$linkname" != "$realname"; then $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" fi done fi # Do each command in the postinstall commands. lib="$destdir/$realname" cmds=$postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_exit } done IFS="$save_ifs" fi # Install the pseudo-library for information purposes. name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` instname="$dir/$name"i $show "$install_prog $instname $destdir/$name" $run eval "$install_prog $instname $destdir/$name" || exit $? # Maybe install the static library, too. test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` ;; *.$objext) staticdest="$destfile" destfile= ;; *) $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; esac # Install the libtool object if requested. if test -n "$destfile"; then $show "$install_prog $file $destfile" $run eval "$install_prog $file $destfile" || exit $? fi # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` $show "$install_prog $staticobj $staticdest" $run eval "$install_prog \$staticobj \$staticdest" || exit $? fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` destfile="$destdir/$destfile" fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext="" case $file in *.exe) if test ! -f "$file"; then file=`$echo $file|${SED} 's,.exe$,,'` stripped_ext=".exe" fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin*|*mingw*) wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` ;; *) wrapper=$file ;; esac if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then notinst_deplibs= relink_command= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; esac # Check the variables that should have been set. if test -z "$notinst_deplibs"; then $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 exit $EXIT_FAILURE fi finalize=yes for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then # If there is no directory component, then add one. case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; esac fi libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test if test -n "$libdir" && test ! -f "$libfile"; then $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 finalize=no fi done relink_command= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; esac outputname= if test "$fast_install" = no && test -n "$relink_command"; then if test "$finalize" = yes && test -z "$run"; then tmpdir=`func_mktempdir` file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` $show "$relink_command" if $run eval "$relink_command"; then : else $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 ${rm}r "$tmpdir" continue fi file="$outputname" else $echo "$modename: warning: cannot relink \`$file'" 1>&2 fi else # Install the binary that we compiled earlier. file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` ;; esac ;; esac $show "$install_prog$stripme $file $destfile" $run eval "$install_prog\$stripme \$file \$destfile" || exit $? test -n "$outputname" && ${rm}r "$tmpdir" ;; esac done for file in $staticlibs; do name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` # Set up the ranlib parameters. oldlib="$destdir/$name" $show "$install_prog $file $oldlib" $run eval "$install_prog \$file \$oldlib" || exit $? if test -n "$stripme" && test -n "$old_striplib"; then $show "$old_striplib $oldlib" $run eval "$old_striplib $oldlib" || exit $? fi # Do each command in the postinstall commands. cmds=$old_postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" done if test -n "$future_libdirs"; then $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 fi if test -n "$current_libdirs"; then # Maybe just do a dry run. test -n "$run" && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi ;; # libtool finish mode finish) modename="$modename: finish" libdirs="$nonopt" admincmds= if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for dir do libdirs="$libdirs $dir" done for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. cmds=$finish_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || admincmds="$admincmds $cmd" done IFS="$save_ifs" fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $run eval "$cmds" || admincmds="$admincmds $cmds" fi done fi # Exit here if they wanted silent mode. test "$show" = : && exit $EXIT_SUCCESS $echo "X----------------------------------------------------------------------" | $Xsed $echo "Libraries have been installed in:" for libdir in $libdirs; do $echo " $libdir" done $echo $echo "If you ever happen to want to link against installed libraries" $echo "in a given directory, LIBDIR, you must either use libtool, and" $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" $echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" $echo " during execution" fi if test -n "$runpath_var"; then $echo " - add LIBDIR to the \`$runpath_var' environment variable" $echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $echo " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then $echo " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi $echo $echo "See any operating system documentation about shared libraries for" $echo "more information, such as the ld(1) and ld.so(8) manual pages." $echo "X----------------------------------------------------------------------" | $Xsed exit $EXIT_SUCCESS ;; # libtool execute mode execute) modename="$modename: execute" # The first argument is the command name. cmd="$nonopt" if test -z "$cmd"; then $echo "$modename: you must specify a COMMAND" 1>&2 $echo "$help" exit $EXIT_FAILURE fi # Handle -dlopen flags immediately. for file in $execute_dlfiles; do if test ! -f "$file"; then $echo "$modename: \`$file' is not a file" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi dir= case $file in *.la) # Check to see that this really is a libtool archive. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi # Read the libtool library. dlname= library_names= # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; *) . ./$file ;; esac # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" continue fi dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` test "X$dir" = "X$file" && dir=. if test -f "$dir/$objdir/$dlname"; then dir="$dir/$objdir" else $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 exit $EXIT_FAILURE fi ;; *.lo) # Just add the directory containing the .lo file. dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` test "X$dir" = "X$file" && dir=. ;; *) $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # Check if any of the arguments is a wrapper script. args= for file do case $file in -*) ;; *) # Do a test to see if this is really a libtool program. if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; *) . ./$file ;; esac # Transform arg to wrapped name. file="$progdir/$program" fi ;; esac # Quote arguments (to preserve shell metacharacters). file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` args="$args \"$file\"" done if test -z "$run"; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables if test "${save_LC_ALL+set}" = set; then LC_ALL="$save_LC_ALL"; export LC_ALL fi if test "${save_LANG+set}" = set; then LANG="$save_LANG"; export LANG fi # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" $echo "export $shlibpath_var" fi $echo "$cmd$args" exit $EXIT_SUCCESS fi ;; # libtool clean and uninstall mode clean | uninstall) modename="$modename: $mode" rm="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) rm="$rm $arg"; rmforce=yes ;; -*) rm="$rm $arg" ;; *) files="$files $arg" ;; esac done if test -z "$rm"; then $echo "$modename: you must specify an RM program" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi rmdirs= origobjdir="$objdir" for file in $files; do dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` if test "X$dir" = "X$file"; then dir=. objdir="$origobjdir" else objdir="$dir/$origobjdir" fi name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` test "$mode" = uninstall && objdir="$dir" # Remember objdir for removal later, being careful to avoid duplicates if test "$mode" = clean; then case " $rmdirs " in *" $objdir "*) ;; *) rmdirs="$rmdirs $objdir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if (test -L "$file") >/dev/null 2>&1 \ || (test -h "$file") >/dev/null 2>&1 \ || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif test "$rmforce" = yes; then continue fi rmfiles="$file" case $name in *.la) # Possibly a libtool archive, so verify it. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then . $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do rmfiles="$rmfiles $objdir/$n" done test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" case "$mode" in clean) case " $library_names " in # " " in the beginning catches empty $dlname *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. cmds=$postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" if test "$?" -ne 0 && test "$rmforce" != yes; then exit_status=1 fi done IFS="$save_ifs" fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. cmds=$old_postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" if test "$?" -ne 0 && test "$rmforce" != yes; then exit_status=1 fi done IFS="$save_ifs" fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # Read the .lo file . $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" \ && test "$pic_object" != none; then rmfiles="$rmfiles $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" \ && test "$non_pic_object" != none; then rmfiles="$rmfiles $dir/$non_pic_object" fi fi ;; *) if test "$mode" = clean ; then noexename=$name case $file in *.exe) file=`$echo $file|${SED} 's,.exe$,,'` noexename=`$echo $name|${SED} 's,.exe$,,'` # $file with .exe has already been added to rmfiles, # add $file without .exe rmfiles="$rmfiles $file" ;; esac # Do a test to see if this is a libtool program. if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then relink_command= . $dir/$noexename # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then rmfiles="$rmfiles $objdir/lt-$name" fi if test "X$noexename" != "X$name" ; then rmfiles="$rmfiles $objdir/lt-${noexename}.c" fi fi fi ;; esac $show "$rm $rmfiles" $run $rm $rmfiles || exit_status=1 done objdir="$origobjdir" # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then $show "rmdir $dir" $run rmdir $dir >/dev/null 2>&1 fi done exit $exit_status ;; "") $echo "$modename: you must specify a MODE" 1>&2 $echo "$generic_help" 1>&2 exit $EXIT_FAILURE ;; esac if test -z "$exec_cmd"; then $echo "$modename: invalid operation mode \`$mode'" 1>&2 $echo "$generic_help" 1>&2 exit $EXIT_FAILURE fi fi # test -z "$show_help" if test -n "$exec_cmd"; then eval exec $exec_cmd exit $EXIT_FAILURE fi # We need to display help for each of the modes. case $mode in "") $echo \ "Usage: $modename [OPTION]... [MODE-ARG]... Provide generalized library-building support services. --config show all configuration variables --debug enable verbose shell tracing -n, --dry-run display commands without modifying any files --features display basic configuration information and exit --finish same as \`--mode=finish' --help display this help message and exit --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] --quiet same as \`--silent' --silent don't print informational messages --tag=TAG use configuration variables from tag TAG --version print version information MODE must be one of the following: clean remove files from the build directory compile compile a source file into a libtool object execute automatically set library path, then run a program finish complete the installation of libtool libraries install install libraries or executables link create a library or an executable uninstall remove libraries from an installed directory MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for a more detailed description of MODE. Report bugs to ." exit $EXIT_SUCCESS ;; clean) $echo \ "Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $echo \ "Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -prefer-pic try to building PIC objects only -prefer-non-pic try to building non-PIC objects only -static always build a \`.o' file suitable for static linking COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix \`.c' with the library object suffix, \`.lo'." ;; execute) $echo \ "Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to \`-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $echo \ "Usage: $modename [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the \`--dry-run' option if you just want to see what would be executed." ;; install) $echo \ "Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the \`install' or \`cp' program. The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $echo \ "Usage: $modename [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -static do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] All other options (arguments beginning with \`-') are ignored. Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $echo \ "Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) $echo "$modename: invalid operation mode \`$mode'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; esac $echo $echo "Try \`$modename --help' for more information about other modes." exit $? # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared disable_libs=shared # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static disable_libs=static # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: gpaint-2-0.3.3/missing0000775000076400007640000001451007557725434011513 00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. # Copyright (C) 1996, 1997, 2001 Free Software Foundation, Inc. # Franc,ois 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. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.in; then configure_ac=configure.ac else configure_ac=configure.in fi 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 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 lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file yacc create \`y.tab.[ch]', if possible, from existing .[ch]" ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing - GNU libit 0.0" ;; -*) 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 ;; makeinfo) 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 ;; *) 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 gpaint-2-0.3.3/mkinstalldirs0000755000076400007640000000370410671211764012706 00000000000000#! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 # Public domain errstatus=0 dirmode="" usage="\ Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." # process command line arguments while test $# -gt 0 ; do case $1 in -h | --help | --h*) # -h for help echo "$usage" 1>&2 exit 0 ;; -m) # -m PERM arg shift test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } dirmode=$1 shift ;; --) # stop option processing shift break ;; -*) # unknown option echo "$usage" 1>&2 exit 1 ;; *) # first non-opt arg break ;; esac done for file do if test -d "$file"; then shift else break fi done case $# in 0) exit 0 ;; esac case $dirmode in '') if mkdir -p -- . 2>/dev/null; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" fi ;; *) if mkdir -m "$dirmode" -p -- . 2>/dev/null; then echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" fi ;; esac 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 else if test ! -z "$dirmode"; then echo "chmod $dirmode $pathcomp" lasterr="" chmod "$dirmode" "$pathcomp" || lasterr=$? if test ! -z "$lasterr"; then errstatus=$lasterr fi fi fi fi pathcomp="$pathcomp/" done done exit $errstatus # Local Variables: # mode: shell-script # sh-indentation: 2 # End: # mkinstalldirs ends here gpaint-2-0.3.3/gpaint.desktop0000664000076400007640000000051610166301366012752 00000000000000[Desktop Entry] Name=GNU Paint Comment=A small-scale painting program for GNOME, the GNU Desktop Comment[fr]=Un petit outil de dessin pour GNOME, le desktop GNU Comment[pt_BR]=Um pequeno programa de desenho para o GNOME, o Desktop GNU TryExec=gpaint-2 Exec=gpaint-2 Icon=gnome-logo-icon-transparent.png Terminal=0 Type=Application gpaint-2-0.3.3/gpaint.spec0000664000076400007640000000163310166317002012226 00000000000000# Spec file for gpaint Summary: Small-scale painting program for GNOME, the GNU Desktop Name: gpaint Version: 0.3.0 Release: 1 Copyright: GPL Group: Applications/Multimedia Source: http://www.atai.org/gpaint/gpaint-%{ver}.tar.gz URL: http://www.gnu.org/software/gpaint/ Packager: Pierre Sarrazin BuildRoot: /var/tmp/%{name}-%{version}-%{release}-root Requires: gtk+ >= 1.2.8, gnome-libs >= 1.2.4, imlib, gdk-pixbuf >= 0.9.0, gnome-print >= 0.25 %description This is gpaint (GNU Paint), a small-scale painting program for GNOME, the GNU Desktop. Gpaint does not attempt to compete with GIMP. Think of GIMP is like Photoshop as gpaint is like Windows Paint. %prep %setup %build ./configure --prefix=/usr && make %install make DESTDIR="$RPM_BUILD_ROOT" install %files %defattr(-, root, root) %doc AUTHORS COPYING ChangeLog NEWS README THANKS TODO %{prefix}/bin/* %{prefix}/share/pixmaps/* gpaint-2-0.3.3/gpaint.glade0000664000076400007640000035012410671207535012364 00000000000000 New Canvas GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE True True False True False False GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_NORTH_WEST True False True False 5 True Enter the desired image size: False False GTK_JUSTIFY_FILL False False 1.49012002737e-08 0.5 14 4 PANGO_ELLIPSIZE_NONE -1 False 0 0 False True 3 True 2 4 False 6 0 True False False GTK_JUSTIFY_FILL False False 0 0.5 0 0 PANGO_ELLIPSIZE_NONE -1 False 0 0 1 0 1 True False False GTK_JUSTIFY_CENTER False False 0.5 0.5 0 0 PANGO_ELLIPSIZE_NONE -1 False 0 3 4 0 1 True Height: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 PANGO_ELLIPSIZE_NONE -1 False 0 1 2 1 2 True Width: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 PANGO_ELLIPSIZE_NONE -1 False 0 1 2 0 1 True True True True 0 True * False 2 3 1 2 True True True True 0 True * False 2 3 0 1 0 False False True 0.5 0.5 0.800000011921 1 0 0 0 0 2 True False 12 True True gtk-ok True GTK_RELIEF_NORMAL True 0 False False True True gtk-cancel True GTK_RELIEF_NORMAL True 0 False False 0 False False gpaint GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False True False True False False GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_NORTH_WEST True False True False 0 True GTK_SHADOW_OUT GTK_POS_LEFT GTK_POS_TOP True GTK_PACK_DIRECTION_LTR GTK_PACK_DIRECTION_LTR True _File True True _New True True gtk-new 1 0.5 0.5 0 0 True _Open True True gtk-open 1 0.5 0.5 0 0 True _Save True True gtk-save 1 0.5 0.5 0 0 True Save _As True True gtk-save-as 1 0.5 0.5 0 0 True False Print Preview Print Preview True True gtk-print-preview 1 0.5 0.5 0 0 True _Print True True gtk-print 1 0.5 0.5 0 0 True True _Close True True gtk-close 1 0.5 0.5 0 0 True _Quit True True gtk-quit 1 0.5 0.5 0 0 True _Edit True True Cu_t True True gtk-cut 1 0.5 0.5 0 0 True _Copy True True gtk-copy 1 0.5 0.5 0 0 True _Paste True True gtk-paste 1 0.5 0.5 0 0 True Clear True True gtk-clear 1 0.5 0.5 0 0 True True _Select All True True _Image True True Desktop True True Get Snapshot of Desktop True True Set Desktop Background True True True Rotate 90 degrees Clockwise Rotate Right True True Rotate 90 degrees Anticlockwise Rotate Left True True True Mirror Left to Right Flip Left to Right True True Flip Top to Bottom True True Effec_ts True True _Invert True True _Sharpen True True True S_mooth True True _Directional Smooth True True Despeckle True True True _Edge Detect True True Emboss True True _Oil Paint True True _Add Noise True True Spread True True _Pixelize True True _Blend True True Solarize True True True _Normalize Contrast True True _Quantize Color True True Convert to _Greyscale True True _Windows True True Create _New Window True True _Close This Window True True _Help True True _About True True gtk-about 1 0.5 0.5 0 0 0 False True True GTK_SHADOW_OUT GTK_POS_LEFT GTK_POS_TOP 375 55 True GTK_ORIENTATION_HORIZONTAL GTK_TOOLBAR_BOTH True True True New File New True gtk-new True True False False True True Open File Open True gtk-open True True False False True True Save File Save True gtk-save True True False False True True Save File As Save As True gtk-save-as True True False False True True True True True False False True Print Print True gtk-print True True False False True 0 False True True GTK_SHADOW_OUT GTK_POS_LEFT GTK_POS_TOP 375 53 True GTK_ORIENTATION_HORIZONTAL GTK_TOOLBAR_BOTH True True True True True False True True True True False False True False False True False bold text Bold True gtk-bold True True False False True True False italic text Italic True gtk-italic True True False False True True False underline text Underline True gtk-underline True True False False True True True True False True 2 1 False 0 0 60 25 True True False False True False True True True True 0 True • False True GTK_SELECTION_BROWSE 0 1 1 2 True line width False False GTK_JUSTIFY_CENTER False False 0.5 0.5 0 0 PANGO_ELLIPSIZE_NONE -1 False 0 0 1 0 1 False False 0 False True True False 0 True GTK_SHADOW_OUT GTK_POS_TOP GTK_POS_TOP 84 350 True GTK_ORIENTATION_VERTICAL GTK_TOOLBAR_BOTH True True 85 327 True True True False 80 350 True 2 2 False 3 0 3 40 33 True fill GTK_RELIEF_NORMAL True False False 0 2 1 2 40 284 True GTK_ORIENTATION_VERTICAL GTK_TOOLBAR_BOTH True True True True True False 40 40 True True pen True GTK_RELIEF_NORMAL True True False False False True True True False 40 40 True True polyselect True GTK_RELIEF_NORMAL True False False False False True True True False 40 40 True True text True GTK_RELIEF_NORMAL True False False False False True True True False 40 40 True True arc True GTK_RELIEF_NORMAL True False False False False True True True False 40 40 True False True curve True GTK_RELIEF_NORMAL True False False False False True True True False 40 40 True True oval True GTK_RELIEF_NORMAL True False False False False True True True False 40 40 True True brush True GTK_RELIEF_NORMAL True False False False False 1 2 0 1 40 284 True GTK_ORIENTATION_VERTICAL GTK_TOOLBAR_BOTH True True True True True False 40 40 True True erase True GTK_RELIEF_NORMAL True False False False False True True True False 40 40 True True lasso True GTK_RELIEF_NORMAL True False False False False True True True False 40 40 True True fill True GTK_RELIEF_NORMAL True False False False False True True True False 40 40 True True line True GTK_RELIEF_NORMAL True False False False False True True True False 40 40 True True multiline True GTK_RELIEF_NORMAL True False False False False True True True False 40 40 True True rectangle True GTK_RELIEF_NORMAL True False False False False True True True False 40 40 True True freehand True GTK_RELIEF_NORMAL True False False False False 0 1 0 1 False False 0 False True True True True create_drawing_area_in_scroll_frame 0 0 Sun, 09 Sep 2007 01:02:35 GMT 0 True True 0 True True True GTK_SHADOW_OUT GTK_POS_LEFT GTK_POS_TOP 5 True 2 15 False 1 1 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 14 15 0 1 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 14 15 1 2 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 13 14 0 1 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 13 14 1 2 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 12 13 0 1 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 12 13 1 2 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 11 12 0 1 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 11 12 1 2 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 10 11 0 1 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 10 11 1 2 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 9 10 0 1 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 9 10 1 2 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 8 9 0 1 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 8 9 1 2 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 7 8 0 1 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 7 8 1 2 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 6 7 0 1 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 6 7 1 2 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 5 6 0 1 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 5 6 1 2 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 4 5 0 1 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 4 5 1 2 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 3 4 0 1 20 20 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 3 4 1 2 20 20 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 2 3 0 1 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 2 3 1 2 20 20 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 1 2 1 2 True True 0 0.5 GTK_SHADOW_ETCHED_IN 16 16 True True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GDK_EXTENSION_EVENTS_ALL 1 2 0 1 2 70 40 True 36 24 True True False True 31 16 36 24 True True False True 0 0 0 1 0 2 0 False True True True 0 False False gpaint-2-0.3.3/gpaint.gladep0000664000076400007640000000062510670643167012546 00000000000000 Gpaint gpaint FALSE TRUE ui.c ui.h gpaint-2-0.3.3/po/0000777000076400007640000000000010671212060010564 500000000000000gpaint-2-0.3.3/po/ChangeLog0000664000076400007640000000415610166317002012263 000000000000002005-01-03 Goedson Paixao * pr_BR.po: Updated for 0.3 prerelease 2003-04-06 Christophe Merlet * fr.po: Added French translation from Gael Chamoulaud (strider) and Laurent Richard 2003-03-14 Vincent van Adrighem * nl.po: Dutch translation updated. 2003-03-11 Paul Duffy * ga.po: Added Irish translation 2003-03-08 Takeshi AIHANA * ja.po: Added Japanese translation by KAMAGASAKO Masatoshi . 2003-03-01 Duarte Loreto * pt.po: New Portuguese translation. 2003-02-26 Evandro Fernandes Giovanini * pt_BR.po: Updated Brazilian Portuguese translation from Fabio Rafael da Rosa . 2003-02-25 Miloslav Trmac * cs.po: Finished Czech translation. 2003-02-24 Yuriy Syrota * uk.po: Added Ukrainian translation. 2003-02-22 Evandro Fernandes Giovanini * pt_BR.po: Added Brazilian Portuguese translation from Fabio Rafael da Rosa . 2003-02-22 Pablo Saratxaga * ca.po: Added Catalan file 2003-02-20 Vincent van Adrighem * nl.po: Dutch translation added by Jan-Willem Harmanny. 2003-02-07 Miloslav Trmac * cs.po: Updated Czech translation. 2003-02-05 Pablo Gonzalo del Campo * es.po: Updated Spanish translation. 2003-02-04 Miloslav Trmac * cs.po: Added Czech translation. 2003-02-04 Pablo Gonzalo del Campo * es.po: Added Spanish translation. 2003-02-03 Daniel Yacob * am.po: Added Amharic translation. 2003-02-03 Christian Rose * sv.po: Added Swedish translation. 2003-02-02 Christian Rose * .cvsignore: Added. * POTFILES, cat-id-tbl.c, gdraw.pot, stamp-cat-id: These files don't belong in cvs. gpaint-2-0.3.3/po/Makefile.in.in0000644000076400007640000001761010671211764013171 00000000000000# 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@ 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@ MSGMERGE = msgmerge 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) -c -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) $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \ --add-comments --keyword=_ --keyword=N_ \ --flag=g_strdup_printf:1:c-format \ --flag=g_string_printf:2:c-format \ --flag=g_string_append_printf:2:c-format \ --flag=g_error_new:3:c-format \ --flag=g_set_error:4:c-format \ --flag=g_markup_printf_escaped:1:c-format \ --flag=g_log:3:c-format \ --flag=g_print:1:c-format \ --flag=g_printerr:1:c-format \ --flag=g_printf:1:c-format \ --flag=g_fprintf:2:c-format \ --flag=g_sprintf:2:c-format \ --flag=g_snprintf:3:c-format \ --flag=g_scanner_error:2:c-format \ --flag=g_scanner_warn:2:c-format \ --files-from=$(srcdir)/POTFILES.in \ && test ! -f $(GETTEXT_PACKAGE).po \ || ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \ && mv $(GETTEXT_PACKAGE).po $(srcdir)/$(GETTEXT_PACKAGE).pot ) 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 if test "$(PACKAGE)" = "glib"; then \ rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ fi 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 tmpdir=`pwd`; \ cd $(srcdir); \ catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ echo "$$lang:"; \ if $(MSGMERGE) $$lang.po $(GETTEXT_PACKAGE).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$cat failed!"; \ rm -f $$tmpdir/$$lang.new.po; \ fi; \ done # 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: gpaint-2-0.3.3/po/POTFILES.in0000664000076400007640000000020210671211502012251 00000000000000# List of source files containing translatable strings. src/main.c src/ui.c src/callbacks.c src/util.c src/drawing.c src/about.c gpaint-2-0.3.3/po/gpaint-2.pot0000664000076400007640000001561110671211556012664 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-09-10 02:50-0700\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" #: src/ui.c:49 msgid "New Canvas" msgstr "" #: src/ui.c:57 msgid "Enter the desired image size:" msgstr "" #: src/ui.c:86 msgid "Width: " msgstr "" #: src/ui.c:94 msgid "Height: " msgstr "" #: src/ui.c:185 msgid "about" msgstr "" #: src/ui.c:214 msgid "" "This program is free software; you may redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " "Software Foundation, either version 3, or (at your opinion) any later " "version.\n" msgstr "" #: src/ui.c:223 msgid "" "based on xpaint, by David Koblas and Torsten Martinsen \n" "Copyright 1992--1996" msgstr "" #: src/ui.c:231 msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " msgstr "" #: src/ui.c:489 msgid "gpaint" msgstr "" #: src/ui.c:506 msgid "_File" msgstr "" #: src/ui.c:515 msgid "_New" msgstr "" #: src/ui.c:525 msgid "_Open" msgstr "" #: src/ui.c:538 msgid "_Save" msgstr "" #: src/ui.c:551 msgid "Save _As" msgstr "" #: src/ui.c:567 src/ui.c:572 msgid "Print Preview" msgstr "" #: src/ui.c:579 msgid "_Print" msgstr "" #: src/ui.c:596 msgid "_Close" msgstr "" #: src/ui.c:606 msgid "_Quit" msgstr "" #: src/ui.c:619 msgid "_Edit" msgstr "" #: src/ui.c:628 msgid "Cu_t" msgstr "" #: src/ui.c:641 msgid "_Copy" msgstr "" #: src/ui.c:654 msgid "_Paste" msgstr "" #: src/ui.c:667 msgid "Clear" msgstr "" #: src/ui.c:683 msgid "_Select All" msgstr "" #: src/ui.c:691 msgid "_Image" msgstr "" #: src/ui.c:700 msgid "Desktop" msgstr "" #: src/ui.c:709 msgid "Get Snapshot of Desktop" msgstr "" #: src/ui.c:714 msgid "Set Desktop Background" msgstr "" #: src/ui.c:725 msgid "Rotate Right" msgstr "" #: src/ui.c:729 msgid "Rotate 90 degrees Clockwise" msgstr "" #: src/ui.c:734 msgid "Rotate Left" msgstr "" #: src/ui.c:738 msgid "Rotate 90 degrees Anticlockwise" msgstr "" #: src/ui.c:749 msgid "Flip Left to Right" msgstr "" #: src/ui.c:753 msgid "Mirror Left to Right" msgstr "" #: src/ui.c:758 msgid "Flip Top to Bottom" msgstr "" #: src/ui.c:766 msgid "Effec_ts" msgstr "" #: src/ui.c:775 msgid "_Invert" msgstr "" #: src/ui.c:780 msgid "_Sharpen" msgstr "" #: src/ui.c:791 msgid "S_mooth" msgstr "" #: src/ui.c:796 msgid "_Directional Smooth" msgstr "" #: src/ui.c:801 msgid "Despeckle" msgstr "" #: src/ui.c:812 msgid "_Edge Detect" msgstr "" #: src/ui.c:817 msgid "Emboss" msgstr "" #: src/ui.c:822 msgid "_Oil Paint" msgstr "" #: src/ui.c:827 msgid "_Add Noise" msgstr "" #: src/ui.c:832 msgid "Spread" msgstr "" #: src/ui.c:837 msgid "_Pixelize" msgstr "" #: src/ui.c:842 msgid "_Blend" msgstr "" #: src/ui.c:847 msgid "Solarize" msgstr "" #: src/ui.c:858 msgid "_Normalize Contrast" msgstr "" #: src/ui.c:863 msgid "_Quantize Color" msgstr "" #: src/ui.c:868 msgid "Convert to _Greyscale" msgstr "" #: src/ui.c:873 msgid "_Windows" msgstr "" #: src/ui.c:882 msgid "Create _New Window" msgstr "" #: src/ui.c:890 msgid "_Close This Window" msgstr "" #: src/ui.c:898 msgid "_Help" msgstr "" #: src/ui.c:907 msgid "_About" msgstr "" #: src/ui.c:932 msgid "New" msgstr "" #: src/ui.c:936 msgid "New File" msgstr "" #: src/ui.c:940 msgid "Open" msgstr "" #: src/ui.c:944 msgid "Open File" msgstr "" #: src/ui.c:948 msgid "Save" msgstr "" #: src/ui.c:952 msgid "Save File" msgstr "" #: src/ui.c:956 msgid "Save As" msgstr "" #: src/ui.c:960 msgid "Save File As" msgstr "" #: src/ui.c:969 src/ui.c:974 msgid "Print" msgstr "" #: src/ui.c:1001 msgid "Bold" msgstr "" #: src/ui.c:1006 msgid "bold text" msgstr "" #: src/ui.c:1010 msgid "Italic" msgstr "" #: src/ui.c:1015 msgid "italic text" msgstr "" #: src/ui.c:1019 msgid "Underline" msgstr "" #: src/ui.c:1024 msgid "underline text" msgstr "" #: src/ui.c:1036 src/ui.c:1067 msgid "line width" msgstr "" #: src/ui.c:1054 msgid "1" msgstr "" #: src/ui.c:1055 msgid "2" msgstr "" #: src/ui.c:1056 msgid "3" msgstr "" #: src/ui.c:1057 msgid "4" msgstr "" #: src/ui.c:1058 msgid "6" msgstr "" #: src/ui.c:1059 msgid "8" msgstr "" #: src/ui.c:1118 msgid "erase" msgstr "" #: src/ui.c:1129 msgid "lasso" msgstr "" #: src/ui.c:1140 msgid "rectselect" msgstr "" #: src/ui.c:1151 src/ui.c:1299 msgid "fill" msgstr "" #: src/ui.c:1162 msgid "line" msgstr "" #: src/ui.c:1173 msgid "multiline" msgstr "" #: src/ui.c:1184 msgid "rectangle" msgstr "" #: src/ui.c:1195 msgid "freehand" msgstr "" #: src/ui.c:1217 msgid "pen" msgstr "" #: src/ui.c:1228 msgid "polyselect" msgstr "" #: src/ui.c:1240 msgid "text" msgstr "" #: src/ui.c:1251 msgid "arc" msgstr "" #: src/ui.c:1262 msgid "curve" msgstr "" #: src/ui.c:1273 msgid "oval" msgstr "" #: src/ui.c:1284 msgid "brush" msgstr "" #: src/util.c:120 src/util.c:144 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "" #. default filename #: src/drawing.c:46 msgid "untitled.png" msgstr "" #: src/drawing.c:220 #, c-format msgid "" "The file %s already exists.\n" "\n" "Do you want to overwrite it?" msgstr "" #: src/drawing.c:260 #, c-format msgid "" "Failed to save file %s.\n" "\n" "%s" msgstr "" #: src/drawing.c:308 msgid "Untitled" msgstr "" #: src/drawing.c:324 msgid " (modified)" msgstr "" #: src/drawing.c:326 msgid " - gpaint" msgstr "" #: src/drawing.c:427 #, c-format msgid "" "Do you want to save the changes you made to \"%s\"?\n" "Your changes will be lost if you don't save them." msgstr "" #: src/drawing.c:432 msgid "Close _without Saving" msgstr "" #: src/about.c:51 msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai\n" "Copyright 2002 Michael A. Meffie III\n" "\n" "based on xpaint, by David Koblas and Torsten Martinsen\n" "Copyright 1992--1996" msgstr "" #: src/about.c:58 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 3\n" "of the License, or (at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be\n" "useful, but WITHOUT ANY WARRANTY; without even the implied\n" "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" "PURPOSE. See the GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see .\n" msgstr "" #: src/about.c:72 msgid "a small-scale painting program for GNOME, the GNU Desktop." msgstr "" gpaint-2-0.3.3/po/am.po0000664000076400007640000002126110671211556011452 00000000000000# Translations into the Amharic Language. # Copyright (C) 2002 Free Software Foundation, Inc. # This file is distributed under the same license as the gpaint package. # Ge'ez Frontier Foundation , 2002. # # msgid "" msgstr "" "Project-Id-Version: gpaint\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-09-10 02:50-0700\n" "PO-Revision-Date: 2003-02-03 10:13+EDT\n" "Last-Translator: Ge'ez Frontier Foundation \n" "Language-Team: Amharic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/ui.c:49 msgid "New Canvas" msgstr "" #: src/ui.c:57 msgid "Enter the desired image size:" msgstr "" #: src/ui.c:86 msgid "Width: " msgstr "ስá‹á‰µá¦" #: src/ui.c:94 msgid "Height: " msgstr "እርá‹áˆ›áŠ”á¦" #: src/ui.c:185 msgid "about" msgstr "ስለ" #: src/ui.c:214 msgid "" "This program is free software; you may redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " "Software Foundation, either version 3, or (at your opinion) any later " "version.\n" msgstr "" #: src/ui.c:223 msgid "" "based on xpaint, by David Koblas and Torsten Martinsen \n" "Copyright 1992--1996" msgstr "" #: src/ui.c:231 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " msgstr "" "የቅጂዠመብት 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "የቅጂዠመብት 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/ui.c:489 msgid "gpaint" msgstr "gpaint" #: src/ui.c:506 #, fuzzy msgid "_File" msgstr "አዲስ á‹á‹­áˆ (_N)" #: src/ui.c:515 #, fuzzy msgid "_New" msgstr "አዲስ" #: src/ui.c:525 #, fuzzy msgid "_Open" msgstr "ክáˆá‰µ" #: src/ui.c:538 #, fuzzy msgid "_Save" msgstr "አስቀáˆáŒ¥" #: src/ui.c:551 #, fuzzy msgid "Save _As" msgstr "በሌላ ስሠአስቀáˆáŒ¥" #: src/ui.c:567 src/ui.c:572 msgid "Print Preview" msgstr "የቅድመ ህትመት ዕይታ" #: src/ui.c:579 #, fuzzy msgid "_Print" msgstr "አትáˆ" #: src/ui.c:596 msgid "_Close" msgstr "" #: src/ui.c:606 msgid "_Quit" msgstr "" #: src/ui.c:619 msgid "_Edit" msgstr "" #: src/ui.c:628 msgid "Cu_t" msgstr "" #: src/ui.c:641 msgid "_Copy" msgstr "" #: src/ui.c:654 msgid "_Paste" msgstr "" #: src/ui.c:667 msgid "Clear" msgstr "" #: src/ui.c:683 msgid "_Select All" msgstr "" #: src/ui.c:691 msgid "_Image" msgstr "áˆáˆµáˆ (_I)" #: src/ui.c:700 msgid "Desktop" msgstr "ሠሌዳ" #: src/ui.c:709 msgid "Get Snapshot of Desktop" msgstr "" #: src/ui.c:714 msgid "Set Desktop Background" msgstr "" #: src/ui.c:725 #, fuzzy msgid "Rotate Right" msgstr "ያሽከርክሩ" #: src/ui.c:729 msgid "Rotate 90 degrees Clockwise" msgstr "" #: src/ui.c:734 #, fuzzy msgid "Rotate Left" msgstr "ያሽከርክሩ" #: src/ui.c:738 msgid "Rotate 90 degrees Anticlockwise" msgstr "" #: src/ui.c:749 #, fuzzy msgid "Flip Left to Right" msgstr "áŒáˆ«-ወደ-ቀáŠ" #: src/ui.c:753 #, fuzzy msgid "Mirror Left to Right" msgstr "áŒáˆ«-ወደ-ቀáŠ" #: src/ui.c:758 #, fuzzy msgid "Flip Top to Bottom" msgstr "ላይ-ወደ-ታች" #: src/ui.c:766 #, fuzzy msgid "Effec_ts" msgstr "ክንá‹áŠ–á‰½ (_E)" #: src/ui.c:775 #, fuzzy msgid "_Invert" msgstr "ወደ áŠá‰ áˆ¨á‰ á‰µ መáˆáˆµ (_R)" #: src/ui.c:780 msgid "_Sharpen" msgstr "" #: src/ui.c:791 msgid "S_mooth" msgstr "" #: src/ui.c:796 msgid "_Directional Smooth" msgstr "" #: src/ui.c:801 msgid "Despeckle" msgstr "" #: src/ui.c:812 msgid "_Edge Detect" msgstr "" #: src/ui.c:817 msgid "Emboss" msgstr "" #: src/ui.c:822 msgid "_Oil Paint" msgstr "" #: src/ui.c:827 msgid "_Add Noise" msgstr "" #: src/ui.c:832 msgid "Spread" msgstr "" #: src/ui.c:837 msgid "_Pixelize" msgstr "" #: src/ui.c:842 msgid "_Blend" msgstr "" #: src/ui.c:847 msgid "Solarize" msgstr "" #: src/ui.c:858 msgid "_Normalize Contrast" msgstr "" #: src/ui.c:863 msgid "_Quantize Color" msgstr "" #: src/ui.c:868 msgid "Convert to _Greyscale" msgstr "" #: src/ui.c:873 msgid "_Windows" msgstr "" #: src/ui.c:882 msgid "Create _New Window" msgstr "" #: src/ui.c:890 msgid "_Close This Window" msgstr "" #: src/ui.c:898 msgid "_Help" msgstr "" #: src/ui.c:907 #, fuzzy msgid "_About" msgstr "ስለ" #: src/ui.c:932 msgid "New" msgstr "አዲስ" #: src/ui.c:936 msgid "New File" msgstr "አዲስ á‹á‹­áˆ" #: src/ui.c:940 msgid "Open" msgstr "ክáˆá‰µ" #: src/ui.c:944 msgid "Open File" msgstr "á‹á‹­áˆ ክáˆá‰µ" #: src/ui.c:948 msgid "Save" msgstr "አስቀáˆáŒ¥" #: src/ui.c:952 msgid "Save File" msgstr "á‹á‹­áˆáŠ• አስቀáˆáŒ¥" #: src/ui.c:956 msgid "Save As" msgstr "በሌላ ስሠአስቀáˆáŒ¥" #: src/ui.c:960 msgid "Save File As" msgstr "á‹á‹­áˆ‰áŠ• በሌላ ስሠአስቀáˆáŒ¥" #: src/ui.c:969 src/ui.c:974 msgid "Print" msgstr "አትáˆ" #: src/ui.c:1001 msgid "Bold" msgstr "ደማቅ" #: src/ui.c:1006 msgid "bold text" msgstr "" #: src/ui.c:1010 msgid "Italic" msgstr "አይታሊክ ማድረጊያ" #: src/ui.c:1015 msgid "italic text" msgstr "" #: src/ui.c:1019 msgid "Underline" msgstr "የስር መስመር" #: src/ui.c:1024 msgid "underline text" msgstr "" #: src/ui.c:1036 src/ui.c:1067 msgid "line width" msgstr "የመስመር ስá‹á‰µ" #: src/ui.c:1054 msgid "1" msgstr "1" #: src/ui.c:1055 msgid "2" msgstr "2" #: src/ui.c:1056 msgid "3" msgstr "3" #: src/ui.c:1057 msgid "4" msgstr "4" #: src/ui.c:1058 msgid "6" msgstr "6" #: src/ui.c:1059 msgid "8" msgstr "8" #: src/ui.c:1118 msgid "erase" msgstr "á‹°áˆáˆµáˆµ" #: src/ui.c:1129 msgid "lasso" msgstr "" #: src/ui.c:1140 msgid "rectselect" msgstr "" #: src/ui.c:1151 src/ui.c:1299 msgid "fill" msgstr "" #: src/ui.c:1162 msgid "line" msgstr "መስመር" #: src/ui.c:1173 #, fuzzy msgid "multiline" msgstr "መስመር" #: src/ui.c:1184 msgid "rectangle" msgstr "" #: src/ui.c:1195 msgid "freehand" msgstr "" #: src/ui.c:1217 msgid "pen" msgstr "" #: src/ui.c:1228 msgid "polyselect" msgstr "" #: src/ui.c:1240 msgid "text" msgstr "ጽሑá" #: src/ui.c:1251 msgid "arc" msgstr "" #: src/ui.c:1262 msgid "curve" msgstr "" #: src/ui.c:1273 msgid "oval" msgstr "" #: src/ui.c:1284 msgid "brush" msgstr "" #: src/util.c:120 src/util.c:144 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "" #. default filename #: src/drawing.c:46 msgid "untitled.png" msgstr "" #: src/drawing.c:220 #, c-format msgid "" "The file %s already exists.\n" "\n" "Do you want to overwrite it?" msgstr "" #: src/drawing.c:260 #, c-format msgid "" "Failed to save file %s.\n" "\n" "%s" msgstr "" #: src/drawing.c:308 msgid "Untitled" msgstr "" #: src/drawing.c:324 msgid " (modified)" msgstr "" #: src/drawing.c:326 #, fuzzy msgid " - gpaint" msgstr "gpaint" #: src/drawing.c:427 #, c-format msgid "" "Do you want to save the changes you made to \"%s\"?\n" "Your changes will be lost if you don't save them." msgstr "" #: src/drawing.c:432 msgid "Close _without Saving" msgstr "" #: src/about.c:51 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai\n" "Copyright 2002 Michael A. Meffie III\n" "\n" "based on xpaint, by David Koblas and Torsten Martinsen\n" "Copyright 1992--1996" msgstr "" "የቅጂዠመብት 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "የቅጂዠመብት 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/about.c:58 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 3\n" "of the License, or (at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be\n" "useful, but WITHOUT ANY WARRANTY; without even the implied\n" "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" "PURPOSE. See the GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see .\n" msgstr "" #: src/about.c:72 msgid "a small-scale painting program for GNOME, the GNU Desktop." msgstr "" #~ msgid "Flip" #~ msgstr "በáጥáŠá‰µ áŒáˆˆáŒ¥" #~ msgid "background color" #~ msgstr "የመደቡ ቀለáˆ" #~ msgid "Background color" #~ msgstr "የመደቡ ቀለáˆ" #~ msgid "foreground color" #~ msgstr "የáŠá‰µ ለáŠá‰± ቀለáˆ" #~ msgid "Foreground color" #~ msgstr "የáŠá‰µ ለáŠá‰± ቀለáˆ" #~ msgid "+90" #~ msgstr "+90" #~ msgid "+45" #~ msgstr "+45" #~ msgid "-45" #~ msgstr "-45" #~ msgid "-90" #~ msgstr "-90" #~ msgid "+180" #~ msgstr "+180" #~ msgid "About G_NOME" #~ msgstr "ስለ ኖሠ(_N)" #~ msgid "About _GNU" #~ msgstr "ስለ _GNU" #~ msgid "Zoom:" #~ msgstr "በቅርበት አሳይá¦" gpaint-2-0.3.3/po/ca.po0000664000076400007640000001644610671211556011451 00000000000000# # (c)2003 Softcatalà, recuperat de la memòria de traducció # msgid "" msgstr "" "Project-Id-Version: Gpaint\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-09-10 02:50-0700\n" "PO-Revision-Date: 2003-02-21 17:13+0100\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 0.9.6\n" #: src/ui.c:49 msgid "New Canvas" msgstr "" #: src/ui.c:57 msgid "Enter the desired image size:" msgstr "" # #: src/ui.c:86 msgid "Width: " msgstr "Amplada: " # #: src/ui.c:94 msgid "Height: " msgstr "Alçada: " #: src/ui.c:185 msgid "about" msgstr "" #: src/ui.c:214 msgid "" "This program is free software; you may redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " "Software Foundation, either version 3, or (at your opinion) any later " "version.\n" msgstr "" #: src/ui.c:223 msgid "" "based on xpaint, by David Koblas and Torsten Martinsen \n" "Copyright 1992--1996" msgstr "" #: src/ui.c:231 msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " msgstr "" #: src/ui.c:489 msgid "gpaint" msgstr "" # #: src/ui.c:506 #, fuzzy msgid "_File" msgstr "_Nou fitxer" # #: src/ui.c:515 #, fuzzy msgid "_New" msgstr "Nou" # #: src/ui.c:525 #, fuzzy msgid "_Open" msgstr "Obre" # #: src/ui.c:538 #, fuzzy msgid "_Save" msgstr "Desa" # #: src/ui.c:551 #, fuzzy msgid "Save _As" msgstr "Anomena i desa" #: src/ui.c:567 src/ui.c:572 msgid "Print Preview" msgstr "" # #: src/ui.c:579 #, fuzzy msgid "_Print" msgstr "Imprimir" #: src/ui.c:596 msgid "_Close" msgstr "" #: src/ui.c:606 msgid "_Quit" msgstr "" #: src/ui.c:619 msgid "_Edit" msgstr "" #: src/ui.c:628 msgid "Cu_t" msgstr "" #: src/ui.c:641 msgid "_Copy" msgstr "" #: src/ui.c:654 msgid "_Paste" msgstr "" #: src/ui.c:667 msgid "Clear" msgstr "" #: src/ui.c:683 msgid "_Select All" msgstr "" # #: src/ui.c:691 msgid "_Image" msgstr "_Imatge" # #: src/ui.c:700 msgid "Desktop" msgstr "Escriptori" #: src/ui.c:709 msgid "Get Snapshot of Desktop" msgstr "" #: src/ui.c:714 msgid "Set Desktop Background" msgstr "" # #: src/ui.c:725 #, fuzzy msgid "Rotate Right" msgstr "Gira" #: src/ui.c:729 msgid "Rotate 90 degrees Clockwise" msgstr "" # #: src/ui.c:734 #, fuzzy msgid "Rotate Left" msgstr "Gira" #: src/ui.c:738 msgid "Rotate 90 degrees Anticlockwise" msgstr "" #: src/ui.c:749 msgid "Flip Left to Right" msgstr "" #: src/ui.c:753 msgid "Mirror Left to Right" msgstr "" #: src/ui.c:758 msgid "Flip Top to Bottom" msgstr "" #: src/ui.c:766 msgid "Effec_ts" msgstr "" # #: src/ui.c:775 #, fuzzy msgid "_Invert" msgstr "_Reverteix" #: src/ui.c:780 msgid "_Sharpen" msgstr "" #: src/ui.c:791 msgid "S_mooth" msgstr "" #: src/ui.c:796 msgid "_Directional Smooth" msgstr "" # #: src/ui.c:801 msgid "Despeckle" msgstr "Elimina els pics" #: src/ui.c:812 msgid "_Edge Detect" msgstr "" # #: src/ui.c:817 msgid "Emboss" msgstr "Relleu" #: src/ui.c:822 msgid "_Oil Paint" msgstr "" #: src/ui.c:827 msgid "_Add Noise" msgstr "" # #: src/ui.c:832 msgid "Spread" msgstr "Escampar" #: src/ui.c:837 msgid "_Pixelize" msgstr "" #: src/ui.c:842 msgid "_Blend" msgstr "" #: src/ui.c:847 msgid "Solarize" msgstr "" #: src/ui.c:858 msgid "_Normalize Contrast" msgstr "" #: src/ui.c:863 msgid "_Quantize Color" msgstr "" #: src/ui.c:868 msgid "Convert to _Greyscale" msgstr "" #: src/ui.c:873 msgid "_Windows" msgstr "" #: src/ui.c:882 msgid "Create _New Window" msgstr "" #: src/ui.c:890 msgid "_Close This Window" msgstr "" #: src/ui.c:898 msgid "_Help" msgstr "" #: src/ui.c:907 msgid "_About" msgstr "" # #: src/ui.c:932 msgid "New" msgstr "Nou" # #: src/ui.c:936 msgid "New File" msgstr "Nou fitxer" # #: src/ui.c:940 msgid "Open" msgstr "Obre" #: src/ui.c:944 msgid "Open File" msgstr "" # #: src/ui.c:948 msgid "Save" msgstr "Desa" # #: src/ui.c:952 msgid "Save File" msgstr "Desa el fitxer" # #: src/ui.c:956 msgid "Save As" msgstr "Anomena i desa" #: src/ui.c:960 msgid "Save File As" msgstr "" # #: src/ui.c:969 src/ui.c:974 msgid "Print" msgstr "Imprimir" # #: src/ui.c:1001 msgid "Bold" msgstr "Negreta" #: src/ui.c:1006 msgid "bold text" msgstr "" # #: src/ui.c:1010 msgid "Italic" msgstr "Cursiva" #: src/ui.c:1015 msgid "italic text" msgstr "" # #: src/ui.c:1019 msgid "Underline" msgstr "Subratllat" #: src/ui.c:1024 msgid "underline text" msgstr "" #: src/ui.c:1036 src/ui.c:1067 msgid "line width" msgstr "" # #: src/ui.c:1054 msgid "1" msgstr "1" # #: src/ui.c:1055 msgid "2" msgstr "2" # #: src/ui.c:1056 msgid "3" msgstr "3" # #: src/ui.c:1057 msgid "4" msgstr "4" # #: src/ui.c:1058 msgid "6" msgstr "6" # #: src/ui.c:1059 msgid "8" msgstr "8" #: src/ui.c:1118 msgid "erase" msgstr "" #: src/ui.c:1129 msgid "lasso" msgstr "" #: src/ui.c:1140 msgid "rectselect" msgstr "" #: src/ui.c:1151 src/ui.c:1299 msgid "fill" msgstr "" #: src/ui.c:1162 msgid "line" msgstr "" #: src/ui.c:1173 msgid "multiline" msgstr "" #: src/ui.c:1184 msgid "rectangle" msgstr "" #: src/ui.c:1195 msgid "freehand" msgstr "" #: src/ui.c:1217 msgid "pen" msgstr "" #: src/ui.c:1228 msgid "polyselect" msgstr "" # #: src/ui.c:1240 msgid "text" msgstr "text" #: src/ui.c:1251 msgid "arc" msgstr "" #: src/ui.c:1262 msgid "curve" msgstr "" #: src/ui.c:1273 msgid "oval" msgstr "" #: src/ui.c:1284 msgid "brush" msgstr "" # #: src/util.c:120 src/util.c:144 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "No es pot trobar el fitxer de pixmap: %s" #. default filename #: src/drawing.c:46 msgid "untitled.png" msgstr "" #: src/drawing.c:220 #, c-format msgid "" "The file %s already exists.\n" "\n" "Do you want to overwrite it?" msgstr "" #: src/drawing.c:260 #, c-format msgid "" "Failed to save file %s.\n" "\n" "%s" msgstr "" #: src/drawing.c:308 msgid "Untitled" msgstr "" #: src/drawing.c:324 msgid " (modified)" msgstr "" #: src/drawing.c:326 msgid " - gpaint" msgstr "" #: src/drawing.c:427 #, c-format msgid "" "Do you want to save the changes you made to \"%s\"?\n" "Your changes will be lost if you don't save them." msgstr "" #: src/drawing.c:432 msgid "Close _without Saving" msgstr "" #: src/about.c:51 msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai\n" "Copyright 2002 Michael A. Meffie III\n" "\n" "based on xpaint, by David Koblas and Torsten Martinsen\n" "Copyright 1992--1996" msgstr "" #: src/about.c:58 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 3\n" "of the License, or (at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be\n" "useful, but WITHOUT ANY WARRANTY; without even the implied\n" "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" "PURPOSE. See the GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see .\n" msgstr "" #: src/about.c:72 msgid "a small-scale painting program for GNOME, the GNU Desktop." msgstr "" # #~ msgid "Background color" #~ msgstr "Color de fons" # #~ msgid "Foreground color" #~ msgstr "Color davanter" gpaint-2-0.3.3/po/cs.po0000664000076400007640000002231610671211556011464 00000000000000# Czech translation of gpaint # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the gpaint package. # Miloslav Trmac # msgid "" msgstr "" "Project-Id-Version: gpaint VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-09-10 02:50-0700\n" "PO-Revision-Date: 2003-02-22 23:47+0100\n" "Last-Translator: Miloslav Trmac \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/ui.c:49 msgid "New Canvas" msgstr "Nové plátno" #: src/ui.c:57 msgid "Enter the desired image size:" msgstr "Zadejte požadovanou velikost obrázku:" #: src/ui.c:86 msgid "Width: " msgstr "Šířka: " #: src/ui.c:94 msgid "Height: " msgstr "Výška: " #: src/ui.c:185 msgid "about" msgstr "o programu" #: src/ui.c:214 #, fuzzy msgid "" "This program is free software; you may redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " "Software Foundation, either version 3, or (at your opinion) any later " "version.\n" msgstr "" "Tento program je volné programové vybavení; můžete jej dále šířit a/nebo " "modifikovat za podmínek GNU General Public License, jak ji publikovala Free " "Software Foundation, buÄ verze 2, nebo (podle vaÅ¡eho rozhodnutí) libovolné " "pozdÄ›jší verze.\n" #: src/ui.c:223 msgid "" "based on xpaint, by David Koblas and Torsten Martinsen \n" "Copyright 1992--1996" msgstr "" "založeno na xpaint od David Koblas a Torsten Martinsen \n" "Copyright 1992--1996" #: src/ui.c:231 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " msgstr "" "Copyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/ui.c:489 msgid "gpaint" msgstr "gpaint" #: src/ui.c:506 #, fuzzy msgid "_File" msgstr "_Nový soubor" #: src/ui.c:515 #, fuzzy msgid "_New" msgstr "Nový" #: src/ui.c:525 #, fuzzy msgid "_Open" msgstr "Otevřít" #: src/ui.c:538 #, fuzzy msgid "_Save" msgstr "Uložit" #: src/ui.c:551 #, fuzzy msgid "Save _As" msgstr "Uložit jako" #: src/ui.c:567 src/ui.c:572 msgid "Print Preview" msgstr "Náhled pÅ™ed tiskem" #: src/ui.c:579 #, fuzzy msgid "_Print" msgstr "Vytisknout" #: src/ui.c:596 msgid "_Close" msgstr "" #: src/ui.c:606 msgid "_Quit" msgstr "" #: src/ui.c:619 msgid "_Edit" msgstr "" #: src/ui.c:628 msgid "Cu_t" msgstr "" #: src/ui.c:641 msgid "_Copy" msgstr "" #: src/ui.c:654 msgid "_Paste" msgstr "" #: src/ui.c:667 msgid "Clear" msgstr "" #: src/ui.c:683 msgid "_Select All" msgstr "" #: src/ui.c:691 msgid "_Image" msgstr "_Obrázek" #: src/ui.c:700 msgid "Desktop" msgstr "Pracovní plocha" #: src/ui.c:709 msgid "Get Snapshot of Desktop" msgstr "Získat snímek obrazovky" #: src/ui.c:714 msgid "Set Desktop Background" msgstr "Nastavit jako pozadí plochy" #: src/ui.c:725 #, fuzzy msgid "Rotate Right" msgstr "Rotovat" #: src/ui.c:729 msgid "Rotate 90 degrees Clockwise" msgstr "" #: src/ui.c:734 #, fuzzy msgid "Rotate Left" msgstr "Rotovat" #: src/ui.c:738 msgid "Rotate 90 degrees Anticlockwise" msgstr "" #: src/ui.c:749 #, fuzzy msgid "Flip Left to Right" msgstr "Zleva doprava" #: src/ui.c:753 #, fuzzy msgid "Mirror Left to Right" msgstr "Zleva doprava" #: src/ui.c:758 #, fuzzy msgid "Flip Top to Bottom" msgstr "Shora dolů" #: src/ui.c:766 #, fuzzy msgid "Effec_ts" msgstr "_Efekty" #: src/ui.c:775 #, fuzzy msgid "_Invert" msgstr "_Vrátit zpÄ›t" #: src/ui.c:780 msgid "_Sharpen" msgstr "_ZaostÅ™it" #: src/ui.c:791 msgid "S_mooth" msgstr "_Vyhladit" #: src/ui.c:796 msgid "_Directional Smooth" msgstr "Vyhladit ve _smÄ›ru" #: src/ui.c:801 msgid "Despeckle" msgstr "VyÄistit" #: src/ui.c:812 msgid "_Edge Detect" msgstr "Detekce _hran" #: src/ui.c:817 msgid "Emboss" msgstr "Reliéf" #: src/ui.c:822 msgid "_Oil Paint" msgstr "_Olejomalba" #: src/ui.c:827 msgid "_Add Noise" msgstr "_PÅ™idat Å¡um" #: src/ui.c:832 msgid "Spread" msgstr "Rozprostřít" #: src/ui.c:837 msgid "_Pixelize" msgstr "_Pixelizovat" #: src/ui.c:842 msgid "_Blend" msgstr "_Smísit" #: src/ui.c:847 msgid "Solarize" msgstr "Solarizovat" #: src/ui.c:858 msgid "_Normalize Contrast" msgstr "_Normalizovat kontrast" #: src/ui.c:863 msgid "_Quantize Color" msgstr "_Kvantovat barvy" #: src/ui.c:868 msgid "Convert to _Greyscale" msgstr "PÅ™evést na _stupnÄ› Å¡edi" #: src/ui.c:873 msgid "_Windows" msgstr "" #: src/ui.c:882 msgid "Create _New Window" msgstr "" #: src/ui.c:890 msgid "_Close This Window" msgstr "" #: src/ui.c:898 msgid "_Help" msgstr "" #: src/ui.c:907 #, fuzzy msgid "_About" msgstr "o programu" #: src/ui.c:932 msgid "New" msgstr "Nový" #: src/ui.c:936 msgid "New File" msgstr "Nový soubor" #: src/ui.c:940 msgid "Open" msgstr "Otevřít" #: src/ui.c:944 msgid "Open File" msgstr "Otevřít soubor" #: src/ui.c:948 msgid "Save" msgstr "Uložit" #: src/ui.c:952 msgid "Save File" msgstr "Uložit soubor" #: src/ui.c:956 msgid "Save As" msgstr "Uložit jako" #: src/ui.c:960 msgid "Save File As" msgstr "Uložit soubor jako" #: src/ui.c:969 src/ui.c:974 msgid "Print" msgstr "Vytisknout" #: src/ui.c:1001 msgid "Bold" msgstr "TuÄný" #: src/ui.c:1006 msgid "bold text" msgstr "tuÄný text" #: src/ui.c:1010 msgid "Italic" msgstr "Kurzíva" #: src/ui.c:1015 msgid "italic text" msgstr "text kurzívou" #: src/ui.c:1019 msgid "Underline" msgstr "Podtržený" #: src/ui.c:1024 msgid "underline text" msgstr "podtržený text" #: src/ui.c:1036 src/ui.c:1067 msgid "line width" msgstr "šířka řádku" #: src/ui.c:1054 msgid "1" msgstr "1" #: src/ui.c:1055 msgid "2" msgstr "2" #: src/ui.c:1056 msgid "3" msgstr "3" #: src/ui.c:1057 msgid "4" msgstr "4" #: src/ui.c:1058 msgid "6" msgstr "6" #: src/ui.c:1059 msgid "8" msgstr "8" #: src/ui.c:1118 msgid "erase" msgstr "vymazat" #: src/ui.c:1129 msgid "lasso" msgstr "laso" #: src/ui.c:1140 #, fuzzy msgid "rectselect" msgstr "obdélník" #: src/ui.c:1151 src/ui.c:1299 msgid "fill" msgstr "vyplnit" #: src/ui.c:1162 msgid "line" msgstr "úseÄka" #: src/ui.c:1173 #, fuzzy msgid "multiline" msgstr "úseÄka" #: src/ui.c:1184 msgid "rectangle" msgstr "obdélník" #: src/ui.c:1195 #, fuzzy msgid "freehand" msgstr "uzavÅ™ená volná kresba" #: src/ui.c:1217 msgid "pen" msgstr "pero" #: src/ui.c:1228 #, fuzzy msgid "polyselect" msgstr "výbÄ›r polygonu" #: src/ui.c:1240 msgid "text" msgstr "text" #: src/ui.c:1251 msgid "arc" msgstr "oblouk" #: src/ui.c:1262 msgid "curve" msgstr "kÅ™ivka" #: src/ui.c:1273 msgid "oval" msgstr "ovál" #: src/ui.c:1284 msgid "brush" msgstr "Å¡tÄ›tec" #: src/util.c:120 src/util.c:144 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Nemohu najít soubor pixmapy: %s" #. default filename #: src/drawing.c:46 msgid "untitled.png" msgstr "" #: src/drawing.c:220 #, c-format msgid "" "The file %s already exists.\n" "\n" "Do you want to overwrite it?" msgstr "" #: src/drawing.c:260 #, c-format msgid "" "Failed to save file %s.\n" "\n" "%s" msgstr "" #: src/drawing.c:308 msgid "Untitled" msgstr "" #: src/drawing.c:324 msgid " (modified)" msgstr "" #: src/drawing.c:326 #, fuzzy msgid " - gpaint" msgstr "gpaint" #: src/drawing.c:427 #, c-format msgid "" "Do you want to save the changes you made to \"%s\"?\n" "Your changes will be lost if you don't save them." msgstr "" #: src/drawing.c:432 msgid "Close _without Saving" msgstr "" #: src/about.c:51 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai\n" "Copyright 2002 Michael A. Meffie III\n" "\n" "based on xpaint, by David Koblas and Torsten Martinsen\n" "Copyright 1992--1996" msgstr "" "Copyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/about.c:58 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 3\n" "of the License, or (at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be\n" "useful, but WITHOUT ANY WARRANTY; without even the implied\n" "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" "PURPOSE. See the GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see .\n" msgstr "" #: src/about.c:72 msgid "a small-scale painting program for GNOME, the GNU Desktop." msgstr "" #~ msgid "Flip" #~ msgstr "Zrcadlit" #~ msgid "background color" #~ msgstr "barva pozadí" #~ msgid "Background color" #~ msgstr "Barva pozadí" #~ msgid "foreground color" #~ msgstr "barva popÅ™edí" #~ msgid "Foreground color" #~ msgstr "Barva popÅ™edí" #~ msgid "+90" #~ msgstr "+90" #~ msgid "+45" #~ msgstr "+45" #~ msgid "-45" #~ msgstr "-45" #~ msgid "-90" #~ msgstr "-90" #~ msgid "+180" #~ msgstr "+180" #~ msgid "About G_NOME" #~ msgstr "O G_NOME" #~ msgid "About _GNU" #~ msgstr "O _GNU" #~ msgid "polyline" #~ msgstr "lomená Äára" #~ msgid "Zoom:" #~ msgstr "ZvÄ›tÅ¡ení:" #~ msgid "Couldn't create pixmap from file: %s" #~ msgstr "Nemohu vytvoÅ™it pixmapu ze souboru: %s" gpaint-2-0.3.3/po/de.po0000664000076400007640000002130010671211556011437 00000000000000# German translations for gpaint-2 package. # Copyright (C) 2006 THE gpaint-2'S COPYRIGHT HOLDER # This file is distributed under the same license as the gpaint-2 package. # Christian Müller , 2006. # msgid "" msgstr "" "Project-Id-Version: gpaint-2 0.3.0-pre5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-09-10 02:50-0700\n" "PO-Revision-Date: 2006-12-29 08:38+0100\n" "Last-Translator: Christian Müller \n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: src/ui.c:49 msgid "New Canvas" msgstr "Neues Bild erstellen" #: src/ui.c:57 msgid "Enter the desired image size:" msgstr "Bitte die Bildgröße in pixel angeben:" #: src/ui.c:86 msgid "Width: " msgstr "Breite: " #: src/ui.c:94 msgid "Height: " msgstr "Höhe: " #: src/ui.c:185 msgid "about" msgstr "Über.." #: src/ui.c:214 msgid "" "This program is free software; you may redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " "Software Foundation, either version 3, or (at your opinion) any later " "version.\n" msgstr "" #: src/ui.c:223 msgid "" "based on xpaint, by David Koblas and Torsten Martinsen \n" "Copyright 1992--1996" msgstr "" #: src/ui.c:231 msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " msgstr "" #: src/ui.c:489 msgid "gpaint" msgstr "gpaint" #: src/ui.c:506 msgid "_File" msgstr "_Datei" #: src/ui.c:515 msgid "_New" msgstr "_Neu" #: src/ui.c:525 #, fuzzy msgid "_Open" msgstr "Öffnen" #: src/ui.c:538 #, fuzzy msgid "_Save" msgstr "Speichern" #: src/ui.c:551 #, fuzzy msgid "Save _As" msgstr "Speichern unter.." #: src/ui.c:567 src/ui.c:572 msgid "Print Preview" msgstr "Druck_vorschau" #: src/ui.c:579 #, fuzzy msgid "_Print" msgstr "Drucken.." #: src/ui.c:596 #, fuzzy msgid "_Close" msgstr "_Im Uhrzeigersinn" #: src/ui.c:606 #, fuzzy msgid "_Quit" msgstr "B_earbeiten" #: src/ui.c:619 msgid "_Edit" msgstr "B_earbeiten" #: src/ui.c:628 msgid "Cu_t" msgstr "" #: src/ui.c:641 msgid "_Copy" msgstr "" #: src/ui.c:654 msgid "_Paste" msgstr "" #: src/ui.c:667 msgid "Clear" msgstr "" #: src/ui.c:683 msgid "_Select All" msgstr "" #: src/ui.c:691 msgid "_Image" msgstr "_Bild" #: src/ui.c:700 msgid "Desktop" msgstr "_Arbeitsfläche" #: src/ui.c:709 msgid "Get Snapshot of Desktop" msgstr "_Schnappschuss machen" #: src/ui.c:714 msgid "Set Desktop Background" msgstr "_Hintergrundbild festlegen" #: src/ui.c:725 #, fuzzy msgid "Rotate Right" msgstr "_Drehen" #: src/ui.c:729 #, fuzzy msgid "Rotate 90 degrees Clockwise" msgstr "_Gegen den Uhrzeigersinn" #: src/ui.c:734 #, fuzzy msgid "Rotate Left" msgstr "_Drehen" #: src/ui.c:738 msgid "Rotate 90 degrees Anticlockwise" msgstr "" #: src/ui.c:749 #, fuzzy msgid "Flip Left to Right" msgstr "_Horizontal" #: src/ui.c:753 #, fuzzy msgid "Mirror Left to Right" msgstr "_Horizontal" #: src/ui.c:758 #, fuzzy msgid "Flip Top to Bottom" msgstr "_Vertikal" #: src/ui.c:766 #, fuzzy msgid "Effec_ts" msgstr "_Effekte" #: src/ui.c:775 msgid "_Invert" msgstr "Negat_iv" #: src/ui.c:780 msgid "_Sharpen" msgstr "_Schärfen" #: src/ui.c:791 msgid "S_mooth" msgstr "_Glätten" #: src/ui.c:796 msgid "_Directional Smooth" msgstr "Glätten in bestimmter _Richtung" #: src/ui.c:801 msgid "Despeckle" msgstr "Rauschen min_dern" #: src/ui.c:812 msgid "_Edge Detect" msgstr "Kant_en herauslösen" #: src/ui.c:817 msgid "Emboss" msgstr "_Prägen" #: src/ui.c:822 msgid "_Oil Paint" msgstr "Ölen (_o)" #: src/ui.c:827 msgid "_Add Noise" msgstr "R_auschen hinzufügen" #: src/ui.c:832 msgid "Spread" msgstr "_Verteilen" #: src/ui.c:837 msgid "_Pixelize" msgstr "Mosaiksteine, ver_pixeln" #: src/ui.c:842 msgid "_Blend" msgstr "Aus der _Mitte aufhellen" #: src/ui.c:847 msgid "Solarize" msgstr "So_larisieren (Postereffekt)" #: src/ui.c:858 msgid "_Normalize Contrast" msgstr "Ko_ntrast aussteuern" #: src/ui.c:863 msgid "_Quantize Color" msgstr "Farben _quantisieren" #: src/ui.c:868 msgid "Convert to _Greyscale" msgstr "Umwandeln in _Graustufen" #: src/ui.c:873 msgid "_Windows" msgstr "" #: src/ui.c:882 msgid "Create _New Window" msgstr "" #: src/ui.c:890 msgid "_Close This Window" msgstr "" #: src/ui.c:898 msgid "_Help" msgstr "_Hilfe" #: src/ui.c:907 #, fuzzy msgid "_About" msgstr "Über.." #: src/ui.c:932 msgid "New" msgstr "Neu" #: src/ui.c:936 msgid "New File" msgstr "Neues Bild erstellen" #: src/ui.c:940 msgid "Open" msgstr "Öffnen" #: src/ui.c:944 msgid "Open File" msgstr "Bild aus Datei öffnen" #: src/ui.c:948 msgid "Save" msgstr "Speichern" #: src/ui.c:952 msgid "Save File" msgstr "Bild speichern" #: src/ui.c:956 msgid "Save As" msgstr "Speichern unter.." #: src/ui.c:960 msgid "Save File As" msgstr "Bild unter anderem Namen speichern" #: src/ui.c:969 src/ui.c:974 msgid "Print" msgstr "Drucken.." #: src/ui.c:1001 msgid "Bold" msgstr "Fett" #: src/ui.c:1006 msgid "bold text" msgstr "Fettschrift" #: src/ui.c:1010 msgid "Italic" msgstr "Kursiv" #: src/ui.c:1015 msgid "italic text" msgstr "Schrägschrift" #: src/ui.c:1019 msgid "Underline" msgstr "Unterstrichen" #: src/ui.c:1024 msgid "underline text" msgstr "Unterstrichene Schrift" #: src/ui.c:1036 src/ui.c:1067 msgid "line width" msgstr "Stiftbreite" #: src/ui.c:1054 msgid "1" msgstr "1 px" #: src/ui.c:1055 msgid "2" msgstr "2 px" #: src/ui.c:1056 msgid "3" msgstr "3 px" #: src/ui.c:1057 msgid "4" msgstr "4 px" #: src/ui.c:1058 msgid "6" msgstr "6 px" #: src/ui.c:1059 msgid "8" msgstr "8 px" #: src/ui.c:1118 msgid "erase" msgstr "Radieren" #: src/ui.c:1129 msgid "lasso" msgstr "" #: src/ui.c:1140 #, fuzzy msgid "rectselect" msgstr "Rechteck zeichnen" #: src/ui.c:1151 src/ui.c:1299 msgid "fill" msgstr "Farbeimer ausschütten" #: src/ui.c:1162 msgid "line" msgstr "Linie zeichnen" #: src/ui.c:1173 msgid "multiline" msgstr "" #: src/ui.c:1184 msgid "rectangle" msgstr "Rechteck zeichnen" #: src/ui.c:1195 msgid "freehand" msgstr "Freihand" #: src/ui.c:1217 msgid "pen" msgstr "Stift" #: src/ui.c:1228 msgid "polyselect" msgstr "Polygonausschnitt festlegen" #: src/ui.c:1240 msgid "text" msgstr "Text schreiben" #: src/ui.c:1251 msgid "arc" msgstr "Bogen zeichnen" #: src/ui.c:1262 msgid "curve" msgstr "Bezierkurve zeichnen" #: src/ui.c:1273 msgid "oval" msgstr "Ellipse zeichnen" #: src/ui.c:1284 msgid "brush" msgstr "Pinsel" #: src/util.c:120 src/util.c:144 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Benötigte Programmresource nicht gefunden: %s" #. default filename #: src/drawing.c:46 msgid "untitled.png" msgstr "neu.png" #: src/drawing.c:220 #, c-format msgid "" "The file %s already exists.\n" "\n" "Do you want to overwrite it?" msgstr "" "Diese Datei gibt es schon: %s\n" "\n" "Soll sie überschrieben werden?" #: src/drawing.c:260 #, c-format msgid "" "Failed to save file %s.\n" "\n" "%s" msgstr "" "Die Datei %s konnte nicht gespeichert werden.\n" "\n" "%s" #: src/drawing.c:308 msgid "Untitled" msgstr "Neu" #: src/drawing.c:324 msgid " (modified)" msgstr " (geändert)" #: src/drawing.c:326 msgid " - gpaint" msgstr " - gpaint" #: src/drawing.c:427 #, c-format msgid "" "Do you want to save the changes you made to \"%s\"?\n" "Your changes will be lost if you don't save them." msgstr "" "Sollen die Änderungen an \"%s\" gespeichert werden?\n" "Alle Änderungen gehen verloren, falls nicht gespeichert wird." #: src/drawing.c:432 msgid "Close _without Saving" msgstr "" #: src/about.c:51 msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai\n" "Copyright 2002 Michael A. Meffie III\n" "\n" "based on xpaint, by David Koblas and Torsten Martinsen\n" "Copyright 1992--1996" msgstr "" #: src/about.c:58 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 3\n" "of the License, or (at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be\n" "useful, but WITHOUT ANY WARRANTY; without even the implied\n" "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" "PURPOSE. See the GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see .\n" msgstr "" #: src/about.c:72 msgid "a small-scale painting program for GNOME, the GNU Desktop." msgstr "" #~ msgid "Flip" #~ msgstr "_Spiegeln" #~ msgid "background color" #~ msgstr "Hintergrundfarbe" #~ msgid "Background color" #~ msgstr "Hintergrundfarbe" #~ msgid "foreground color" #~ msgstr "Farbe" #~ msgid "Foreground color" #~ msgstr "Vodergrundfarbe" gpaint-2-0.3.3/po/es.po0000664000076400007640000002252210671211556011465 00000000000000# Spanish translation for gpaint. # Copyright © 2003 Free Software Foundation, Inc. # This file is distributed under the same license as the gpaint package. # Pablo Gonzalo del Campo , 2003. # msgid "" msgstr "" "Project-Id-Version: gpaint\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-09-10 02:50-0700\n" "PO-Revision-Date: 2003-02-05 12:01-0300\n" "Last-Translator: Pablo Gonzalo del Campo \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.1\n" #: src/ui.c:49 msgid "New Canvas" msgstr "Nuevo lienzo" #: src/ui.c:57 msgid "Enter the desired image size:" msgstr "Ingrese el tamaño de la imagen que desea:" #: src/ui.c:86 msgid "Width: " msgstr "Ancho:" #: src/ui.c:94 msgid "Height: " msgstr "Alto:" #: src/ui.c:185 msgid "about" msgstr "acerca" #: src/ui.c:214 #, fuzzy msgid "" "This program is free software; you may redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " "Software Foundation, either version 3, or (at your opinion) any later " "version.\n" msgstr "" "Este programa es software libre; puede redistribuirlo y/o modificarlo bajo " "los términos de la Licencia Pública General GNU como se encuentra publicada " "por la Free Software Foundation en su versión 2 o (a su elección) cualquier " "otra versión posterior.\n" #: src/ui.c:223 msgid "" "based on xpaint, by David Koblas and Torsten Martinsen \n" "Copyright 1992--1996" msgstr "" "basado en xpaint, por David Koblas y Torsten Martinsen \n" "Copyright 1992--1996" #: src/ui.c:231 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " msgstr "" "Copyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/ui.c:489 msgid "gpaint" msgstr "gpaint" #: src/ui.c:506 #, fuzzy msgid "_File" msgstr "_Nuevo archivo" #: src/ui.c:515 #, fuzzy msgid "_New" msgstr "Nuevo" #: src/ui.c:525 #, fuzzy msgid "_Open" msgstr "Abrir" #: src/ui.c:538 #, fuzzy msgid "_Save" msgstr "Guardar" #: src/ui.c:551 #, fuzzy msgid "Save _As" msgstr "Guardar como" #: src/ui.c:567 src/ui.c:572 msgid "Print Preview" msgstr "Vista previa de la impresión" #: src/ui.c:579 #, fuzzy msgid "_Print" msgstr "Imprimir" #: src/ui.c:596 msgid "_Close" msgstr "" #: src/ui.c:606 msgid "_Quit" msgstr "" #: src/ui.c:619 msgid "_Edit" msgstr "" #: src/ui.c:628 msgid "Cu_t" msgstr "" #: src/ui.c:641 msgid "_Copy" msgstr "" #: src/ui.c:654 msgid "_Paste" msgstr "" #: src/ui.c:667 msgid "Clear" msgstr "" #: src/ui.c:683 msgid "_Select All" msgstr "" #: src/ui.c:691 msgid "_Image" msgstr "_Imagen" #: src/ui.c:700 msgid "Desktop" msgstr "Escritorio" #: src/ui.c:709 msgid "Get Snapshot of Desktop" msgstr "Capturar una imagen del escritorio" #: src/ui.c:714 msgid "Set Desktop Background" msgstr "Establecer el fondo del escritorio" #: src/ui.c:725 #, fuzzy msgid "Rotate Right" msgstr "Rotar" #: src/ui.c:729 msgid "Rotate 90 degrees Clockwise" msgstr "" #: src/ui.c:734 #, fuzzy msgid "Rotate Left" msgstr "Rotar" #: src/ui.c:738 msgid "Rotate 90 degrees Anticlockwise" msgstr "" #: src/ui.c:749 #, fuzzy msgid "Flip Left to Right" msgstr "Izquierda a derecha" #: src/ui.c:753 #, fuzzy msgid "Mirror Left to Right" msgstr "Izquierda a derecha" #: src/ui.c:758 #, fuzzy msgid "Flip Top to Bottom" msgstr "Arriba hacia abajo" #: src/ui.c:766 #, fuzzy msgid "Effec_ts" msgstr "_Efectos" #: src/ui.c:775 #, fuzzy msgid "_Invert" msgstr "Inve_rtir" #: src/ui.c:780 msgid "_Sharpen" msgstr "_" #: src/ui.c:791 msgid "S_mooth" msgstr "S_uavizar" #: src/ui.c:796 msgid "_Directional Smooth" msgstr "Suavizado _direccional" #: src/ui.c:801 msgid "Despeckle" msgstr "Desempolvar" #: src/ui.c:812 msgid "_Edge Detect" msgstr "D_etección de borde" #: src/ui.c:817 msgid "Emboss" msgstr "Resaltar" #: src/ui.c:822 msgid "_Oil Paint" msgstr "P_intura al aceite" #: src/ui.c:827 msgid "_Add Noise" msgstr "_Añadir ruido" #: src/ui.c:832 msgid "Spread" msgstr "Desparramar" #: src/ui.c:837 msgid "_Pixelize" msgstr "_Pixelar" #: src/ui.c:842 msgid "_Blend" msgstr "C_ombinar" #: src/ui.c:847 msgid "Solarize" msgstr "Solarización" #: src/ui.c:858 msgid "_Normalize Contrast" msgstr "Contraste _normalizado" #: src/ui.c:863 msgid "_Quantize Color" msgstr "_Cuantizar color" #: src/ui.c:868 msgid "Convert to _Greyscale" msgstr "Convertir a escala de _grises" #: src/ui.c:873 msgid "_Windows" msgstr "" #: src/ui.c:882 msgid "Create _New Window" msgstr "" #: src/ui.c:890 msgid "_Close This Window" msgstr "" #: src/ui.c:898 msgid "_Help" msgstr "" #: src/ui.c:907 #, fuzzy msgid "_About" msgstr "acerca" #: src/ui.c:932 msgid "New" msgstr "Nuevo" #: src/ui.c:936 msgid "New File" msgstr "Archivo nuevo" #: src/ui.c:940 msgid "Open" msgstr "Abrir" #: src/ui.c:944 msgid "Open File" msgstr "Abrir archivo" #: src/ui.c:948 msgid "Save" msgstr "Guardar" #: src/ui.c:952 msgid "Save File" msgstr "Guardar archivo" #: src/ui.c:956 msgid "Save As" msgstr "Guardar como" #: src/ui.c:960 msgid "Save File As" msgstr "Guardar archivo como" #: src/ui.c:969 src/ui.c:974 msgid "Print" msgstr "Imprimir" #: src/ui.c:1001 msgid "Bold" msgstr "Negrita" #: src/ui.c:1006 msgid "bold text" msgstr "Texto en negrita" #: src/ui.c:1010 msgid "Italic" msgstr "Itálica" #: src/ui.c:1015 msgid "italic text" msgstr "Texto en itálica" #: src/ui.c:1019 msgid "Underline" msgstr "Subrayado" #: src/ui.c:1024 msgid "underline text" msgstr "texto subrayado" #: src/ui.c:1036 src/ui.c:1067 msgid "line width" msgstr "ancho de la línea" #: src/ui.c:1054 msgid "1" msgstr "1" #: src/ui.c:1055 msgid "2" msgstr "2" #: src/ui.c:1056 msgid "3" msgstr "3" #: src/ui.c:1057 msgid "4" msgstr "4" #: src/ui.c:1058 msgid "6" msgstr "6" #: src/ui.c:1059 msgid "8" msgstr "8" #: src/ui.c:1118 msgid "erase" msgstr "borrar" #: src/ui.c:1129 msgid "lasso" msgstr "enlazar" #: src/ui.c:1140 #, fuzzy msgid "rectselect" msgstr "rectángulo" #: src/ui.c:1151 src/ui.c:1299 msgid "fill" msgstr "rellenar" #: src/ui.c:1162 msgid "line" msgstr "línea" #: src/ui.c:1173 #, fuzzy msgid "multiline" msgstr "línea" #: src/ui.c:1184 msgid "rectangle" msgstr "rectángulo" #: src/ui.c:1195 #, fuzzy msgid "freehand" msgstr "mano alzada cerrada" #: src/ui.c:1217 msgid "pen" msgstr "lápiz" #: src/ui.c:1228 #, fuzzy msgid "polyselect" msgstr "selección poligonal" #: src/ui.c:1240 msgid "text" msgstr "texto" #: src/ui.c:1251 msgid "arc" msgstr "arco" #: src/ui.c:1262 msgid "curve" msgstr "curva" #: src/ui.c:1273 msgid "oval" msgstr "ovalo" #: src/ui.c:1284 msgid "brush" msgstr "brocha" #: src/util.c:120 src/util.c:144 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "No se ha podido encontrar el archivo pixmap: %s" #. default filename #: src/drawing.c:46 msgid "untitled.png" msgstr "" #: src/drawing.c:220 #, c-format msgid "" "The file %s already exists.\n" "\n" "Do you want to overwrite it?" msgstr "" #: src/drawing.c:260 #, c-format msgid "" "Failed to save file %s.\n" "\n" "%s" msgstr "" #: src/drawing.c:308 msgid "Untitled" msgstr "" #: src/drawing.c:324 msgid " (modified)" msgstr "" #: src/drawing.c:326 #, fuzzy msgid " - gpaint" msgstr "gpaint" #: src/drawing.c:427 #, c-format msgid "" "Do you want to save the changes you made to \"%s\"?\n" "Your changes will be lost if you don't save them." msgstr "" #: src/drawing.c:432 msgid "Close _without Saving" msgstr "" #: src/about.c:51 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai\n" "Copyright 2002 Michael A. Meffie III\n" "\n" "based on xpaint, by David Koblas and Torsten Martinsen\n" "Copyright 1992--1996" msgstr "" "Copyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/about.c:58 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 3\n" "of the License, or (at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be\n" "useful, but WITHOUT ANY WARRANTY; without even the implied\n" "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" "PURPOSE. See the GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see .\n" msgstr "" #: src/about.c:72 msgid "a small-scale painting program for GNOME, the GNU Desktop." msgstr "" #~ msgid "Flip" #~ msgstr "Voltear" #~ msgid "background color" #~ msgstr "color de fondo" #~ msgid "Background color" #~ msgstr "Color de fondo" #~ msgid "foreground color" #~ msgstr "color de frente" #~ msgid "Foreground color" #~ msgstr "Color de frente" #~ msgid "+90" #~ msgstr "+90" #~ msgid "+45" #~ msgstr "+45" #~ msgid "-45" #~ msgstr "-45" #~ msgid "-90" #~ msgstr "-90" #~ msgid "+180" #~ msgstr "+180" #~ msgid "About G_NOME" #~ msgstr "Acerca de G_NOME" #~ msgid "About _GNU" #~ msgstr "Acerca de _GNU" #~ msgid "polyline" #~ msgstr "polígono" #~ msgid "Zoom:" #~ msgstr "Acercamiento:" #~ msgid "Couldn't create pixmap from file: %s" #~ msgstr "No se ha podido crear el pixmap desde el archivo: %s" gpaint-2-0.3.3/po/fr.po0000664000076400007640000002310010671211557011457 00000000000000# French translation for gpaint. # Copyright (C) 2003 Free Software Foundation, Inc. # This file is distributed under the same license as the gpaint package. # Gaël Chamoulaud (strider) , 2003. # Laurent Richard , 2003. # Christophe Merlet (RedFox) , 2003. # msgid "" msgstr "" "Project-Id-Version: gpaint 0.2.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-09-10 02:50-0700\n" "PO-Revision-Date: 2003-04-07 00:12+0200\n" "Last-Translator: Laurent Richard \n" "Language-Team: GNOME French Team \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/ui.c:49 msgid "New Canvas" msgstr "Nouvelle toile" #: src/ui.c:57 msgid "Enter the desired image size:" msgstr "Saisissez la taille de l'image désirée :" #: src/ui.c:86 msgid "Width: " msgstr "Largeur : " #: src/ui.c:94 msgid "Height: " msgstr "Hauteur : " #: src/ui.c:185 msgid "about" msgstr "À propos" #: src/ui.c:214 #, fuzzy msgid "" "This program is free software; you may redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " "Software Foundation, either version 3, or (at your opinion) any later " "version.\n" msgstr "" "Ce logiciel est un logiciel libre ; vous pouvez le diffuser et/ou le " "modifier suivant les termes de la Licence Publique Générale GNU telle que " "publiée par la Free Software Foundation ; soit la version 2 de cette " "licence, soit (à votre convenance) une version ultérieure.\n" #: src/ui.c:223 msgid "" "based on xpaint, by David Koblas and Torsten Martinsen \n" "Copyright 1992--1996" msgstr "" "basé sur xpaint, par David Koblas et Torsten Martinsen \n" "Copyright 1992--1996" #: src/ui.c:231 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " msgstr "" "Copyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/ui.c:489 msgid "gpaint" msgstr "gpaint" #: src/ui.c:506 #, fuzzy msgid "_File" msgstr "_Nouveau fichier" #: src/ui.c:515 #, fuzzy msgid "_New" msgstr "Nouveau" #: src/ui.c:525 #, fuzzy msgid "_Open" msgstr "Ouvrir" #: src/ui.c:538 #, fuzzy msgid "_Save" msgstr "Enregistrer" #: src/ui.c:551 #, fuzzy msgid "Save _As" msgstr "Enregistrer sous" #: src/ui.c:567 src/ui.c:572 msgid "Print Preview" msgstr "Afficher l'aperçu" #: src/ui.c:579 #, fuzzy msgid "_Print" msgstr "Imprimer" #: src/ui.c:596 msgid "_Close" msgstr "" #: src/ui.c:606 msgid "_Quit" msgstr "" #: src/ui.c:619 msgid "_Edit" msgstr "" #: src/ui.c:628 msgid "Cu_t" msgstr "" #: src/ui.c:641 msgid "_Copy" msgstr "" #: src/ui.c:654 msgid "_Paste" msgstr "" #: src/ui.c:667 msgid "Clear" msgstr "" #: src/ui.c:683 msgid "_Select All" msgstr "" #: src/ui.c:691 msgid "_Image" msgstr "_Image" #: src/ui.c:700 msgid "Desktop" msgstr "Bureau" #: src/ui.c:709 msgid "Get Snapshot of Desktop" msgstr "Faire une capture d'écran" #: src/ui.c:714 msgid "Set Desktop Background" msgstr "Établir comme fond d'écran" #: src/ui.c:725 #, fuzzy msgid "Rotate Right" msgstr "Effectuer une rotation" #: src/ui.c:729 msgid "Rotate 90 degrees Clockwise" msgstr "" #: src/ui.c:734 #, fuzzy msgid "Rotate Left" msgstr "Effectuer une rotation" #: src/ui.c:738 msgid "Rotate 90 degrees Anticlockwise" msgstr "" #: src/ui.c:749 #, fuzzy msgid "Flip Left to Right" msgstr "De gauche à droite" #: src/ui.c:753 #, fuzzy msgid "Mirror Left to Right" msgstr "De gauche à droite" #: src/ui.c:758 #, fuzzy msgid "Flip Top to Bottom" msgstr "Du haut vers le bas" #: src/ui.c:766 #, fuzzy msgid "Effec_ts" msgstr "_Effets" #: src/ui.c:775 #, fuzzy msgid "_Invert" msgstr "_Annuler" #: src/ui.c:780 msgid "_Sharpen" msgstr "A_ccentuer" #: src/ui.c:791 msgid "S_mooth" msgstr "L_isser" #: src/ui.c:796 msgid "_Directional Smooth" msgstr "Lissage _directionnel" #: src/ui.c:801 msgid "Despeckle" msgstr "Poussièrer" #: src/ui.c:812 msgid "_Edge Detect" msgstr "_Détection du bord" #: src/ui.c:817 msgid "Emboss" msgstr "Graver" #: src/ui.c:822 msgid "_Oil Paint" msgstr "Peinture à l'_huile" #: src/ui.c:827 msgid "_Add Noise" msgstr "A_jouter du son" #: src/ui.c:832 msgid "Spread" msgstr "Diffuser" #: src/ui.c:837 msgid "_Pixelize" msgstr "_Pixeliser" #: src/ui.c:842 msgid "_Blend" msgstr "_Mélanger" #: src/ui.c:847 msgid "Solarize" msgstr "Solariser" # fuzzy #: src/ui.c:858 msgid "_Normalize Contrast" msgstr "_Réduire le contraste" #: src/ui.c:863 msgid "_Quantize Color" msgstr "_Quantifier la couleur" #: src/ui.c:868 msgid "Convert to _Greyscale" msgstr "Convertir en niveau de _gris" #: src/ui.c:873 msgid "_Windows" msgstr "" #: src/ui.c:882 msgid "Create _New Window" msgstr "" #: src/ui.c:890 msgid "_Close This Window" msgstr "" #: src/ui.c:898 msgid "_Help" msgstr "" #: src/ui.c:907 #, fuzzy msgid "_About" msgstr "À propos" #: src/ui.c:932 msgid "New" msgstr "Nouveau" #: src/ui.c:936 msgid "New File" msgstr "Nouveau fichier" #: src/ui.c:940 msgid "Open" msgstr "Ouvrir" #: src/ui.c:944 msgid "Open File" msgstr "Ouvrir un fichier" #: src/ui.c:948 msgid "Save" msgstr "Enregistrer" #: src/ui.c:952 msgid "Save File" msgstr "Enregistrer le fichier" #: src/ui.c:956 msgid "Save As" msgstr "Enregistrer sous" #: src/ui.c:960 msgid "Save File As" msgstr "Enregistrer le fichier sous" #: src/ui.c:969 src/ui.c:974 msgid "Print" msgstr "Imprimer" #: src/ui.c:1001 msgid "Bold" msgstr "Gras" #: src/ui.c:1006 msgid "bold text" msgstr "texte en gras" #: src/ui.c:1010 msgid "Italic" msgstr "Italique" #: src/ui.c:1015 msgid "italic text" msgstr "texte en italique" #: src/ui.c:1019 msgid "Underline" msgstr "Souligné" #: src/ui.c:1024 msgid "underline text" msgstr "texte souligné" #: src/ui.c:1036 src/ui.c:1067 msgid "line width" msgstr "largeur de ligne" #: src/ui.c:1054 msgid "1" msgstr "1" #: src/ui.c:1055 msgid "2" msgstr "2" #: src/ui.c:1056 msgid "3" msgstr "3" #: src/ui.c:1057 msgid "4" msgstr "4" #: src/ui.c:1058 msgid "6" msgstr "6" #: src/ui.c:1059 msgid "8" msgstr "8" #: src/ui.c:1118 msgid "erase" msgstr "effacer" #: src/ui.c:1129 msgid "lasso" msgstr "lasso" #: src/ui.c:1140 #, fuzzy msgid "rectselect" msgstr "rectangle" #: src/ui.c:1151 src/ui.c:1299 msgid "fill" msgstr "remplir" #: src/ui.c:1162 msgid "line" msgstr "ligne" #: src/ui.c:1173 #, fuzzy msgid "multiline" msgstr "ligne" #: src/ui.c:1184 msgid "rectangle" msgstr "rectangle" #: src/ui.c:1195 #, fuzzy msgid "freehand" msgstr "ligne à main levée fermée" #: src/ui.c:1217 msgid "pen" msgstr "stylo" #: src/ui.c:1228 #, fuzzy msgid "polyselect" msgstr "sélectionner le polygone" #: src/ui.c:1240 msgid "text" msgstr "texte" #: src/ui.c:1251 msgid "arc" msgstr "arc de cercle" #: src/ui.c:1262 msgid "curve" msgstr "courbe" #: src/ui.c:1273 msgid "oval" msgstr "ellipse" #: src/ui.c:1284 msgid "brush" msgstr "brosse" #: src/util.c:120 src/util.c:144 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Ne peut trouver le fichier pixmap : %s" #. default filename #: src/drawing.c:46 msgid "untitled.png" msgstr "" #: src/drawing.c:220 #, c-format msgid "" "The file %s already exists.\n" "\n" "Do you want to overwrite it?" msgstr "" #: src/drawing.c:260 #, c-format msgid "" "Failed to save file %s.\n" "\n" "%s" msgstr "" #: src/drawing.c:308 msgid "Untitled" msgstr "" #: src/drawing.c:324 msgid " (modified)" msgstr "" #: src/drawing.c:326 #, fuzzy msgid " - gpaint" msgstr "gpaint" #: src/drawing.c:427 #, c-format msgid "" "Do you want to save the changes you made to \"%s\"?\n" "Your changes will be lost if you don't save them." msgstr "" #: src/drawing.c:432 msgid "Close _without Saving" msgstr "" #: src/about.c:51 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai\n" "Copyright 2002 Michael A. Meffie III\n" "\n" "based on xpaint, by David Koblas and Torsten Martinsen\n" "Copyright 1992--1996" msgstr "" "Copyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/about.c:58 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 3\n" "of the License, or (at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be\n" "useful, but WITHOUT ANY WARRANTY; without even the implied\n" "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" "PURPOSE. See the GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see .\n" msgstr "" #: src/about.c:72 msgid "a small-scale painting program for GNOME, the GNU Desktop." msgstr "" #~ msgid "Flip" #~ msgstr "Retourner" #~ msgid "background color" #~ msgstr "couleur d'arrière-plan" #~ msgid "Background color" #~ msgstr "Couleur d'arrière-plan" #~ msgid "foreground color" #~ msgstr "couleur de premier plan" #~ msgid "Foreground color" #~ msgstr "Couleur de premier plan" #~ msgid "+90" #~ msgstr "+90" #~ msgid "+45" #~ msgstr "+45" #~ msgid "-45" #~ msgstr "-45" #~ msgid "-90" #~ msgstr "-90" #~ msgid "+180" #~ msgstr "+180" #~ msgid "About G_NOME" #~ msgstr "À propos de G_NOME" #~ msgid "About _GNU" #~ msgstr "À propos de _GNU" #~ msgid "polyline" #~ msgstr "polyligne" #~ msgid "Zoom:" #~ msgstr "Zoom :" #~ msgid "Couldn't create pixmap from file: %s" #~ msgstr "Ne peut créer le pixmap depuis le fichier : %s" gpaint-2-0.3.3/po/ga.po0000664000076400007640000001644710671211557011457 00000000000000# Irish translation of gpaint # Copyright (C) 2003 Free Software Foundation, Inc. # Paul Duffy 2003. # msgid "" msgstr "" "Project-Id-Version: gpaint HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-09-10 02:50-0700\n" "PO-Revision-Date: 2003-03-12 14:48+0000\n" "Last-Translator: Paul Duffy \n" "Language-Team: Irish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/ui.c:49 msgid "New Canvas" msgstr "" #: src/ui.c:57 msgid "Enter the desired image size:" msgstr "" #: src/ui.c:86 msgid "Width: " msgstr "" #: src/ui.c:94 msgid "Height: " msgstr "" #: src/ui.c:185 msgid "about" msgstr "" #: src/ui.c:214 msgid "" "This program is free software; you may redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " "Software Foundation, either version 3, or (at your opinion) any later " "version.\n" msgstr "" #: src/ui.c:223 msgid "" "based on xpaint, by David Koblas and Torsten Martinsen \n" "Copyright 1992--1996" msgstr "" #: src/ui.c:231 msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " msgstr "" #: src/ui.c:489 msgid "gpaint" msgstr "gpéint" #: src/ui.c:506 #, fuzzy msgid "_File" msgstr "Comhad _Nua" #: src/ui.c:515 #, fuzzy msgid "_New" msgstr "Nua" #: src/ui.c:525 #, fuzzy msgid "_Open" msgstr "Oscail" #: src/ui.c:538 #, fuzzy msgid "_Save" msgstr "Sábháil" #: src/ui.c:551 #, fuzzy msgid "Save _As" msgstr "Sábháimar" #: src/ui.c:567 src/ui.c:572 msgid "Print Preview" msgstr "" #: src/ui.c:579 msgid "_Print" msgstr "" #: src/ui.c:596 msgid "_Close" msgstr "" #: src/ui.c:606 msgid "_Quit" msgstr "" #: src/ui.c:619 msgid "_Edit" msgstr "" #: src/ui.c:628 msgid "Cu_t" msgstr "" #: src/ui.c:641 msgid "_Copy" msgstr "" #: src/ui.c:654 msgid "_Paste" msgstr "" #: src/ui.c:667 msgid "Clear" msgstr "" #: src/ui.c:683 msgid "_Select All" msgstr "" #: src/ui.c:691 msgid "_Image" msgstr "" #: src/ui.c:700 msgid "Desktop" msgstr "Deasc" #: src/ui.c:709 msgid "Get Snapshot of Desktop" msgstr "" #: src/ui.c:714 msgid "Set Desktop Background" msgstr "" #: src/ui.c:725 #, fuzzy msgid "Rotate Right" msgstr "Cuir thart" #: src/ui.c:729 msgid "Rotate 90 degrees Clockwise" msgstr "" #: src/ui.c:734 #, fuzzy msgid "Rotate Left" msgstr "Cuir thart" #: src/ui.c:738 msgid "Rotate 90 degrees Anticlockwise" msgstr "" #: src/ui.c:749 msgid "Flip Left to Right" msgstr "" #: src/ui.c:753 msgid "Mirror Left to Right" msgstr "" #: src/ui.c:758 msgid "Flip Top to Bottom" msgstr "" #: src/ui.c:766 msgid "Effec_ts" msgstr "" #: src/ui.c:775 msgid "_Invert" msgstr "" #: src/ui.c:780 msgid "_Sharpen" msgstr "" #: src/ui.c:791 msgid "S_mooth" msgstr "" #: src/ui.c:796 msgid "_Directional Smooth" msgstr "" #: src/ui.c:801 msgid "Despeckle" msgstr "" #: src/ui.c:812 msgid "_Edge Detect" msgstr "" #: src/ui.c:817 msgid "Emboss" msgstr "" #: src/ui.c:822 msgid "_Oil Paint" msgstr "" #: src/ui.c:827 msgid "_Add Noise" msgstr "" #: src/ui.c:832 msgid "Spread" msgstr "" #: src/ui.c:837 msgid "_Pixelize" msgstr "" #: src/ui.c:842 msgid "_Blend" msgstr "" #: src/ui.c:847 msgid "Solarize" msgstr "" #: src/ui.c:858 msgid "_Normalize Contrast" msgstr "" #: src/ui.c:863 msgid "_Quantize Color" msgstr "" #: src/ui.c:868 msgid "Convert to _Greyscale" msgstr "" #: src/ui.c:873 msgid "_Windows" msgstr "" #: src/ui.c:882 msgid "Create _New Window" msgstr "" #: src/ui.c:890 msgid "_Close This Window" msgstr "" #: src/ui.c:898 msgid "_Help" msgstr "" #: src/ui.c:907 #, fuzzy msgid "_About" msgstr "Faoi _GNU" #: src/ui.c:932 msgid "New" msgstr "Nua" #: src/ui.c:936 msgid "New File" msgstr "Comhad Nua" #: src/ui.c:940 msgid "Open" msgstr "Oscail" #: src/ui.c:944 msgid "Open File" msgstr "Oscail Comhad" #: src/ui.c:948 msgid "Save" msgstr "Sábháil" #: src/ui.c:952 msgid "Save File" msgstr "Sábhá an Comhad" #: src/ui.c:956 msgid "Save As" msgstr "Sábháimar" #: src/ui.c:960 msgid "Save File As" msgstr "Sábháil an Coad mar" #: src/ui.c:969 src/ui.c:974 msgid "Print" msgstr "" #: src/ui.c:1001 msgid "Bold" msgstr "" #: src/ui.c:1006 msgid "bold text" msgstr "" #: src/ui.c:1010 msgid "Italic" msgstr "" #: src/ui.c:1015 msgid "italic text" msgstr "" #: src/ui.c:1019 msgid "Underline" msgstr "" #: src/ui.c:1024 msgid "underline text" msgstr "" #: src/ui.c:1036 src/ui.c:1067 msgid "line width" msgstr "" #: src/ui.c:1054 msgid "1" msgstr "1" #: src/ui.c:1055 msgid "2" msgstr "2" #: src/ui.c:1056 msgid "3" msgstr "3" #: src/ui.c:1057 msgid "4" msgstr "4" #: src/ui.c:1058 msgid "6" msgstr "6" #: src/ui.c:1059 msgid "8" msgstr "8" #: src/ui.c:1118 msgid "erase" msgstr "glan" #: src/ui.c:1129 msgid "lasso" msgstr "" #: src/ui.c:1140 msgid "rectselect" msgstr "" #: src/ui.c:1151 src/ui.c:1299 msgid "fill" msgstr "" #: src/ui.c:1162 msgid "line" msgstr "" #: src/ui.c:1173 msgid "multiline" msgstr "" #: src/ui.c:1184 msgid "rectangle" msgstr "" #: src/ui.c:1195 msgid "freehand" msgstr "" #: src/ui.c:1217 msgid "pen" msgstr "" #: src/ui.c:1228 msgid "polyselect" msgstr "" #: src/ui.c:1240 msgid "text" msgstr "téacs" #: src/ui.c:1251 msgid "arc" msgstr "" #: src/ui.c:1262 msgid "curve" msgstr "" #: src/ui.c:1273 msgid "oval" msgstr "" #: src/ui.c:1284 msgid "brush" msgstr "" #: src/util.c:120 src/util.c:144 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "" #. default filename #: src/drawing.c:46 msgid "untitled.png" msgstr "" #: src/drawing.c:220 #, c-format msgid "" "The file %s already exists.\n" "\n" "Do you want to overwrite it?" msgstr "" #: src/drawing.c:260 #, c-format msgid "" "Failed to save file %s.\n" "\n" "%s" msgstr "" #: src/drawing.c:308 msgid "Untitled" msgstr "" #: src/drawing.c:324 msgid " (modified)" msgstr "" #: src/drawing.c:326 #, fuzzy msgid " - gpaint" msgstr "gpéint" #: src/drawing.c:427 #, c-format msgid "" "Do you want to save the changes you made to \"%s\"?\n" "Your changes will be lost if you don't save them." msgstr "" #: src/drawing.c:432 msgid "Close _without Saving" msgstr "" #: src/about.c:51 msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai\n" "Copyright 2002 Michael A. Meffie III\n" "\n" "based on xpaint, by David Koblas and Torsten Martinsen\n" "Copyright 1992--1996" msgstr "" #: src/about.c:58 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 3\n" "of the License, or (at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be\n" "useful, but WITHOUT ANY WARRANTY; without even the implied\n" "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" "PURPOSE. See the GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see .\n" msgstr "" #: src/about.c:72 msgid "a small-scale painting program for GNOME, the GNU Desktop." msgstr "" #~ msgid "+90" #~ msgstr "+90" #~ msgid "+45" #~ msgstr "+45" #~ msgid "-45" #~ msgstr "-45" #~ msgid "-90" #~ msgstr "-90" #~ msgid "+180" #~ msgstr "+180" #~ msgid "About G_NOME" #~ msgstr "Faoi G_NOME" gpaint-2-0.3.3/po/ja.po0000664000076400007640000002275110671211557011455 00000000000000# gpaint ja.po # Copyright (C) 2003 Free Software Foundation, Inc. # This file is distributed under the same license as the gpaint package. # KAMAGASAKO Masatoshi 2003 # msgid "" msgstr "" "Project-Id-Version: gpaint HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-09-10 02:50-0700\n" "PO-Revision-Date: 2003-03-07 11:45+0900\n" "Last-Translator: KAMAGASAKO Masatoshi \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/ui.c:49 msgid "New Canvas" msgstr "æ–°è¦ã‚­ãƒ£ãƒ³ãƒã‚¹" #: src/ui.c:57 msgid "Enter the desired image size:" msgstr "ç”»åƒã®ã‚µã‚¤ã‚ºã‚’入力ã—ã¦ãã ã•ã„:" #: src/ui.c:86 msgid "Width: " msgstr "å¹…" #: src/ui.c:94 msgid "Height: " msgstr "高ã•" #: src/ui.c:185 msgid "about" msgstr "情報" #: src/ui.c:214 #, fuzzy msgid "" "This program is free software; you may redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " "Software Foundation, either version 3, or (at your opinion) any later " "version.\n" msgstr "" "ã“ã®ã‚½ãƒ•トウェアã¯ãƒ•リーソフトウェアã§ã™; フリーソフトウェア財団ã«ã‚ˆã£ã¦é…布" "ã•れã¦ã„ã‚‹ GNU 一般使用許諾契約書第 2 版もã—ã㯠(ã‚ãªãŸã®é¸æŠžã§) ãれ以é™ã®" "版ã®ä¸‹ã§å†é…布・改変ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚\n" #: src/ui.c:223 msgid "" "based on xpaint, by David Koblas and Torsten Martinsen \n" "Copyright 1992--1996" msgstr "" "based on xpaint, by David Koblas and Torsten Martinsen\n" "Copyright 1992--1996" #: src/ui.c:231 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " msgstr "" "Copyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com)" #: src/ui.c:489 msgid "gpaint" msgstr "gpaint" #: src/ui.c:506 #, fuzzy msgid "_File" msgstr "æ–°è¦ãƒ•ァイル(_N)" #: src/ui.c:515 #, fuzzy msgid "_New" msgstr "æ–°è¦" #: src/ui.c:525 #, fuzzy msgid "_Open" msgstr "é–‹ã" #: src/ui.c:538 #, fuzzy msgid "_Save" msgstr "ä¿å­˜" #: src/ui.c:551 #, fuzzy msgid "Save _As" msgstr "åå‰ã‚’付ã‘ã¦ä¿å­˜" #: src/ui.c:567 src/ui.c:572 msgid "Print Preview" msgstr "プレビューを表示" #: src/ui.c:579 #, fuzzy msgid "_Print" msgstr "å°åˆ·" #: src/ui.c:596 msgid "_Close" msgstr "" #: src/ui.c:606 msgid "_Quit" msgstr "" #: src/ui.c:619 msgid "_Edit" msgstr "" #: src/ui.c:628 msgid "Cu_t" msgstr "" #: src/ui.c:641 msgid "_Copy" msgstr "" #: src/ui.c:654 msgid "_Paste" msgstr "" #: src/ui.c:667 msgid "Clear" msgstr "" #: src/ui.c:683 msgid "_Select All" msgstr "" #: src/ui.c:691 msgid "_Image" msgstr "ç”»åƒ(_I)" #: src/ui.c:700 msgid "Desktop" msgstr "デスクトップ" #: src/ui.c:709 msgid "Get Snapshot of Desktop" msgstr "デスクトップã®å–り込ã¿" #: src/ui.c:714 msgid "Set Desktop Background" msgstr "デスクトップã«è¨­å®š" #: src/ui.c:725 #, fuzzy msgid "Rotate Right" msgstr "回転" #: src/ui.c:729 msgid "Rotate 90 degrees Clockwise" msgstr "" #: src/ui.c:734 #, fuzzy msgid "Rotate Left" msgstr "回転" #: src/ui.c:738 msgid "Rotate 90 degrees Anticlockwise" msgstr "" #: src/ui.c:749 #, fuzzy msgid "Flip Left to Right" msgstr "å·¦å³å転" #: src/ui.c:753 #, fuzzy msgid "Mirror Left to Right" msgstr "å·¦å³å転" #: src/ui.c:758 #, fuzzy msgid "Flip Top to Bottom" msgstr "上下å転" #: src/ui.c:766 #, fuzzy msgid "Effec_ts" msgstr "効果(_E)" #: src/ui.c:775 #, fuzzy msgid "_Invert" msgstr "戻ã™(_R)" #: src/ui.c:780 msgid "_Sharpen" msgstr "シャープ化(_S)" #: src/ui.c:791 msgid "S_mooth" msgstr "ãªã‚らã‹(S_)" #: src/ui.c:796 msgid "_Directional Smooth" msgstr "æŒ‡å‘æ€§ã‚¹ãƒ ãƒ¼ã‚º(_D)" #: src/ui.c:801 msgid "Despeckle" msgstr "ã—ã¿å–り" #: src/ui.c:812 msgid "_Edge Detect" msgstr "輪郭を検出(_E)" #: src/ui.c:817 msgid "Emboss" msgstr "エンボス" #: src/ui.c:822 msgid "_Oil Paint" msgstr "油絵(_O)" #: src/ui.c:827 msgid "_Add Noise" msgstr "ノイズ追加(_A)" #: src/ui.c:832 msgid "Spread" msgstr "散らã™" #: src/ui.c:837 msgid "_Pixelize" msgstr "ピクセル化(_P)" #: src/ui.c:842 msgid "_Blend" msgstr "ブレンド(_B)" #: src/ui.c:847 msgid "Solarize" msgstr "ソラリゼーション" #: src/ui.c:858 msgid "_Normalize Contrast" msgstr "ã‚³ãƒ³ãƒˆãƒ©ã‚¹ãƒˆã®æ­£è¦åŒ–(_N)" #: src/ui.c:863 msgid "_Quantize Color" msgstr "色ã®é‡å­åŒ–(_Q)" #: src/ui.c:868 msgid "Convert to _Greyscale" msgstr "グレースケールã«å¤‰æ›(_G)" #: src/ui.c:873 msgid "_Windows" msgstr "" #: src/ui.c:882 msgid "Create _New Window" msgstr "" #: src/ui.c:890 msgid "_Close This Window" msgstr "" #: src/ui.c:898 msgid "_Help" msgstr "" #: src/ui.c:907 #, fuzzy msgid "_About" msgstr "情報" #: src/ui.c:932 msgid "New" msgstr "æ–°è¦" #: src/ui.c:936 msgid "New File" msgstr "æ–°è¦ãƒ•ァイル" #: src/ui.c:940 msgid "Open" msgstr "é–‹ã" #: src/ui.c:944 msgid "Open File" msgstr "ファイルを開ã" #: src/ui.c:948 msgid "Save" msgstr "ä¿å­˜" #: src/ui.c:952 msgid "Save File" msgstr "ファイルをä¿å­˜" #: src/ui.c:956 msgid "Save As" msgstr "åå‰ã‚’付ã‘ã¦ä¿å­˜" #: src/ui.c:960 msgid "Save File As" msgstr "åå‰ã‚’付ã‘ã¦ä¿å­˜" #: src/ui.c:969 src/ui.c:974 msgid "Print" msgstr "å°åˆ·" #: src/ui.c:1001 msgid "Bold" msgstr "ボールド体" #: src/ui.c:1006 msgid "bold text" msgstr "ボールド体テキスト" #: src/ui.c:1010 msgid "Italic" msgstr "イタリック調" #: src/ui.c:1015 msgid "italic text" msgstr "イタリック調テキスト" #: src/ui.c:1019 msgid "Underline" msgstr "下線" #: src/ui.c:1024 msgid "underline text" msgstr "下線付ãテキスト" #: src/ui.c:1036 src/ui.c:1067 msgid "line width" msgstr "ç·šã®å¹…" #: src/ui.c:1054 msgid "1" msgstr "1" #: src/ui.c:1055 msgid "2" msgstr "2" #: src/ui.c:1056 msgid "3" msgstr "3" #: src/ui.c:1057 msgid "4" msgstr "4" #: src/ui.c:1058 msgid "6" msgstr "6" #: src/ui.c:1059 msgid "8" msgstr "8" #: src/ui.c:1118 msgid "erase" msgstr "消去" #: src/ui.c:1129 msgid "lasso" msgstr "フリーãƒãƒ³ãƒ‰ã§é¸æŠž" #: src/ui.c:1140 #, fuzzy msgid "rectselect" msgstr "四角形" #: src/ui.c:1151 src/ui.c:1299 msgid "fill" msgstr "塗り潰ã—" #: src/ui.c:1162 msgid "line" msgstr "ç·š" #: src/ui.c:1173 #, fuzzy msgid "multiline" msgstr "ç·š" #: src/ui.c:1184 msgid "rectangle" msgstr "四角形" #: src/ui.c:1195 #, fuzzy msgid "freehand" msgstr "é–‰ã˜ãŸæ›²ç·š" #: src/ui.c:1217 msgid "pen" msgstr "ペン" #: src/ui.c:1228 #, fuzzy msgid "polyselect" msgstr "多角形ã§é¸æŠž" #: src/ui.c:1240 msgid "text" msgstr "テキスト" #: src/ui.c:1251 msgid "arc" msgstr "å¼§" #: src/ui.c:1262 msgid "curve" msgstr "曲線" #: src/ui.c:1273 msgid "oval" msgstr "楕円" #: src/ui.c:1284 msgid "brush" msgstr "ブラシ" #: src/util.c:120 src/util.c:144 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "pixmap ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: %s" #. default filename #: src/drawing.c:46 msgid "untitled.png" msgstr "" #: src/drawing.c:220 #, c-format msgid "" "The file %s already exists.\n" "\n" "Do you want to overwrite it?" msgstr "" #: src/drawing.c:260 #, c-format msgid "" "Failed to save file %s.\n" "\n" "%s" msgstr "" #: src/drawing.c:308 msgid "Untitled" msgstr "" #: src/drawing.c:324 msgid " (modified)" msgstr "" #: src/drawing.c:326 #, fuzzy msgid " - gpaint" msgstr "gpaint" #: src/drawing.c:427 #, c-format msgid "" "Do you want to save the changes you made to \"%s\"?\n" "Your changes will be lost if you don't save them." msgstr "" #: src/drawing.c:432 msgid "Close _without Saving" msgstr "" #: src/about.c:51 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai\n" "Copyright 2002 Michael A. Meffie III\n" "\n" "based on xpaint, by David Koblas and Torsten Martinsen\n" "Copyright 1992--1996" msgstr "" "Copyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com)" #: src/about.c:58 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 3\n" "of the License, or (at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be\n" "useful, but WITHOUT ANY WARRANTY; without even the implied\n" "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" "PURPOSE. See the GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see .\n" msgstr "" #: src/about.c:72 msgid "a small-scale painting program for GNOME, the GNU Desktop." msgstr "" #~ msgid "Flip" #~ msgstr "å転" #~ msgid "background color" #~ msgstr "背景色" #~ msgid "Background color" #~ msgstr "背景色" #~ msgid "foreground color" #~ msgstr "剿™¯è‰²" #~ msgid "Foreground color" #~ msgstr "剿™¯è‰²" #~ msgid "+90" #~ msgstr "+90" #~ msgid "+45" #~ msgstr "+45" #~ msgid "-45" #~ msgstr "-45" #~ msgid "-90" #~ msgstr "-90" #~ msgid "+180" #~ msgstr "+180" #~ msgid "About G_NOME" #~ msgstr "GNOME ã«ã¤ã„ã¦(G_)" #~ msgid "About _GNU" #~ msgstr "GNU ã«ã¤ã„ã¦(_G)" #~ msgid "polyline" #~ msgstr "折線" #~ msgid "Zoom:" #~ msgstr "ズーム" #~ msgid "Couldn't create pixmap from file: %s" #~ msgstr "ファイルã‹ã‚‰ pixmap を生æˆã§ãã¾ã›ã‚“ã§ã—ãŸ: %s" gpaint-2-0.3.3/po/nl.po0000664000076400007640000002164510671211557011475 00000000000000# GPaint Dutch translation. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the GPaint package. # Jan-Willem Harmanny , 2003. # msgid "" msgstr "" "Project-Id-Version: gpaint cvs\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-09-10 02:50-0700\n" "PO-Revision-Date: 2003-03-14 22:15--100\n" "Last-Translator: Vincent van Adrighem \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/ui.c:49 msgid "New Canvas" msgstr "Nieuwe canvas" #: src/ui.c:57 msgid "Enter the desired image size:" msgstr "Voer het gewenste afbeeldingsformaat in:" #: src/ui.c:86 msgid "Width: " msgstr "Breedte:" #: src/ui.c:94 msgid "Height: " msgstr "Hoogte:" #: src/ui.c:185 msgid "about" msgstr "over" #: src/ui.c:214 msgid "" "This program is free software; you may redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " "Software Foundation, either version 3, or (at your opinion) any later " "version.\n" msgstr "" #: src/ui.c:223 msgid "" "based on xpaint, by David Koblas and Torsten Martinsen \n" "Copyright 1992--1996" msgstr "" "gebaseerd op xpaint, door David Koblas en Torsten Mertinsen \n" "Copyright 1992--1996" #: src/ui.c:231 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " msgstr "" "Copyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/ui.c:489 msgid "gpaint" msgstr "gpaint" #: src/ui.c:506 #, fuzzy msgid "_File" msgstr "_Nieuw bestand" #: src/ui.c:515 #, fuzzy msgid "_New" msgstr "Nieuw" #: src/ui.c:525 #, fuzzy msgid "_Open" msgstr "Openen" #: src/ui.c:538 #, fuzzy msgid "_Save" msgstr "Opslaan" #: src/ui.c:551 #, fuzzy msgid "Save _As" msgstr "Opslaan als" #: src/ui.c:567 src/ui.c:572 msgid "Print Preview" msgstr "Afdrukvoorbeeld" #: src/ui.c:579 #, fuzzy msgid "_Print" msgstr "Afdrukken" #: src/ui.c:596 msgid "_Close" msgstr "" #: src/ui.c:606 msgid "_Quit" msgstr "" #: src/ui.c:619 msgid "_Edit" msgstr "" #: src/ui.c:628 msgid "Cu_t" msgstr "" #: src/ui.c:641 msgid "_Copy" msgstr "" #: src/ui.c:654 msgid "_Paste" msgstr "" #: src/ui.c:667 msgid "Clear" msgstr "" #: src/ui.c:683 msgid "_Select All" msgstr "" #: src/ui.c:691 msgid "_Image" msgstr "_Afbeelding" #: src/ui.c:700 msgid "Desktop" msgstr "Bureaublad" #: src/ui.c:709 msgid "Get Snapshot of Desktop" msgstr "Neem een foto van het bureaublad" #: src/ui.c:714 msgid "Set Desktop Background" msgstr "Als bureaublad achtergrond instellen" #: src/ui.c:725 #, fuzzy msgid "Rotate Right" msgstr "Draaien" #: src/ui.c:729 msgid "Rotate 90 degrees Clockwise" msgstr "" #: src/ui.c:734 #, fuzzy msgid "Rotate Left" msgstr "Draaien" #: src/ui.c:738 msgid "Rotate 90 degrees Anticlockwise" msgstr "" #: src/ui.c:749 #, fuzzy msgid "Flip Left to Right" msgstr "Links naar rechts" #: src/ui.c:753 #, fuzzy msgid "Mirror Left to Right" msgstr "Links naar rechts" #: src/ui.c:758 #, fuzzy msgid "Flip Top to Bottom" msgstr "Boven naar beneden" #: src/ui.c:766 #, fuzzy msgid "Effec_ts" msgstr "_Effecten" #: src/ui.c:775 #, fuzzy msgid "_Invert" msgstr "_Herstellen" #: src/ui.c:780 msgid "_Sharpen" msgstr "Ver_scherpen" #: src/ui.c:791 msgid "S_mooth" msgstr "Afvlakken" #: src/ui.c:796 msgid "_Directional Smooth" msgstr "Afvlakken in een richting" #: src/ui.c:801 msgid "Despeckle" msgstr "Ontspikkelen" #: src/ui.c:812 msgid "_Edge Detect" msgstr "Rand _opzoeken" #: src/ui.c:817 msgid "Emboss" msgstr "Emboss" #: src/ui.c:822 msgid "_Oil Paint" msgstr "_Olieverf" #: src/ui.c:827 msgid "_Add Noise" msgstr "_Ruis toevoegen" #: src/ui.c:832 msgid "Spread" msgstr "Uitspreiden" #: src/ui.c:837 msgid "_Pixelize" msgstr "_Pixeliseren" #: src/ui.c:842 msgid "_Blend" msgstr "_Mengen" #: src/ui.c:847 msgid "Solarize" msgstr "" #: src/ui.c:858 msgid "_Normalize Contrast" msgstr "_Contrast normaliseren" #: src/ui.c:863 msgid "_Quantize Color" msgstr "Kleur _quantiseren" #: src/ui.c:868 msgid "Convert to _Greyscale" msgstr "Naar _grijswaarden omzetten" #: src/ui.c:873 msgid "_Windows" msgstr "" #: src/ui.c:882 msgid "Create _New Window" msgstr "" #: src/ui.c:890 msgid "_Close This Window" msgstr "" #: src/ui.c:898 msgid "_Help" msgstr "" #: src/ui.c:907 #, fuzzy msgid "_About" msgstr "over" #: src/ui.c:932 msgid "New" msgstr "Nieuw" #: src/ui.c:936 msgid "New File" msgstr "Nieuw bestand" #: src/ui.c:940 msgid "Open" msgstr "Openen" #: src/ui.c:944 msgid "Open File" msgstr "Bestand openen" #: src/ui.c:948 msgid "Save" msgstr "Opslaan" #: src/ui.c:952 msgid "Save File" msgstr "Bestand opslaan" #: src/ui.c:956 msgid "Save As" msgstr "Opslaan als" #: src/ui.c:960 msgid "Save File As" msgstr "Bestand opslaan als" #: src/ui.c:969 src/ui.c:974 msgid "Print" msgstr "Afdrukken" #: src/ui.c:1001 msgid "Bold" msgstr "Vet" #: src/ui.c:1006 msgid "bold text" msgstr "vette tekst" #: src/ui.c:1010 msgid "Italic" msgstr "Cursief" #: src/ui.c:1015 msgid "italic text" msgstr "cursieve tekst" #: src/ui.c:1019 msgid "Underline" msgstr "Onderstrepen" #: src/ui.c:1024 msgid "underline text" msgstr "tekst onderstrepen" #: src/ui.c:1036 src/ui.c:1067 msgid "line width" msgstr "regel breedte" #: src/ui.c:1054 msgid "1" msgstr "1" #: src/ui.c:1055 msgid "2" msgstr "2" #: src/ui.c:1056 msgid "3" msgstr "3" #: src/ui.c:1057 msgid "4" msgstr "4" #: src/ui.c:1058 msgid "6" msgstr "6" #: src/ui.c:1059 msgid "8" msgstr "8" #: src/ui.c:1118 msgid "erase" msgstr "wissen" #: src/ui.c:1129 msgid "lasso" msgstr "lasso" #: src/ui.c:1140 #, fuzzy msgid "rectselect" msgstr "rechthoek" #: src/ui.c:1151 src/ui.c:1299 msgid "fill" msgstr "vullen" #: src/ui.c:1162 msgid "line" msgstr "lijn" #: src/ui.c:1173 #, fuzzy msgid "multiline" msgstr "lijn" #: src/ui.c:1184 msgid "rectangle" msgstr "rechthoek" #: src/ui.c:1195 msgid "freehand" msgstr "" #: src/ui.c:1217 msgid "pen" msgstr "pen" #: src/ui.c:1228 #, fuzzy msgid "polyselect" msgstr "polygoon selecteren" #: src/ui.c:1240 msgid "text" msgstr "tekst" #: src/ui.c:1251 msgid "arc" msgstr "boog" #: src/ui.c:1262 msgid "curve" msgstr "kromme" #: src/ui.c:1273 msgid "oval" msgstr "ovaal" #: src/ui.c:1284 msgid "brush" msgstr "kwast" #: src/util.c:120 src/util.c:144 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Kan pixmap bestand niet vinden: %s" #. default filename #: src/drawing.c:46 msgid "untitled.png" msgstr "" #: src/drawing.c:220 #, c-format msgid "" "The file %s already exists.\n" "\n" "Do you want to overwrite it?" msgstr "" #: src/drawing.c:260 #, c-format msgid "" "Failed to save file %s.\n" "\n" "%s" msgstr "" #: src/drawing.c:308 msgid "Untitled" msgstr "" #: src/drawing.c:324 msgid " (modified)" msgstr "" #: src/drawing.c:326 #, fuzzy msgid " - gpaint" msgstr "gpaint" #: src/drawing.c:427 #, c-format msgid "" "Do you want to save the changes you made to \"%s\"?\n" "Your changes will be lost if you don't save them." msgstr "" #: src/drawing.c:432 msgid "Close _without Saving" msgstr "" #: src/about.c:51 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai\n" "Copyright 2002 Michael A. Meffie III\n" "\n" "based on xpaint, by David Koblas and Torsten Martinsen\n" "Copyright 1992--1996" msgstr "" "Copyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/about.c:58 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 3\n" "of the License, or (at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be\n" "useful, but WITHOUT ANY WARRANTY; without even the implied\n" "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" "PURPOSE. See the GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see .\n" msgstr "" #: src/about.c:72 msgid "a small-scale painting program for GNOME, the GNU Desktop." msgstr "" #~ msgid "Flip" #~ msgstr "Spiegelen" #~ msgid "background color" #~ msgstr "achtergrondkleur" #~ msgid "Background color" #~ msgstr "Achtergrondkleur" #~ msgid "foreground color" #~ msgstr "voorgrondkleur" #~ msgid "Foreground color" #~ msgstr "Voorgrondkleur" #~ msgid "+90" #~ msgstr "+90" #~ msgid "+45" #~ msgstr "+45" #~ msgid "-45" #~ msgstr "-45" #~ msgid "-90" #~ msgstr "-90" #~ msgid "+180" #~ msgstr "+180" #~ msgid "About G_NOME" #~ msgstr "Over G_NOME" #~ msgid "About _GNU" #~ msgstr "Over _GNU" #~ msgid "polyline" #~ msgstr "polylijn" #~ msgid "Zoom:" #~ msgstr "Zoom:" #~ msgid "Couldn't create pixmap from file: %s" #~ msgstr "Kan pixmap niet aanmaken uit bestand: %s" gpaint-2-0.3.3/po/pt.po0000664000076400007640000002231410671211557011501 00000000000000# gpaint Portuguese translation. # Copyright (C) 2003 gpaint # This file is distributed under the same license as the gpaint package. # Duarte Loreto , 2003. # msgid "" msgstr "" "Project-Id-Version: 2.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-09-10 02:50-0700\n" "PO-Revision-Date: 2003-03-01 20:50+0000\n" "Last-Translator: Duarte Loreto \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/ui.c:49 msgid "New Canvas" msgstr "Nova Tela" #: src/ui.c:57 msgid "Enter the desired image size:" msgstr "Introduza o tamanho desejado da imagem:" #: src/ui.c:86 msgid "Width: " msgstr "Largura: " #: src/ui.c:94 msgid "Height: " msgstr "Altura: " #: src/ui.c:185 msgid "about" msgstr "sobre" #: src/ui.c:214 #, fuzzy msgid "" "This program is free software; you may redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " "Software Foundation, either version 3, or (at your opinion) any later " "version.\n" msgstr "" "Esta aplicação é livre; pode redistribui-la e/ou modifica-la sob os termos " "da Licença Pública Geral GNU tal como publicado pela Free Software " "Foundation (Fundação Aplicações Livres), na versão 2 ou (à sua descrição) " "qualquer versão posterior.\n" #: src/ui.c:223 msgid "" "based on xpaint, by David Koblas and Torsten Martinsen \n" "Copyright 1992--1996" msgstr "" "baseado no xpaint, por David Koblas e Torsten Martinsen \n" "Copyright 1992--1996" #: src/ui.c:231 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " msgstr "" "Copyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/ui.c:489 msgid "gpaint" msgstr "gpaint" #: src/ui.c:506 #, fuzzy msgid "_File" msgstr "_Novo Ficheiro" #: src/ui.c:515 #, fuzzy msgid "_New" msgstr "Novo" #: src/ui.c:525 #, fuzzy msgid "_Open" msgstr "Abrir" #: src/ui.c:538 #, fuzzy msgid "_Save" msgstr "Gravar" #: src/ui.c:551 #, fuzzy msgid "Save _As" msgstr "Gravar Como" #: src/ui.c:567 src/ui.c:572 msgid "Print Preview" msgstr "Antever Impressão" #: src/ui.c:579 #, fuzzy msgid "_Print" msgstr "Imprimir" #: src/ui.c:596 msgid "_Close" msgstr "" #: src/ui.c:606 msgid "_Quit" msgstr "" #: src/ui.c:619 msgid "_Edit" msgstr "" #: src/ui.c:628 msgid "Cu_t" msgstr "" #: src/ui.c:641 msgid "_Copy" msgstr "" #: src/ui.c:654 msgid "_Paste" msgstr "" #: src/ui.c:667 msgid "Clear" msgstr "" #: src/ui.c:683 msgid "_Select All" msgstr "" #: src/ui.c:691 msgid "_Image" msgstr "_Imagem" #: src/ui.c:700 msgid "Desktop" msgstr "Ambiente Trabalho" #: src/ui.c:709 msgid "Get Snapshot of Desktop" msgstr "Obter Captura Ecrã do Ambiente Trabalho" #: src/ui.c:714 msgid "Set Desktop Background" msgstr "Definir Fundo Ambiente Trabalho" #: src/ui.c:725 #, fuzzy msgid "Rotate Right" msgstr "Rodar" #: src/ui.c:729 msgid "Rotate 90 degrees Clockwise" msgstr "" #: src/ui.c:734 #, fuzzy msgid "Rotate Left" msgstr "Rodar" #: src/ui.c:738 msgid "Rotate 90 degrees Anticlockwise" msgstr "" #: src/ui.c:749 #, fuzzy msgid "Flip Left to Right" msgstr "Esquerda para Direita" #: src/ui.c:753 #, fuzzy msgid "Mirror Left to Right" msgstr "Esquerda para Direita" #: src/ui.c:758 #, fuzzy msgid "Flip Top to Bottom" msgstr "Cima para Baixo" #: src/ui.c:766 #, fuzzy msgid "Effec_ts" msgstr "_Efeitos" #: src/ui.c:775 #, fuzzy msgid "_Invert" msgstr "_Inverter" #: src/ui.c:780 msgid "_Sharpen" msgstr "_Nitidez" #: src/ui.c:791 msgid "S_mooth" msgstr "_Suavizar" #: src/ui.c:796 msgid "_Directional Smooth" msgstr "Suavização _Direccional" #: src/ui.c:801 msgid "Despeckle" msgstr "Retirar Manchas" #: src/ui.c:812 msgid "_Edge Detect" msgstr "Detectar _Margens" #: src/ui.c:817 msgid "Emboss" msgstr "Relevo" #: src/ui.c:822 msgid "_Oil Paint" msgstr "Pintura Óle_o" #: src/ui.c:827 msgid "_Add Noise" msgstr "_Adicionar Ruido" #: src/ui.c:832 msgid "Spread" msgstr "Espalhar" #: src/ui.c:837 msgid "_Pixelize" msgstr "_Pixelizar" #: src/ui.c:842 msgid "_Blend" msgstr "Mist_urar" #: src/ui.c:847 msgid "Solarize" msgstr "Iluminar" #: src/ui.c:858 msgid "_Normalize Contrast" msgstr "_Normalizar Contraste" #: src/ui.c:863 msgid "_Quantize Color" msgstr "_Quantificar Cor" #: src/ui.c:868 msgid "Convert to _Greyscale" msgstr "Converter Escala Cin_za" #: src/ui.c:873 msgid "_Windows" msgstr "" #: src/ui.c:882 msgid "Create _New Window" msgstr "" #: src/ui.c:890 msgid "_Close This Window" msgstr "" #: src/ui.c:898 msgid "_Help" msgstr "" #: src/ui.c:907 #, fuzzy msgid "_About" msgstr "sobre" #: src/ui.c:932 msgid "New" msgstr "Novo" #: src/ui.c:936 msgid "New File" msgstr "Novo Ficheiro" #: src/ui.c:940 msgid "Open" msgstr "Abrir" #: src/ui.c:944 msgid "Open File" msgstr "Abrir Ficheiro" #: src/ui.c:948 msgid "Save" msgstr "Gravar" #: src/ui.c:952 msgid "Save File" msgstr "Gravar Ficheiro" #: src/ui.c:956 msgid "Save As" msgstr "Gravar Como" #: src/ui.c:960 msgid "Save File As" msgstr "Gravar Ficheiro Como" #: src/ui.c:969 src/ui.c:974 msgid "Print" msgstr "Imprimir" #: src/ui.c:1001 msgid "Bold" msgstr "Negrito" #: src/ui.c:1006 msgid "bold text" msgstr "texto negrito" #: src/ui.c:1010 msgid "Italic" msgstr "Itálico" #: src/ui.c:1015 msgid "italic text" msgstr "texto itálico" #: src/ui.c:1019 msgid "Underline" msgstr "Sublinhado" #: src/ui.c:1024 msgid "underline text" msgstr "texto sublinhado" #: src/ui.c:1036 src/ui.c:1067 msgid "line width" msgstr "largura linha" #: src/ui.c:1054 msgid "1" msgstr "1" #: src/ui.c:1055 msgid "2" msgstr "2" #: src/ui.c:1056 msgid "3" msgstr "3" #: src/ui.c:1057 msgid "4" msgstr "4" #: src/ui.c:1058 msgid "6" msgstr "6" #: src/ui.c:1059 msgid "8" msgstr "8" #: src/ui.c:1118 msgid "erase" msgstr "apagar" #: src/ui.c:1129 msgid "lasso" msgstr "demarcar" #: src/ui.c:1140 #, fuzzy msgid "rectselect" msgstr "rectângulo" #: src/ui.c:1151 src/ui.c:1299 msgid "fill" msgstr "encher" #: src/ui.c:1162 msgid "line" msgstr "linha" #: src/ui.c:1173 #, fuzzy msgid "multiline" msgstr "linha" #: src/ui.c:1184 msgid "rectangle" msgstr "rectângulo" #: src/ui.c:1195 #, fuzzy msgid "freehand" msgstr "livre fechado" #: src/ui.c:1217 msgid "pen" msgstr "caneta" #: src/ui.c:1228 #, fuzzy msgid "polyselect" msgstr "selecção poligonal" #: src/ui.c:1240 msgid "text" msgstr "texto" #: src/ui.c:1251 msgid "arc" msgstr "arco" #: src/ui.c:1262 msgid "curve" msgstr "curva" #: src/ui.c:1273 msgid "oval" msgstr "oval" #: src/ui.c:1284 msgid "brush" msgstr "pincel" #: src/util.c:120 src/util.c:144 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Incapaz de encontrar ficheiro pixmap: %s" #. default filename #: src/drawing.c:46 msgid "untitled.png" msgstr "" #: src/drawing.c:220 #, c-format msgid "" "The file %s already exists.\n" "\n" "Do you want to overwrite it?" msgstr "" #: src/drawing.c:260 #, c-format msgid "" "Failed to save file %s.\n" "\n" "%s" msgstr "" #: src/drawing.c:308 msgid "Untitled" msgstr "" #: src/drawing.c:324 msgid " (modified)" msgstr "" #: src/drawing.c:326 #, fuzzy msgid " - gpaint" msgstr "gpaint" #: src/drawing.c:427 #, c-format msgid "" "Do you want to save the changes you made to \"%s\"?\n" "Your changes will be lost if you don't save them." msgstr "" #: src/drawing.c:432 msgid "Close _without Saving" msgstr "" #: src/about.c:51 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai\n" "Copyright 2002 Michael A. Meffie III\n" "\n" "based on xpaint, by David Koblas and Torsten Martinsen\n" "Copyright 1992--1996" msgstr "" "Copyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/about.c:58 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 3\n" "of the License, or (at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be\n" "useful, but WITHOUT ANY WARRANTY; without even the implied\n" "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" "PURPOSE. See the GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see .\n" msgstr "" #: src/about.c:72 msgid "a small-scale painting program for GNOME, the GNU Desktop." msgstr "" #~ msgid "Flip" #~ msgstr "Espelhar" #~ msgid "background color" #~ msgstr "cor fundo" #~ msgid "Background color" #~ msgstr "Cor fundo" #~ msgid "foreground color" #~ msgstr "cor primeiro plano" #~ msgid "Foreground color" #~ msgstr "Cor primeiro plano" #~ msgid "+90" #~ msgstr "+90" #~ msgid "+45" #~ msgstr "+45" #~ msgid "-45" #~ msgstr "-45" #~ msgid "-90" #~ msgstr "-90" #~ msgid "+180" #~ msgstr "+180" #~ msgid "About G_NOME" #~ msgstr "Sobre G_NOME" #~ msgid "About _GNU" #~ msgstr "Sobe _GNU" #~ msgid "polyline" #~ msgstr "polígono" #~ msgid "Zoom:" #~ msgstr "Zoom:" #~ msgid "Couldn't create pixmap from file: %s" #~ msgstr "Incapaz de criar pixmap de ficheiro: %s" gpaint-2-0.3.3/po/pt_BR.po0000664000076400007640000002475410671211557012076 00000000000000# translation of gpaint. # Copyright (C) 2002 Free Software Foundation, Inc. # Goedson Teixeira Paixão , 2002. # msgid "" msgstr "" "Project-Id-Version: gpaint 0.2.1POT-Creation-Date\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-09-10 02:50-0700\n" "PO-Revision-Date: 2007-07-02 23:03-0300\n" "Last-Translator: Goedson Teixeira Paixão \n" "Language-Team: Portuguese/Brazil \n" "MIME-Version: (null)\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: src/ui.c:49 msgid "New Canvas" msgstr "Nova Tela" #: src/ui.c:57 msgid "Enter the desired image size:" msgstr "Entre o tamanho desejado para a imagem:" #: src/ui.c:86 msgid "Width: " msgstr "Largura:" #: src/ui.c:94 msgid "Height: " msgstr "Altura:" #: src/ui.c:185 msgid "about" msgstr "sobre" #: src/ui.c:214 #, fuzzy msgid "" "This program is free software; you may redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " "Software Foundation, either version 3, or (at your opinion) any later " "version.\n" msgstr "" "Este programa é software livre; você pode redistribui-lo e/ou modificá-lo " "sob os termos da Licença Pública Geral GNU (GPL) publicada pela Free " "Software Foundation, podendo optar, a seu critério, pela versão 2 ou " "qualquer versão posterior.\n" #: src/ui.c:223 msgid "" "based on xpaint, by David Koblas and Torsten Martinsen \n" "Copyright 1992--1996" msgstr "" "baseado no xpaint, de David Koblas e Torsten Martinsen \n" "Copyright 1992--1996" #: src/ui.c:231 msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " msgstr "" "Copyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/ui.c:489 msgid "gpaint" msgstr "gpaint" #: src/ui.c:506 msgid "_File" msgstr "_Arquivo" #: src/ui.c:515 msgid "_New" msgstr "_Novo" #: src/ui.c:525 msgid "_Open" msgstr "Abrir" #: src/ui.c:538 msgid "_Save" msgstr "_Salvar" #: src/ui.c:551 msgid "Save _As" msgstr "S_alvar Como" #: src/ui.c:567 src/ui.c:572 msgid "Print Preview" msgstr "Visualizar Impressão" #: src/ui.c:579 msgid "_Print" msgstr "Im_primir" #: src/ui.c:596 msgid "_Close" msgstr "Fe_char" #: src/ui.c:606 msgid "_Quit" msgstr "Sair" #: src/ui.c:619 msgid "_Edit" msgstr "_Editar" #: src/ui.c:628 msgid "Cu_t" msgstr "Recor_tar" #: src/ui.c:641 msgid "_Copy" msgstr "_Copiar" #: src/ui.c:654 msgid "_Paste" msgstr "Colar" #: src/ui.c:667 msgid "Clear" msgstr "Limpar" #: src/ui.c:683 msgid "_Select All" msgstr "_Selecionar Tudo" #: src/ui.c:691 msgid "_Image" msgstr "_Imagem" #: src/ui.c:700 msgid "Desktop" msgstr "Área de trabalho" #: src/ui.c:709 msgid "Get Snapshot of Desktop" msgstr "Capturar Tela" #: src/ui.c:714 msgid "Set Desktop Background" msgstr "Colocar no fundo da tela" #: src/ui.c:725 msgid "Rotate Right" msgstr "Girar para a Direita" #: src/ui.c:729 msgid "Rotate 90 degrees Clockwise" msgstr "Gira 90 graus em sentido horário" #: src/ui.c:734 msgid "Rotate Left" msgstr "Girar para a esquerda" #: src/ui.c:738 msgid "Rotate 90 degrees Anticlockwise" msgstr "Girar 90 graus em sentido anti-horário" #: src/ui.c:749 msgid "Flip Left to Right" msgstr "Inverter horizontalmente" #: src/ui.c:753 msgid "Mirror Left to Right" msgstr "Inverte a imagem na horizontal" #: src/ui.c:758 msgid "Flip Top to Bottom" msgstr "Inverter verticalmente" #: src/ui.c:766 msgid "Effec_ts" msgstr "Efei_tos" #: src/ui.c:775 msgid "_Invert" msgstr "_Inverter" #: src/ui.c:780 msgid "_Sharpen" msgstr "Evidenciar detalhes" #: src/ui.c:791 msgid "S_mooth" msgstr "Suavizar..." #: src/ui.c:796 msgid "_Directional Smooth" msgstr "Suavização _Direcional" #: src/ui.c:801 msgid "Despeckle" msgstr "Tirar manchas" #: src/ui.c:812 msgid "_Edge Detect" msgstr "D_etecção de bordas" #: src/ui.c:817 msgid "Emboss" msgstr "Esculpir" #: src/ui.c:822 msgid "_Oil Paint" msgstr "Pintura a Óle_o" #: src/ui.c:827 msgid "_Add Noise" msgstr "_Adicionar Ruído" #: src/ui.c:832 msgid "Spread" msgstr "Espalhar" #: src/ui.c:837 msgid "_Pixelize" msgstr "_Pixelizar" #: src/ui.c:842 msgid "_Blend" msgstr "Com_binar" #: src/ui.c:847 msgid "Solarize" msgstr "Solarizar" #: src/ui.c:858 msgid "_Normalize Contrast" msgstr "_Normalizar Contraste" #: src/ui.c:863 msgid "_Quantize Color" msgstr "_Quantizar Cores" #: src/ui.c:868 msgid "Convert to _Greyscale" msgstr "Converter para _Tons de cinza" #: src/ui.c:873 msgid "_Windows" msgstr "_Janelas" #: src/ui.c:882 msgid "Create _New Window" msgstr "Criar _Nova Janela" #: src/ui.c:890 msgid "_Close This Window" msgstr "Fe_char esta Janela" #: src/ui.c:898 msgid "_Help" msgstr "A_juda" #: src/ui.c:907 msgid "_About" msgstr "Sobre" #: src/ui.c:932 msgid "New" msgstr "Novo" #: src/ui.c:936 msgid "New File" msgstr "Novo Arquivo" #: src/ui.c:940 msgid "Open" msgstr "Abrir" #: src/ui.c:944 msgid "Open File" msgstr "Abrir Arquivo" #: src/ui.c:948 msgid "Save" msgstr "Salvar" #: src/ui.c:952 msgid "Save File" msgstr "Salvar Arquivo" #: src/ui.c:956 msgid "Save As" msgstr "Salvar Como" #: src/ui.c:960 msgid "Save File As" msgstr "Salvar Arquivo Como" #: src/ui.c:969 src/ui.c:974 msgid "Print" msgstr "Imprimir" #: src/ui.c:1001 msgid "Bold" msgstr "Negrito" #: src/ui.c:1006 msgid "bold text" msgstr "texto negrito" #: src/ui.c:1010 msgid "Italic" msgstr "Itálico" #: src/ui.c:1015 msgid "italic text" msgstr "texto itálico" #: src/ui.c:1019 msgid "Underline" msgstr "Sublinhar" #: src/ui.c:1024 msgid "underline text" msgstr "texto sublinhado" #: src/ui.c:1036 src/ui.c:1067 msgid "line width" msgstr "largura da linha" #: src/ui.c:1054 msgid "1" msgstr "1" #: src/ui.c:1055 msgid "2" msgstr "2" #: src/ui.c:1056 msgid "3" msgstr "3" #: src/ui.c:1057 msgid "4" msgstr "4" #: src/ui.c:1058 msgid "6" msgstr "6" #: src/ui.c:1059 msgid "8" msgstr "8" #: src/ui.c:1118 msgid "erase" msgstr "apagar" #: src/ui.c:1129 msgid "lasso" msgstr "laço" #: src/ui.c:1140 msgid "rectselect" msgstr "Seleção retangular" #: src/ui.c:1151 src/ui.c:1299 msgid "fill" msgstr "preencher" #: src/ui.c:1162 msgid "line" msgstr "linha" #: src/ui.c:1173 msgid "multiline" msgstr "multilinha" #: src/ui.c:1184 msgid "rectangle" msgstr "retângulo" #: src/ui.c:1195 msgid "freehand" msgstr "mão livre" #: src/ui.c:1217 msgid "pen" msgstr "caneta" #: src/ui.c:1228 msgid "polyselect" msgstr "seleção poligonal" #: src/ui.c:1240 msgid "text" msgstr "texto" #: src/ui.c:1251 msgid "arc" msgstr "arco" #: src/ui.c:1262 msgid "curve" msgstr "curva" #: src/ui.c:1273 msgid "oval" msgstr "oval" #: src/ui.c:1284 msgid "brush" msgstr "pincel" #: src/util.c:120 src/util.c:144 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Não pude encontrar o arquivo: %s" #. default filename #: src/drawing.c:46 msgid "untitled.png" msgstr "sem_nome.png" #: src/drawing.c:220 #, c-format msgid "" "The file %s already exists.\n" "\n" "Do you want to overwrite it?" msgstr "" "O arquivo %s já existe.\n" "\n" "Deseja sobrescrevê-lo?" #: src/drawing.c:260 #, c-format msgid "" "Failed to save file %s.\n" "\n" "%s" msgstr "" "Falha ao salvar o arquivo %s.\n" "\n" "%s" #: src/drawing.c:308 msgid "Untitled" msgstr "Sem Nome" #: src/drawing.c:324 msgid " (modified)" msgstr " (modificado)" #: src/drawing.c:326 msgid " - gpaint" msgstr " - gpaint" #: src/drawing.c:427 #, c-format msgid "" "Do you want to save the changes you made to \"%s\"?\n" "Your changes will be lost if you don't save them." msgstr "" "Você deseja salvar as mudanças que você fez em \"%s\"?\n" "Suas mudanças serão perdidas se você não salvá-las." #: src/drawing.c:432 msgid "Close _without Saving" msgstr "" #: src/about.c:51 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai\n" "Copyright 2002 Michael A. Meffie III\n" "\n" "based on xpaint, by David Koblas and Torsten Martinsen\n" "Copyright 1992--1996" msgstr "" "Copyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/about.c:58 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 3\n" "of the License, or (at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be\n" "useful, but WITHOUT ANY WARRANTY; without even the implied\n" "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" "PURPOSE. See the GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see .\n" msgstr "" #: src/about.c:72 msgid "a small-scale painting program for GNOME, the GNU Desktop." msgstr "" #~ msgid "Flip" #~ msgstr "Virar" #~ msgid "background color" #~ msgstr "cor de fundo" #~ msgid "Background color" #~ msgstr "Cor de fundo" #~ msgid "foreground color" #~ msgstr "cor de frente" #~ msgid "Foreground color" #~ msgstr "Cor de frente" #~ msgid "+90" #~ msgstr "+90" #~ msgid "+45" #~ msgstr "+45" #~ msgid "-45" #~ msgstr "-45" #~ msgid "-90" #~ msgstr "-90" #~ msgid "+180" #~ msgstr "+180" #~ msgid "_New File" #~ msgstr "_Novo Arquivo" #~ msgid "About G_NOME" #~ msgstr "Sobre G_NOME" #~ msgid "About _GNU" #~ msgstr "Sobre _GNU" #~ msgid "polyline" #~ msgstr "polilinha" #~ msgid "closed freehand" #~ msgstr "desenho de mão livre fechadol" #~ msgid "Zoom:" #~ msgstr "Zoom:" #~ msgid "Couldn't create pixmap from file: %s" #~ msgstr "Não pude criar pixmap do arquivo: %s" #~ msgid "Flip _X Axis" #~ msgstr "Inverter Eixo _X" #~ msgid "Flip _Y Axis" #~ msgstr "Inverter Eixo _Y" #~ msgid "_Rotate..." #~ msgstr "Gi_rar..." #~ msgid "_Crop to region" #~ msgstr "Re_cortar região" #~ msgid "_Visible Grid" #~ msgstr "Grade _Visível" #~ msgid "Change _Background..." #~ msgstr "Mudar _Fundo..." #~ msgid "Change _Size..." #~ msgstr "Mudar _Tamanho..." #~ msgid "_Undo Levels..." #~ msgstr "Níveis de _Undo..." #~ msgid "_Auto Crop..." #~ msgstr "Recortar _Automaticamente..." #~ msgid "Change _Zoom..." #~ msgstr "Mudar _Zoom..." #~ msgid "_Region" #~ msgstr "_Região" #~ msgid "" #~ "Copyright 1992, 1993 David Koblas \n" #~ "Copyright 1995, 1996 Torsten Martinsen\n" #~ "Copyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" #~ msgstr "" #~ "Copyright 1992, 1993 David Koblas\n" #~ "Copyright 1995, 1996 Torsten Martinsen\n" #~ "Copyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" gpaint-2-0.3.3/po/sv.po0000664000076400007640000044437110671211560011513 00000000000000# Swedish messages for gpaint. # Copyright (C) 2003, 2007 Free Software Foundation, Inc. # Daniel Nylander , 2007. # Christian Rose , 2003. # # $Id: sv.po,v 1.4 2005/03/06 16:19:37 meffie Exp $ # msgid "" msgstr "" "Project-Id-Version: gpaint\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-09-10 02:50-0700\n" "PO-Revision-Date: 2007-06-11 12:33+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/ui.c:49 msgid "New Canvas" msgstr "Ny rityta" #: src/ui.c:57 msgid "Enter the desired image size:" msgstr "Ange den önskade bildstorleken:" #: src/ui.c:86 msgid "Width: " msgstr "Bredd: " #: src/ui.c:94 msgid "Height: " msgstr "Höjd: " #: src/ui.c:185 msgid "about" msgstr "om" #: src/ui.c:214 #, fuzzy msgid "" "This program is free software; you may redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " "Software Foundation, either version 3, or (at your opinion) any later " "version.\n" msgstr "" "Detta program är fri programvara. Du kan distribuera det och/eller modifiera " "det under villkoren i GNU General Public License, publicerad av Free " "Software Foundation, antingen version 2 eller (om du sÃ¥ vill) nÃ¥gon senare " "version.\n" #: src/ui.c:223 msgid "" "based on xpaint, by David Koblas and Torsten Martinsen \n" "Copyright 1992--1996" msgstr "" "baserat pÃ¥ xpaint, av David Koblas och Torsten Martinsen \n" "Copyright 1992--1996" #: src/ui.c:231 msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " msgstr "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/ui.c:489 msgid "gpaint" msgstr "gpaint" #: src/ui.c:506 msgid "_File" msgstr "_Arkiv" #: src/ui.c:515 msgid "_New" msgstr "_Ny" #: src/ui.c:525 msgid "_Open" msgstr "_Öppna" #: src/ui.c:538 msgid "_Save" msgstr "_Spara" #: src/ui.c:551 msgid "Save _As" msgstr "Spara s_om" #: src/ui.c:567 src/ui.c:572 msgid "Print Preview" msgstr "Förhandsgranskning" #: src/ui.c:579 msgid "_Print" msgstr "S_kriv ut" #: src/ui.c:596 msgid "_Close" msgstr "_Stäng" #: src/ui.c:606 msgid "_Quit" msgstr "_Avsluta" #: src/ui.c:619 msgid "_Edit" msgstr "R_edigera" #: src/ui.c:628 msgid "Cu_t" msgstr "Klipp _ut" #: src/ui.c:641 msgid "_Copy" msgstr "_Kopiera" #: src/ui.c:654 msgid "_Paste" msgstr "Klistra _in" #: src/ui.c:667 msgid "Clear" msgstr "Töm" #: src/ui.c:683 msgid "_Select All" msgstr "_Markera allt" #: src/ui.c:691 msgid "_Image" msgstr "_Bild" #: src/ui.c:700 msgid "Desktop" msgstr "Skrivbord" #: src/ui.c:709 msgid "Get Snapshot of Desktop" msgstr "FÃ¥ tag i ögonblicksbild av skrivbordet" #: src/ui.c:714 msgid "Set Desktop Background" msgstr "Ställ in skrivbordsbakgrunden" #: src/ui.c:725 msgid "Rotate Right" msgstr "Rotera Ã¥t höger" #: src/ui.c:729 msgid "Rotate 90 degrees Clockwise" msgstr "Rotera 90 grader medsols" #: src/ui.c:734 msgid "Rotate Left" msgstr "Rotera Ã¥t vänster" #: src/ui.c:738 msgid "Rotate 90 degrees Anticlockwise" msgstr "Rotera 90 grader motsols" #: src/ui.c:749 msgid "Flip Left to Right" msgstr "Vänd vänster till höger" #: src/ui.c:753 msgid "Mirror Left to Right" msgstr "Spegla vänster till höger" #: src/ui.c:758 msgid "Flip Top to Bottom" msgstr "Vänd topp till botten" #: src/ui.c:766 msgid "Effec_ts" msgstr "Effek_ter" #: src/ui.c:775 msgid "_Invert" msgstr "_Invertera" #: src/ui.c:780 msgid "_Sharpen" msgstr "Gör _skarpare" #: src/ui.c:791 msgid "S_mooth" msgstr "_Jämna ut" #: src/ui.c:796 msgid "_Directional Smooth" msgstr "_Riktningsbaserad utjämning" #: src/ui.c:801 msgid "Despeckle" msgstr "Avfläcka" #: src/ui.c:812 msgid "_Edge Detect" msgstr "_Leta kanter" #: src/ui.c:817 msgid "Emboss" msgstr "Gör relief" #: src/ui.c:822 msgid "_Oil Paint" msgstr "_OljemÃ¥la" #: src/ui.c:827 msgid "_Add Noise" msgstr "_Lägg till brus" # Osäker #: src/ui.c:832 msgid "Spread" msgstr "Sprid" #: src/ui.c:837 msgid "_Pixelize" msgstr "_Pixelisera" #: src/ui.c:842 msgid "_Blend" msgstr "_Tona" # Osäker #: src/ui.c:847 msgid "Solarize" msgstr "Solarisera" #: src/ui.c:858 msgid "_Normalize Contrast" msgstr "_Normalisera kontrast" #: src/ui.c:863 msgid "_Quantize Color" msgstr "_Kvantifiera färg" #: src/ui.c:868 msgid "Convert to _Greyscale" msgstr "Konvertera till _grÃ¥skala" #: src/ui.c:873 msgid "_Windows" msgstr "_Fönster" #: src/ui.c:882 msgid "Create _New Window" msgstr "Skapa _nytt fönster" #: src/ui.c:890 msgid "_Close This Window" msgstr "_Stäng det här fönstret" #: src/ui.c:898 msgid "_Help" msgstr "_Hjälp" #: src/ui.c:907 msgid "_About" msgstr "_Om" #: src/ui.c:932 msgid "New" msgstr "Ny" #: src/ui.c:936 msgid "New File" msgstr "Ny fil" #: src/ui.c:940 msgid "Open" msgstr "Öppna" #: src/ui.c:944 msgid "Open File" msgstr "Öppna fil" #: src/ui.c:948 msgid "Save" msgstr "Spara" #: src/ui.c:952 msgid "Save File" msgstr "Spara fil" #: src/ui.c:956 msgid "Save As" msgstr "Spara som" #: src/ui.c:960 msgid "Save File As" msgstr "Spara fil som" #: src/ui.c:969 src/ui.c:974 msgid "Print" msgstr "Skriv ut" #: src/ui.c:1001 msgid "Bold" msgstr "Fet" #: src/ui.c:1006 msgid "bold text" msgstr "fet text" #: src/ui.c:1010 msgid "Italic" msgstr "Kursiv" #: src/ui.c:1015 msgid "italic text" msgstr "kursiv text" #: src/ui.c:1019 msgid "Underline" msgstr "Understruken" #: src/ui.c:1024 msgid "underline text" msgstr "understruken text" #: src/ui.c:1036 src/ui.c:1067 msgid "line width" msgstr "linjebredd" #: src/ui.c:1054 msgid "1" msgstr "1" #: src/ui.c:1055 msgid "2" msgstr "2" #: src/ui.c:1056 msgid "3" msgstr "3" #: src/ui.c:1057 msgid "4" msgstr "4" #: src/ui.c:1058 msgid "6" msgstr "6" #: src/ui.c:1059 msgid "8" msgstr "8" #: src/ui.c:1118 msgid "erase" msgstr "sudda" #: src/ui.c:1129 msgid "lasso" msgstr "lasso" #: src/ui.c:1140 msgid "rectselect" msgstr "rekt. markering" #: src/ui.c:1151 src/ui.c:1299 msgid "fill" msgstr "fyll" #: src/ui.c:1162 msgid "line" msgstr "linje" #: src/ui.c:1173 msgid "multiline" msgstr "flerlinjer" #: src/ui.c:1184 msgid "rectangle" msgstr "rektangel" #: src/ui.c:1195 msgid "freehand" msgstr "frihand" #: src/ui.c:1217 msgid "pen" msgstr "penna" #: src/ui.c:1228 msgid "polyselect" msgstr "polygonmarkering" #: src/ui.c:1240 msgid "text" msgstr "text" #: src/ui.c:1251 msgid "arc" msgstr "bÃ¥ge" #: src/ui.c:1262 msgid "curve" msgstr "kurva" #: src/ui.c:1273 msgid "oval" msgstr "oval" #: src/ui.c:1284 msgid "brush" msgstr "pensel" #: src/util.c:120 src/util.c:144 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Kunde inte hitta bildfil: %s" #. default filename #: src/drawing.c:46 msgid "untitled.png" msgstr "namnlös.png" #: src/drawing.c:220 #, c-format msgid "" "The file %s already exists.\n" "\n" "Do you want to overwrite it?" msgstr "" "Filen %s finns redan.\n" "\n" "Vill du skriva över den?" #: src/drawing.c:260 #, c-format msgid "" "Failed to save file %s.\n" "\n" "%s" msgstr "" "Misslyckades med att spara filen %s.\n" "\n" "%s" #: src/drawing.c:308 msgid "Untitled" msgstr "Namnlös" #: src/drawing.c:324 msgid " (modified)" msgstr " (ändrad)" #: src/drawing.c:326 msgid " - gpaint" msgstr " - gpaint" #: src/drawing.c:427 #, c-format msgid "" "Do you want to save the changes you made to \"%s\"?\n" "Your changes will be lost if you don't save them." msgstr "" "Vill du spara ändringarna som du har gjort i \"%s\"?\n" "Dina ändringar kommer att förloras om du inte sparar dem." #: src/drawing.c:432 msgid "Close _without Saving" msgstr "" #: src/about.c:51 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai\n" "Copyright 2002 Michael A. Meffie III\n" "\n" "based on xpaint, by David Koblas and Torsten Martinsen\n" "Copyright 1992--1996" msgstr "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/about.c:58 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 3\n" "of the License, or (at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be\n" "useful, but WITHOUT ANY WARRANTY; without even the implied\n" "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" "PURPOSE. See the GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see .\n" msgstr "" #: src/about.c:72 msgid "a small-scale painting program for GNOME, the GNU Desktop." msgstr "" #~ msgid "Cannot open file %s." #~ msgstr "Kan inte öppna %s." #~ msgid "Save as" #~ msgstr "Spara som" #~ msgid "Open image" #~ msgstr "Öppna bild" #~ msgid "Invalid width or height values" #~ msgstr "Ogiltiga värden för bredd eller höjd" #~ msgid "Flip" #~ msgstr "Vänd" #~ msgid "background color" #~ msgstr "bakgrundsfärg" #~ msgid "Background color" #~ msgstr "Bakgrundsfärg" #~ msgid "foreground color" #~ msgstr "förgrundsfärg" #~ msgid "Foreground color" #~ msgstr "Förgrundsfärg" #~ msgid "+90" #~ msgstr "+90" #~ msgid "+45" #~ msgstr "+45" #~ msgid "-45" #~ msgstr "-45" #~ msgid "-90" #~ msgstr "-90" #~ msgid "+180" #~ msgstr "+180" #~ msgid "_New File" #~ msgstr "_Ny fil" #~ msgid "_Revert" #~ msgstr "_Ã…tergÃ¥" #~ msgid "About G_NOME" #~ msgstr "Om G_NOME" #~ msgid "About _GNU" #~ msgstr "Om _GNU" #~ msgid "polyline" #~ msgstr "polylinje" #~ msgid "Zoom:" #~ msgstr "Zooma:" #~ msgid "Couldn't create pixmap from file: %s" #~ msgstr "Kunde inte skapa pixmap frÃ¥n fil: %s" #~ msgid "Image" #~ msgstr "Bild" #~ msgid "Width:" #~ msgstr "Bredd:" #~ msgid "Height:" #~ msgstr "Höjd:" #~ msgid "" #~ "GIMP is not properly installed for the current user.\n" #~ "User installation was skipped because the '--no-interface' flag was " #~ "used.\n" #~ "To perform user installation, run the GIMP without the '--no-interface' " #~ "flag." #~ msgstr "" #~ "GIMP är inte korrekt installerat för den aktuella användaren.\n" #~ "Användarinstallationen hoppades över eftersom \"--no-interface\"-flaggan " #~ "användes.\n" #~ "Kör GIMP med flaggan \"--no-interface\" för att utföra " #~ "användarinstallation." #~ msgid "" #~ "GIMP could not initialize the GUI.\n" #~ "Make sure a proper setup for your display environment exists." #~ msgstr "" #~ "GIMP kunde inte initiera det grafiska användargränssnittet.\n" #~ "Försäkra dig om att det finns en korrekt konfiguration för din " #~ "displaymiljö." #~ msgid "" #~ "\n" #~ "Invalid option \"%s\"\n" #~ msgstr "" #~ "\n" #~ "Ogiltig flagga \"%s\"\n" #~ msgid "GIMP version" #~ msgstr "GIMP version" #~ msgid "" #~ "\n" #~ "Usage: %s [option ... ] [file ... ]\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Användning: %s [flagga ...] [fil ...]\n" #~ "\n" #~ msgid "Options:\n" #~ msgstr "Alternativ:\n" #~ msgid " -b, --batch Run in batch mode.\n" #~ msgstr " -b, --batch Kör i flerjobbsläge.\n" #~ msgid "" #~ " -c, --console-messages Display warnings to console instead of a " #~ "dialog box.\n" #~ msgstr "" #~ " -c, --console-messages Visa varningsmeddelanden till konsollen, inte " #~ "ett separat dialogfönster.\n" #~ msgid "" #~ " -d, --no-data Do not load brushes, gradients, palettes, " #~ "patterns.\n" #~ msgstr "" #~ " -d, --no-data Läs in inte in penslar, färgskalor, " #~ "färgpaletter, mönster.\n" #~ msgid " -i, --no-interface Run without a user interface.\n" #~ msgstr " -i, --no-interface Kör utan användargränssnitt.\n" #~ msgid " -g, --gimprc Use an alternate gimprc file.\n" #~ msgstr " -g, --gimprc Använd en alternativ gimprc-fil.\n" #~ msgid " -h, --help Output this help.\n" #~ msgstr " -h, --help Skriv ut denna hjälptext.\n" #~ msgid " -r, --restore-session Try to restore saved session.\n" #~ msgstr " -r, --restore-session Försök att Ã¥terställa sparad session.\n" #~ msgid " -s, --no-splash Do not show the startup window.\n" #~ msgstr " -s, --no-splash Visa inte startfönstret.\n" #~ msgid "" #~ " -S, --no-splash-image Do not add an image to the startup window.\n" #~ msgstr " -S, --no-splash-image Visa ingen bild i startfönstret.\n" #~ msgid " -v, --version Output version information.\n" #~ msgstr " -v, --version Skriv ut versionsinformation.\n" #~ msgid " --verbose Show startup messages.\n" #~ msgstr " --verbose Visa startmeddelanden.\n" #~ msgid "" #~ " --no-shm Do not use shared memory between GIMP and " #~ "plugins.\n" #~ msgstr "" #~ " --no-shm Använd inte delat minne mellan GIMP och " #~ "tillägg.\n" #~ msgid " --no-mmx Do not use MMX routines.\n" #~ msgstr " --no-mmx Använd inte MMX-rutiner.\n" #~ msgid "" #~ " --debug-handlers Enable non-fatal debugging signal handlers.\n" #~ msgstr "" #~ " --debug-handlers Aktivera icke ödesdiger signalhanterare för\n" #~ " felsökning.\n" #~ msgid " --display Use the designated X display.\n" #~ msgstr " --display Använd en speciell X-display.\n" #~ msgid " --system-gimprc Use an alternate system gimprc file.\n" #~ msgstr "" #~ " --system-gimprc Använd en alternativ system-gimprc-fil.\n" #~ msgid "" #~ " --enable-stack-trace \n" #~ " Debugging mode for fatal signals.\n" #~ "\n" #~ msgstr "" #~ " --enable-stack-trace \n" #~ " Felsökningsläge för ödesdigra signaler.\n" #~ "\n" #~ msgid "(This console window will close in ten seconds)\n" #~ msgstr "(Detta konsollfönster kommer att stängas om tio sekunder)\n" #~ msgid "Can't undo %s" #~ msgstr "Kan inte Ã¥ngra %s" #~ msgid "<>" #~ msgstr "<>" #~ msgid "Scale Image" #~ msgstr "Skala bild" #~ msgid "Resize Image" #~ msgstr "Ändra storlek pÃ¥ bild" #~ msgid "Convert Image" #~ msgstr "Konvertera bild" #~ msgid "Crop Image" #~ msgstr "Beskär bild" #~ msgid "Merge Layers" #~ msgstr "Sammanfoga lager" #~ msgid "QuickMask" #~ msgstr "Snabbmask" #~ msgid "Guide" #~ msgstr "Hjälplinje" #~ msgid "Layer Properties" #~ msgstr "Lageregenskaper" #~ msgid "Scale Layer" #~ msgstr "Skala om lager" #~ msgid "Resize Layer" #~ msgstr "Ändra storlek pÃ¥ lager" #~ msgid "Move Layer" #~ msgstr "Flytta lager" #~ msgid "Apply Layer Mask" #~ msgstr "Applicera lagermask" #~ msgid "Linked Layer" #~ msgstr "Länkat lager" #~ msgid "Float Selection" #~ msgstr "Flytande markering" #~ msgid "Anchor Floating Selection" #~ msgstr "Ankra flytande markering" #~ msgid "Text" #~ msgstr "Text" #~ msgid "Transform" #~ msgstr "Transformera" #~ msgid "Attach Parasite" #~ msgstr "Koppla parasit" #~ msgid "Remove Parasite" #~ msgstr "Ta bort parasit" #~ msgid "Plug-In" #~ msgstr "Insticksmodul" #~ msgid "Image Mod" #~ msgstr "Bildmod" #~ msgid "Image Type" #~ msgstr "Bildtyp" #~ msgid "Image Size" #~ msgstr "Bildstorlek" #~ msgid "Resolution Change" #~ msgstr "Ändring av upplösning" #~ msgid "Selection Mask" #~ msgstr "Markeringsmask" #~ msgid "Rename Item" #~ msgstr "Byt namn pÃ¥ objekt" #~ msgid "New Layer" #~ msgstr "Nytt lager" #~ msgid "Delete Layer" #~ msgstr "Ta bort lager" #~ msgid "Layer Mod" #~ msgstr "Lagermod" #~ msgid "Add Layer Mask" #~ msgstr "Lägg till lagermask" #~ msgid "Delete Layer Mask" #~ msgstr "Ta bort lagermask" #~ msgid "Layer Reposition" #~ msgstr "Ompositionering av lager" #~ msgid "Layer Move" #~ msgstr "Lagerflytt" #~ msgid "Delete Channel" #~ msgstr "Ta bort kanal" #~ msgid "Channel Mod" #~ msgstr "Kanalmod" #~ msgid "Channel Reposition" #~ msgstr "Ompositionering av kanal" #~ msgid "New Vectors" #~ msgstr "Nya vektorer" #~ msgid "Delete Vectors" #~ msgstr "Ta bort vektorer" #~ msgid "Vectors Mod" #~ msgstr "Vektormod" #~ msgid "Vectors Reposition" #~ msgstr "Ompositionering av vektorer" #~ msgid "FS to Layer" #~ msgstr "FS till lager" #~ msgid "FS Rigor" #~ msgstr "FS rigor" #~ msgid "FS Relax" #~ msgstr "FS relax" #~ msgid "Undo History: %s" #~ msgstr "Ã…ngringshistorik: %s" #~ msgid "[ base image ]" #~ msgstr "[ grundbild ]" #~ msgid "Undo History" #~ msgstr "Ã…ngringshistorik" #~ msgid "Image Undo History" #~ msgstr "BildÃ¥ngringshistorik" #~ msgid "None (Fastest)" #~ msgstr "Ingen (snabbast)" #~ msgid "Linear" #~ msgstr "Linjär" #~ msgid "Cubic (Best)" #~ msgstr "Kubisk (bäst)" #~ msgid "Small" #~ msgstr "Liten" #~ msgid "Medium" #~ msgstr "Mellan" #~ msgid "Large" #~ msgstr "Stor" #~ msgid "Light Checks" #~ msgstr "Ljusa rutor" #~ msgid "Mid-Tone Checks" #~ msgstr "Mellanmörka rutor" #~ msgid "Dark Checks" #~ msgstr "Mörka rutor" #~ msgid "White Only" #~ msgstr "Endast vit" #~ msgid "Gray Only" #~ msgstr "Endast grÃ¥" #~ msgid "Black Only" #~ msgstr "Endast svart" #~ msgid "Value" #~ msgstr "Värde" #~ msgid "Red" #~ msgstr "Röd" #~ msgid "Green" #~ msgstr "Grön" #~ msgid "Blue" #~ msgstr "BlÃ¥" #~ msgid "Alpha" #~ msgstr "Alfa" #~ msgid "Shadows" #~ msgstr "Skuggor" #~ msgid "Midtones" #~ msgstr "Mittentoner" #~ msgid "Highlights" #~ msgstr "Ljuspunkter" #~ msgid "fatal parse error" #~ msgstr "ödesdigert tolkningsfel" #~ msgid "expected 'yes' or 'no' for boolean token %s, got '%s'" #~ msgstr "" #~ "\"ja\" eller \"nej\" för booleskt element %s förväntades, fick \"%s\"" #~ msgid "invalid value '%s' for token %s" #~ msgstr "ogiltigt värde \"%s\" för element %s" #~ msgid "invalid value '%ld' for token %s" #~ msgstr "ogiltigt värde \"%ld\" för element %s" #~ msgid "while parsing token %s: %s" #~ msgstr "vid tolkning av elementet %s: %s" #~ msgid "value for token %s is not a valid UTF-8 string" #~ msgstr "värde för elementet %s är inte en giltig UTF-8-sträng" #~ msgid "can not expand ${%s}" #~ msgstr "kan inte expandera ${%s}" #~ msgid "Failed to create temporary file for '%s': %s" #~ msgstr "Misslyckades med att skapa temporär fil för \"%s\": %s" #~ msgid "" #~ "Error when writing to temporary file for '%s': %s\n" #~ "The original file has not been touched." #~ msgstr "" #~ "Fel vid skrivande till temporär fil för \"%s\": %s\n" #~ "Originalfilen har inte rörts." #~ msgid "" #~ "Error when writing to temporary file for '%s': %s\n" #~ "No file has been created." #~ msgstr "" #~ "Fel vid skrivning till temporär fil för \"%s\": %s\n" #~ "Ingen fil har skapats." #~ msgid "Parsing '%s'\n" #~ msgstr "Tolkar \"%s\"\n" #~ msgid "Saving '%s'\n" #~ msgstr "Sparar \"%s\"\n" #~ msgid "Failed to open file: '%s': %s" #~ msgstr "Misslyckades med att öppna filen: \"%s\": %s" #~ msgid "invalid UTF-8 string" #~ msgstr "ogiltig UTF-8-sträng" #~ msgid "" #~ "Error while parsing '%s' in line %d:\n" #~ "%s" #~ msgstr "" #~ "Fel vid tolkning av \"%s\" pÃ¥ rad %d:\n" #~ "%s" #~ msgid "FG to BG (RGB)" #~ msgstr "FG till BG (RGB)" #~ msgid "FG to BG (HSV)" #~ msgstr "FG till BG (HSV)" #~ msgid "FG to Transparent" #~ msgstr "FG till Transparent" #~ msgid "Custom Gradient" #~ msgstr "Egen färgskala" #~ msgid "FG Color Fill" #~ msgstr "Fyll med förgrundsfärg" #~ msgid "BG Color Fill" #~ msgstr "Fyll med bakgrundsfärg" #~ msgid "Pattern Fill" #~ msgstr "Fyll mönster" #~ msgid "No Color Dithering" #~ msgstr "Ingen färgdithering" #~ msgid "Floyd-Steinberg Color Dithering (Normal)" #~ msgstr "Floyd-Steinberg färgdithering (normal)" #~ msgid "Floyd-Steinberg Color Dithering (Reduced Color Bleeding)" #~ msgstr "Floyd-Steinberg färgdithering (minskad färgblödning)" #~ msgid "Positioned Color Dithering" #~ msgstr "Dithering per färgposition" #~ msgid "Foreground" #~ msgstr "Förgrund" #~ msgid "White" #~ msgstr "Vit" #~ msgid "Transparent" #~ msgstr "Transparent" #~ msgid "None" #~ msgstr "Ingen" #~ msgid "Bi-Linear" #~ msgstr "Bilinjär" #~ msgid "Radial" #~ msgstr "Radiell" #~ msgid "Square" #~ msgstr "Fyrkantig" #~ msgid "Conical (symmetric)" #~ msgstr "Konisk (symmetrisk)" #~ msgid "Conical (asymmetric)" #~ msgstr "Konisk (asymmetrisk)" #~ msgid "Shapeburst (angular)" #~ msgstr "Formfyllning (vinkel)" #~ msgid "Shapeburst (spherical)" #~ msgstr "Formfyllning (sfärisk)" #~ msgid "Shapeburst (dimpled)" #~ msgstr "Formfyllning (gropig)" #~ msgid "Spiral (clockwise)" #~ msgstr "Spiral (medurs)" #~ msgid "Spiral (anticlockwise)" #~ msgstr "Spiral (moturs)" #~ msgid "RGB" #~ msgstr "RGB" #~ msgid "Grayscale" #~ msgstr "GrÃ¥skala" #~ msgid "Indexed" #~ msgstr "Indexerad" #~ msgid "RGB-Alpha" #~ msgstr "RGB-alfa" #~ msgid "Grayscale-Alpha" #~ msgstr "GrÃ¥skale-alfa" #~ msgid "Indexed-Alpha" #~ msgstr "Indexerad-alfa" #~ msgid "Tiny" #~ msgstr "Jätteliten" #~ msgid "Very Small" #~ msgstr "Mycket liten" #~ msgid "Very Large" #~ msgstr "Mycket stor" #~ msgid "Huge" #~ msgstr "Jättestor" #~ msgid "Enormous" #~ msgstr "Enorm" #~ msgid "Gigantic" #~ msgstr "Gigantisk" #~ msgid "Sawtooth Wave" #~ msgstr "SÃ¥gtandsvÃ¥g" #~ msgid "Triangular Wave" #~ msgstr "Triangulär vÃ¥g" #~ msgid "No Thumbnails" #~ msgstr "Inga miniatyrbilder" #~ msgid "Normal (128x128)" #~ msgstr "Normal (128×128)" #~ msgid "Large (256x256)" #~ msgstr "Stor (256×256)" #~ msgid "Forward (Traditional)" #~ msgstr "FramÃ¥t (traditionell)" #~ msgid "Backward (Corrective)" #~ msgstr "BakÃ¥t (korrektiv)" #~ msgid "Procedural Database" #~ msgstr "Procedurell databas" #~ msgid "Plug-In Environment" #~ msgstr "Insticksmodulmiljö" #~ msgid "Looking for data files" #~ msgstr "Letar efter datafiler" #~ msgid "Parasites" #~ msgstr "Parasiter" #~ msgid "Brushes" #~ msgstr "Penslar" #~ msgid "Patterns" #~ msgstr "Mönster" #~ msgid "Palettes" #~ msgstr "Paletter" #~ msgid "Gradients" #~ msgstr "Färgskalor" #~ msgid "Documents" #~ msgstr "Dokument" #~ msgid "FG to BG (HSV counter-clockwise)" #~ msgstr "FG till BG (HSV moturs)" #~ msgid "FG to BG (HSV clockwise hue)" #~ msgstr "FG till BG (HSV medurs-nyans)" #~ msgid "Could not open '%s' for reading: %s" #~ msgstr "Kunde inte öppna \"%s\" för läsning: %s" #~ msgid "Could not read %d bytes from '%s': %s" #~ msgstr "Kunde inte läsa %d byte frÃ¥n \"%s\": %s" #~ msgid "" #~ "Fatal parsing error (unknown version %d):\n" #~ "Brush file '%s'" #~ msgstr "" #~ "Ödesdigert tolkningsfel (okänd version %d):\n" #~ "Penselfil \"%s\"" #~ msgid "" #~ "Fatal parsing error:\n" #~ "Brush file '%s' appears truncated." #~ msgstr "" #~ "Ödesdigert tolkningsfel:\n" #~ "Penselfilen \"%s\" verkar vara avklippt." #~ msgid "Invalid UTF-8 string in brush file '%s'." #~ msgstr "Ogiltig UTF-8-sträng i penselfilen \"%s\"." #~ msgid "Unnamed" #~ msgstr "Namnlös" #~ msgid "" #~ "Unsupported brush depth %d\n" #~ "in file '%s'.\n" #~ "GIMP brushes must be GRAY or RGBA." #~ msgstr "" #~ "Penseldjupet %d i filen \"%s\"\n" #~ "stöds inte.\n" #~ "GIMP-penslar mÃ¥ste vara GRÃ… eller RGBA." #~ msgid "Could not open '%s' for writing: %s" #~ msgstr "Kunde inte öppna \"%s\" för skrivning: %s" #~ msgid "Fatal Parse Error: '%s' is not a GIMP Brush file" #~ msgstr "Ödesdigert tolkningsfel: \"%s\" är inte en GIMP-färgskalefil" #~ msgid "Fatal Parse Error: '%s': unknown GIMP Brush version" #~ msgstr "Ödesdigert tolkningsfel: \"%s\" är inte en GIMP-färgskaleversion" #~ msgid "" #~ "Fatal parsing error:\n" #~ "Brush file '%s' is corrupt." #~ msgstr "" #~ "Ödesdigert tolkningsfel:\n" #~ "Penselfilen \"%s\" är trasig." #~ msgid "Could not delete '%s': %s" #~ msgstr "Kunde inte ta bort \"%s\": %s" #~ msgid "" #~ "Warning: Failed to save data:\n" #~ "%s" #~ msgstr "" #~ "Varning: Misslyckades med att spara data:\n" #~ "%s" #~ msgid "copy" #~ msgstr "kopia" #~ msgid "%s copy" #~ msgstr "%s-kopia" #~ msgid "" #~ "Trying legacy loader on\n" #~ "file '%s'\n" #~ "with unknown extension." #~ msgstr "" #~ "Försöker med inläsare av förÃ¥ldrat\n" #~ "format pÃ¥ filen \"%s\"\n" #~ "med okänd ändelse." #~ msgid "" #~ "Warning: Failed to load data:\n" #~ "%s" #~ msgstr "" #~ "Varning: Misslyckades med att läsa in data:\n" #~ "%s" #~ msgid "No patterns available for this operation." #~ msgstr "Inga mönster tillgängliga för denna Ã¥tgärd." #~ msgid "Transformation" #~ msgstr "Transformation" #~ msgid "Pasted Layer" #~ msgstr "Inklistrat lager" #~ msgid "Empty variable name in environment file %s" #~ msgstr "Tomt variabelnamn i miljöfilen %s" #~ msgid "Illegal variable name in environment file %s: %s" #~ msgstr "OtillÃ¥tet variabelnamn i miljöfilen %s: %s" #~ msgid "Fatal Parse Error: '%s' is not a GIMP Gradient file" #~ msgstr "Ödesdigert tolkningsfel: \"%s\" är inte en GIMP-färgskalefil" #~ msgid "Invalid UTF-8 string in gradient file '%s'." #~ msgstr "Ogiltig UTF-8-sträng i färgskalefilen \"%s\"." #~ msgid "" #~ "Fatal parsing error:\n" #~ "Gradient file '%s' is corrupt." #~ msgstr "" #~ "Ödesdigert tolkningsfel:\n" #~ "Färgskalefilen \"%s\" är trasig." #~ msgid "Corrupt segment %d in gradient file '%s'." #~ msgstr "Trasigt segment %d i färgskalefilen \"%s\"." #~ msgid "" #~ "Unable to cut or copy because the\n" #~ "selected region is empty." #~ msgstr "" #~ "Kunde inte kopiera eller klippa ut\n" #~ "eftersom den markerade regionen är tom." #~ msgid "" #~ "Cannot float selection because the\n" #~ "selected region is empty." #~ msgstr "" #~ "Kan inte göra markeringen flytande\n" #~ "eftersom den markerade regionen är tom." #~ msgid "Floating Selection" #~ msgstr "Flytande markering" #~ msgid "" #~ "The active layer has no alpha channel\n" #~ "to convert to a selection." #~ msgstr "" #~ "Det aktiva lagret har ingen alfakanal\n" #~ "att konvertera till markering." #~ msgid "" #~ "The active layer has no mask\n" #~ "to convert to a selection." #~ msgstr "" #~ "Det aktiva lagret har ingen mask\n" #~ "att konvertera till markering." #~ msgid "No selection to stroke." #~ msgstr "Ingen markering att stryka." #~ msgid "Paint operation failed." #~ msgstr "MÃ¥lningsÃ¥tgärden misslyckades." #~ msgid "" #~ "Not enough visible layers for a merge.\n" #~ "There must be at least two." #~ msgstr "" #~ "Det finns inte tillräckligt mÃ¥nga synliga\n" #~ "lager för att sammanfoga.\n" #~ "Det mÃ¥ste vara minst tvÃ¥." #~ msgid "There are not enough visible layers for a merge down." #~ msgstr "" #~ "Det finns inte tillräckligt mÃ¥nga synliga lager för att sammanfoga nerÃ¥t." #~ msgid "%d Bytes" #~ msgstr "%d byte" #~ msgid "%.2f KB" #~ msgstr "%.2f kB" #~ msgid "%.1f KB" #~ msgstr "%.1f kB" #~ msgid "%d KB" #~ msgstr "%d kB" #~ msgid "%.2f MB" #~ msgstr "%.2f MB" #~ msgid "%.1f MB" #~ msgstr "%.1f MB" #~ msgid "Text Layer" #~ msgstr "Textlager" #~ msgid "Layer cannot be raised higher." #~ msgstr "Lagret kan inte höjas mer." #~ msgid "Layer cannot be lowered more." #~ msgstr "Lagret kan inte sänkas mer." #~ msgid "Layer is already on top." #~ msgstr "Lagret är redan överst." #~ msgid "Cannot raise a layer without alpha." #~ msgstr "Kan inte höja lager utan alfakanal." #~ msgid "Layer is already on the bottom." #~ msgstr "Lagret är redan nederst." #~ msgid "" #~ "Layer \"%s\" has no alpha.\n" #~ "Layer was placed above it." #~ msgstr "" #~ "Lagret \"%s\" har ingen alfakanal.\n" #~ "Lagret placerades ovanför det." #~ msgid "Channel cannot be raised higher." #~ msgstr "Kanalen kan inte höjas mer." #~ msgid "Channel cannot be lowered more." #~ msgstr "Kanalen kan inte sänkas mer." #~ msgid "Path cannot be raised higher." #~ msgstr "Slingan kan inte höjas mer." #~ msgid "Path cannot be lowered more." #~ msgstr "Slingan kan inte sänkas mer." #~ msgid "Failed to write thumbnail for '%s' as '%s': %s" #~ msgstr "Misslyckades med att skriva miniatyrbild för \"%s\" som \"%s\": %s" #~ msgid "Failed to set permissions of thumbnail '%s': %s" #~ msgstr "Misslyckades med att ställa in miniatyrbild \"%s\": %s" #~ msgid "Remote image" #~ msgstr "Fjärrbild" #~ msgid "Failed to open" #~ msgstr "Misslyckades med att öppna" #~ msgid "No preview available" #~ msgstr "Ingen förhandsvisning tillgänglig" #~ msgid "Loading preview ..." #~ msgstr "Läser in förhandsvisning..." #~ msgid "Preview is out of date" #~ msgstr "Förhandsvisningen är för gammal" #~ msgid "Cannot create preview" #~ msgstr "Kan inte skapa förhandsvisning" #~ msgid "%d x %d pixels" #~ msgstr "%d × %d bildpunkter" #~ msgid "1 Layer" #~ msgstr "1 lager" #~ msgid "%d Layers" #~ msgstr "%d lager" #~ msgid "Failed to open thumbnail file '%s': %s" #~ msgstr "Misslyckades med att öppna miniatyrbildsfilen \"%s\": %s" #~ msgid "Failed to create thumbnail folder '%s'." #~ msgstr "Misslyckades med att skapa miniatyrbildsmappen \"%s\"." #~ msgid "parasite attached to item" #~ msgstr "parasit kopplad till objekt" #~ msgid "parasite detached from item" #~ msgstr "parasit frÃ¥nkopplad frÃ¥n objekt" #~ msgid "" #~ "Cannot add layer mask to layer\n" #~ "which is not part of an image." #~ msgstr "" #~ "Kan inte lägga till lagermask till\n" #~ "ett lager som inte tillhör en bild." #~ msgid "" #~ "Unable to add a layer mask since\n" #~ "the layer already has one." #~ msgstr "" #~ "Kan inte lägga till lagermask eftersom\n" #~ "lagret redan har en." #~ msgid "" #~ "Unable to add a layer mask to a\n" #~ "layer in an indexed image." #~ msgstr "" #~ "Kan inte lägga till en lagermask till\n" #~ "ett lager i en indexerad bild." #~ msgid "" #~ "Cannot add layer mask to a layer\n" #~ "with no alpha channel." #~ msgstr "" #~ "Kan inte lägga till lagermask till ett\n" #~ "lager utan alfakanal." #~ msgid "" #~ "Cannot add layer mask of different\n" #~ "dimensions than specified layer." #~ msgstr "" #~ "Kan inte lägga till lagermask som har\n" #~ "andra dimensioner än det specifierade\n" #~ "lagret." #~ msgid "%s mask" #~ msgstr "%s-mask" #~ msgid "" #~ "Cannot anchor this layer because\n" #~ "it is not a floating selection." #~ msgstr "" #~ "Kan inte ankra det här lagret, för\n" #~ "det är inte en flytande markering." #~ msgid "" #~ "Cannot create a new layer from the floating\n" #~ "selection because it belongs to a\n" #~ "layer mask or channel." #~ msgstr "" #~ "Kan inte skapa nytt lager frÃ¥n den flytande\n" #~ "markeringen dÃ¥ den tillhör en lagermask\n" #~ "eller kanal." #~ msgid "" #~ "Loading palette '%s':\n" #~ "Corrupt palette: missing magic header\n" #~ "Does this file need converting from DOS?" #~ msgstr "" #~ "Läser in paletten \"%s\":\n" #~ "Trasig palett: magiskt huvud saknas\n" #~ "Behöver denna fil konverteras frÃ¥n DOS?" #~ msgid "" #~ "Loading palette '%s':\n" #~ "Corrupt palette: missing magic header" #~ msgstr "" #~ "Läser in paletten \"%s\":\n" #~ "Trasig palett: magiskt huvud saknas" #~ msgid "" #~ "Loading palette '%s':\n" #~ "Read error in line %d." #~ msgstr "" #~ "Läser in paletten \"%s\":\n" #~ "Läsfel pÃ¥ rad %d." #~ msgid "Invalid UTF-8 string in palette file '%s'" #~ msgstr "Ogiltig UTF-8-sträng i palettfilen \"%s\"" #~ msgid "" #~ "Loading palette '%s':\n" #~ "Invalid number of columns in line %d." #~ msgstr "" #~ "Läser in paletten \"%s\":\n" #~ "Ogiltigt antal kolumner pÃ¥ rad %d." #~ msgid "" #~ "Loading palette '%s':\n" #~ "Missing RED component in line %d." #~ msgstr "" #~ "Läser in paletten \"%s\":\n" #~ "Saknar RÖD komponent pÃ¥ rad %d." #~ msgid "" #~ "Loading palette '%s':\n" #~ "Missing GREEN component in line %d." #~ msgstr "" #~ "Läser in paletten \"%s\":\n" #~ "Saknar GRÖN komponent pÃ¥ rad %d." #~ msgid "" #~ "Loading palette '%s':\n" #~ "Missing BLUE component in line %d." #~ msgstr "" #~ "Läser in paletten \"%s\":\n" #~ "Saknar BLÃ… komponent pÃ¥ rad %d." #~ msgid "" #~ "Loading palette '%s':\n" #~ "RGB value out of range in line %d." #~ msgstr "" #~ "Läser in paletten \"%s\":\n" #~ "RGB-värdet utanför giltigt omrÃ¥de pÃ¥ rad %d." #~ msgid "Black" #~ msgstr "Svart" #~ msgid "Unknown pattern format version %d in '%s'." #~ msgstr "Okänt mönsterformatsversion %d i \"%s\"." #~ msgid "" #~ "Unsupported pattern depth %d\n" #~ "in file '%s'.\n" #~ "GIMP Patterns must be GRAY or RGB.\n" #~ msgstr "" #~ "Mönsterdjupet %d i filen \"%s\"\n" #~ "stöds inte.\n" #~ "GIMP-mönster mÃ¥ste vara GRÃ… eller RGB.\n" #~ msgid "Error in GIMP pattern file '%s'." #~ msgstr "Fel i GIMP-mönsterfilen \"%s\"." #~ msgid "Invalid UTF-8 string in pattern file '%s'." #~ msgstr "Ogiltig UTF_8-sträng i mönsterfilen \"%s\"." #~ msgid "Fatal parsing error: Pattern file '%s' appears truncated." #~ msgstr "Ödesdigert tolkningsfel: Mönsterfilen \"%s\" verkar vara trunkerad." #~ msgid "pixel" #~ msgstr "bildpunkt" #~ msgid "pixels" #~ msgstr "bildpunkter" #~ msgid "inch" #~ msgstr "tum" #~ msgid "inches" #~ msgstr "tum" #~ msgid "millimeter" #~ msgstr "millimeter" #~ msgid "millimeters" #~ msgstr "millimeter" #~ msgid "points" #~ msgstr "punkter" #~ msgid "pica" #~ msgstr "pica" #~ msgid "picas" #~ msgstr "picas" #~ msgid "percent" #~ msgstr "procent:" #~ msgid "Tool Icon" #~ msgstr "Verktygsikon" #~ msgid "Tool Icon with Crosshair" #~ msgstr "Verktygsikon med korshÃ¥r" #~ msgid "Crosshair only" #~ msgstr "Endast korshÃ¥r" #~ msgid "From Theme" #~ msgstr "FrÃ¥n tema" #~ msgid "Light Check Color" #~ msgstr "Ljus rutfärg" #~ msgid "Dark Check Color" #~ msgstr "Mörk rutfärg" #~ msgid "Custom Color" #~ msgstr "Egen färg" #~ msgid "Set Canvas Padding Color" #~ msgstr "Ställ in färg pÃ¥ canvasutfyllnad" #~ msgid "Set canvas padding color" #~ msgstr "Ställ in färg pÃ¥ canvasutfyllnad" #~ msgid "/From Theme" #~ msgstr "/FrÃ¥n tema" #~ msgid "/Light Check Color" #~ msgstr "/Ljus rutfärg" #~ msgid "/Dark Check Color" #~ msgstr "/Mörk rutfärg" #~ msgid "/Select Custom Color..." #~ msgstr "/Välj egen färg..." #~ msgid "/As in Preferences" #~ msgstr "/Som i inställningarna" #~ msgid "Toggle QuickMask" #~ msgstr "Visa snabbmask" #~ msgid "Close %s?" #~ msgstr "Stänga %s?" #~ msgid "" #~ "Changes were made to %s.\n" #~ "Close anyway?" #~ msgstr "" #~ "%s har ändrats.\n" #~ "Stäng ändÃ¥?" #~ msgid "Color Display Filters" #~ msgstr "Färgvisningsfilter" #~ msgid "Available Filters" #~ msgstr "Tillgängliga filter" #~ msgid "Add the selected filter to the list of active filters." #~ msgstr "Lägg till det markerade filtret till listan med aktiva filter." #~ msgid "Remove the selected filter from the list of active filters." #~ msgstr "Ta bort det markerade filtret frÃ¥n listan med aktiva filter." #~ msgid "Move the selected filter up" #~ msgstr "Flytta det markerade filtret uppÃ¥t" #~ msgid "Move the selected filter down" #~ msgstr "Flytta det markerade filtret ned" #~ msgid "Active Filters" #~ msgstr "Aktiva filter" #~ msgid "Reset the selected filter to default values" #~ msgstr "Ã…terställ det markerade filtret till standardalternativ" #~ msgid "Configure Selected Filter: %s" #~ msgstr "Konfigurera det markerade filtret: %s" #~ msgid "No Filter Selected" #~ msgstr "Inget filter markerat" #~ msgid "Configure Selected Filter" #~ msgstr "Konfigurera markerat filter" #~ msgid "Layer Select" #~ msgstr "Lagerval" #~ msgid "RGB-empty" #~ msgstr "RGB-tom" #~ msgid "grayscale-empty" #~ msgstr "grÃ¥skala-tom" #~ msgid "grayscale" #~ msgstr "grÃ¥skala" #~ msgid "indexed-empty" #~ msgstr "indexerad-tom" #~ msgid "indexed" #~ msgstr "indexerad" #~ msgid "Zoom out" #~ msgstr "Zooma ut" #~ msgid "Zoom in" #~ msgstr "Zooma in" #~ msgid "Zoom to fit window" #~ msgstr "Zooma sÃ¥ att det passar fönstret" #~ msgid "Shrink Wrap" #~ msgstr "Visa optimalt fönster" #~ msgid "Progress" #~ msgstr "Förlopp" #~ msgid "Please wait..." #~ msgstr "Var god vänta..." #~ msgid "Cancel" #~ msgstr "Avbryt" #~ msgid "Unknown file type" #~ msgstr "Okänd filtyp" #~ msgid "Not a regular file" #~ msgstr "Inte en vanlig fil" #~ msgid "Plug-In returned SUCCESS but did not return an image" #~ msgstr "Insticksmodulen returnerade " #~ msgid "Plug-In could not open image" #~ msgstr "Insticksmodulen kunde inte öppna bild" #~ msgid "" #~ "Save failed.\n" #~ "%s: Unknown file type." #~ msgstr "" #~ "Sparande misslyckades.\n" #~ "%s: Okänd bildtyp." #~ msgid "" #~ "Save failed.\n" #~ "%s is not a regular file." #~ msgstr "" #~ "Sparande misslyckades.\n" #~ "%s är inte en vanlig fil." #~ msgid "" #~ "Save failed.\n" #~ "%s: %s." #~ msgstr "" #~ "Sparande misslyckades.\n" #~ "%s: %s." #~ msgid "Invalid character sequence in URI" #~ msgstr "Ogiltig teckensekvens i URI" #~ msgid "Version %s brought to you by" #~ msgstr "Version %s presenteras av" #~ msgid "Visit http://www.gimp.org/ for more information" #~ msgstr "Besök http://www.gimp.org/ för mer information" #~ msgid "Opacity:" #~ msgstr "Opacitet:" #~ msgid "Mode:" #~ msgstr "Läge:" #~ msgid "" #~ "Unable to run brush callback.\n" #~ "The corresponding plug-in may have crashed." #~ msgstr "" #~ "Kan inte köra penselÃ¥teranrop.\n" #~ "Den motsvarande insticksmodulen kan ha kraschat." #~ msgid "/New Brush" #~ msgstr "/Ny pensel" #~ msgid "/Duplicate Brush" #~ msgstr "/Duplicera pensel" #~ msgid "/Edit Brush..." #~ msgstr "/Redigera pensel..." #~ msgid "/Delete Brush..." #~ msgstr "/Ta bort pensel..." #~ msgid "/Refresh Brushes" #~ msgstr "/Uppdatera penslar" #~ msgid "/Paste Buffer" #~ msgstr "/Klistra in buffert" #~ msgid "/Paste Buffer Into" #~ msgstr "/Klistra in buffert i" #~ msgid "/Paste Buffer as New" #~ msgstr "/Klistra in buffert som ny" #~ msgid "/Delete Buffer" #~ msgstr "/Ta bort buffert" #~ msgid "Empty Channel Copy" #~ msgstr "Tom kanalkopia" #~ msgid "New Channel Color" #~ msgstr "Ny kanalfärg" #~ msgid "New Channel Options" #~ msgstr "Alternativ för nya kanaler" #~ msgid "Channel Name:" #~ msgstr "Kanalnamn:" #~ msgid "Fill Opacity:" #~ msgstr "Fyllnadsopacitet:" #~ msgid "Edit Channel Color" #~ msgstr "Redigera kanalfärg" #~ msgid "Channel Attributes" #~ msgstr "Kanalattribut" #~ msgid "Edit Channel Attributes" #~ msgstr "Redigera kanalattribut" #~ msgid "/New Channel..." #~ msgstr "/Ny kanal..." #~ msgid "/Raise Channel" #~ msgstr "/Höj kanal" #~ msgid "/Lower Channel" #~ msgstr "/Sänk kanal" #~ msgid "/Duplicate Channel" #~ msgstr "/Duplicera kanal" #~ msgid "/Channel to Selection" #~ msgstr "/Kanal till markering" #~ msgid "/Add to Selection" #~ msgstr "/Lägg till markering" #~ msgid "/Subtract from Selection" #~ msgstr "/Ta bort frÃ¥n markering" #~ msgid "/Intersect with Selection" #~ msgstr "/Snitt med markering" #~ msgid "/Delete Channel" #~ msgstr "/Ta bort kanal" #~ msgid "/Edit Channel Attributes..." #~ msgstr "/Redigera kanalattribut..." #~ msgid "Current:" #~ msgstr "Aktuell:" #~ msgid "Old:" #~ msgstr "Gammal:" #~ msgid "Revert to old color" #~ msgstr "Ã…tergÃ¥ till gammal färg" #~ msgid "Add the current color to the color history" #~ msgstr "Lägg till aktuell färg till färghistoriken" #~ msgid "Edit Indexed Color" #~ msgstr "Redigera indexerad färg" #~ msgid "Edit Indexed Image Palette Color" #~ msgstr "Redigera palettfärg för indexerad bild" #~ msgid "/Add Color" #~ msgstr "/Lägg till färg" #~ msgid "/Edit Color..." #~ msgstr "/Redigera färg..." #~ msgid "Indexed Color Conversion" #~ msgstr "Konvertering av indexerad färg" #~ msgid "Convert Image to Indexed Colors" #~ msgstr "Konvertera bild indexerad färg" #~ msgid "General Palette Options" #~ msgstr "Standardpalettalternativ" #~ msgid "Generate Optimum Palette:" #~ msgstr "Generera optimal palett:" #~ msgid "Max. Number of Colors:" #~ msgstr "Maximalt antal färger:" #~ msgid "Use WWW-Optimized Palette" #~ msgstr "Använd WWW-optimerad palett" #~ msgid "Use Black and White (1-Bit) Palette" #~ msgstr "Använd svartvit (1-bit) palett" #~ msgid "Remove Unused Colors from Final Palette" #~ msgstr "Ta bort oanvända färger frÃ¥n den slutgiltiga paletten" #~ msgid "Use Custom Palette:" #~ msgstr "Använd egen palett:" #~ msgid "Dithering Options" #~ msgstr "Ditheringalternativ" #~ msgid "Enable Dithering of Transparency" #~ msgstr "Använd dithering av transparens" #~ msgid "[ Warning ]" #~ msgstr "[ Varning ]" #~ msgid "" #~ "You are attempting to convert an image with an alpha channel to indexed " #~ "colors.\n" #~ "Do not generate a palette of more than 255 colors if you intend to create " #~ "a transparent or animated GIF file." #~ msgstr "" #~ "Du försöker konvertera en bild med alfakanal till indexerade färger.\n" #~ "Du bör inte generera en palett pÃ¥ mer än 255 färger om du vill skapa en " #~ "transparent eller animerad GIF-fil." #~ msgid "Select Custom Palette" #~ msgstr "Välj egen palett" #~ msgid "Device Status" #~ msgstr "Enhetsstatus" #~ msgid "Foreground: %d, %d, %d" #~ msgstr "Förgrund: %d, %d, %d" #~ msgid "Background: %d, %d, %d" #~ msgstr "Bakgrund: %d, %d, %d" #~ msgid "Tool Options" #~ msgstr "Verktygsalternativ" #~ msgid "Error Console" #~ msgstr "Felkonsoll" #~ msgid "Errors" #~ msgstr "Fel" #~ msgid "Image List" #~ msgstr "Bildlista" #~ msgid "Images" #~ msgstr "Bilder" #~ msgid "Brush List" #~ msgstr "Pensellista" #~ msgid "Pattern List" #~ msgstr "Mönsterlista" #~ msgid "Gradient List" #~ msgstr "Färgskalelista" #~ msgid "Palette List" #~ msgstr "Palettlista" #~ msgid "Tool List" #~ msgstr "Verktygslista" #~ msgid "Tools" #~ msgstr "Verktyg" #~ msgid "Buffer List" #~ msgstr "Buffertlista" #~ msgid "Buffers" #~ msgstr "Buffertar" #~ msgid "Image Grid" #~ msgstr "Bildrutnät" #~ msgid "Brush Grid" #~ msgstr "Penselrutnät" #~ msgid "Pattern Grid" #~ msgstr "Mönsterrutnät" #~ msgid "Gradient Grid" #~ msgstr "Färgskalerutnät" #~ msgid "Palette Grid" #~ msgstr "Palettrutnät" #~ msgid "Tool Grid" #~ msgstr "Verktygsrutnät" #~ msgid "Buffer Grid" #~ msgstr "Buffertrutnät" #~ msgid "Layer List" #~ msgstr "Lagerlista" #~ msgid "Layers" #~ msgstr "Lager" #~ msgid "Channel List" #~ msgstr "Kanallista" #~ msgid "Channels" #~ msgstr "Kanaler" #~ msgid "Paths List" #~ msgstr "Slinglista" #~ msgid "Paths" #~ msgstr "Slingor" #~ msgid "Old Path List" #~ msgstr "Gammal slinglista" #~ msgid "Old Paths" #~ msgstr "Gamla slingor" #~ msgid "Indexed Palette" #~ msgstr "Indexerad palett" #~ msgid "Colormap" #~ msgstr "Färgkarta" #~ msgid "Selection Editor" #~ msgstr "Markeringsredigerare" #~ msgid "Selection" #~ msgstr "Markering" #~ msgid "Color Editor" #~ msgstr "Färgredigerare" #~ msgid "Color" #~ msgstr "Färg" #~ msgid "Document History" #~ msgstr "Dokumenthistorik" #~ msgid "History" #~ msgstr "Historik" #~ msgid "Brush Editor" #~ msgstr "Penselredigerare" #~ msgid "Gradient Editor" #~ msgstr "Färgskaleredigerare" #~ msgid "Palette Editor" #~ msgstr "Palettredigerare" #~ msgid "Display Navigation" #~ msgstr "Displaynavigation" #~ msgid "Navigation" #~ msgstr "Navigation" #~ msgid "/Select Tab" #~ msgstr "/Välj flik" #~ msgid "/Add Tab/Tool Options..." #~ msgstr "/Lägg till flik/Verktygsalternativ..." #~ msgid "/Add Tab/Layers..." #~ msgstr "/Lägg till flik/Lager..." #~ msgid "/Add Tab/Channels..." #~ msgstr "/Lägg till flik/Kanaler..." #~ msgid "/Add Tab/Paths..." #~ msgstr "/Lägg till flik/Slingor..." #~ msgid "/Add Tab/Indexed Palette..." #~ msgstr "/Lägg till flik/Indexerad palett..." #~ msgid "/Add Tab/Selection Editor..." #~ msgstr "/Lägg till flik/Markeringsredigerare..." #~ msgid "/Add Tab/Navigation..." #~ msgstr "/Lägg till flik/Navigering..." #~ msgid "/Add Tab/Colors..." #~ msgstr "/Lägg till flik/Färger..." #~ msgid "/Add Tab/Brushes..." #~ msgstr "/Lägg till flik/Penslar..." #~ msgid "/Add Tab/Patterns..." #~ msgstr "/Lägg till flik/Mönster..." #~ msgid "/Add Tab/Gradients..." #~ msgstr "/Lägg till flik/Färgskalor..." #~ msgid "/Add Tab/Palettes..." #~ msgstr "/Lägg till flik/Paletter..." #~ msgid "/Add Tab/Buffers..." #~ msgstr "/Lägg till flik/Buffertar..." #~ msgid "/Add Tab/Images..." #~ msgstr "/Lägg till flik/Bilder..." #~ msgid "/Add Tab/Document History..." #~ msgstr "/Lägg till flik/Dokumenthistorik..." #~ msgid "/Add Tab/Error Console..." #~ msgstr "/Lägg till flik/Felkonsoll..." #~ msgid "/Add Tab/Tools..." #~ msgstr "/Lägg till flik/Verktyg..." #~ msgid "/Add Tab/Old Paths..." #~ msgstr "/Lägg till flik/Gamla slingor..." #~ msgid "/Remove Tab" #~ msgstr "/Ta bort flik" #~ msgid "/Preview Size/Tiny" #~ msgstr "/Förhandsvisningsstorlek/Minimal" #~ msgid "/Preview Size/Extra Small" #~ msgstr "/Förhandsvisningsstorlek/Extra liten" #~ msgid "/Preview Size/Small" #~ msgstr "/Förhandsvisningsstorlek/Liten" #~ msgid "/Preview Size/Medium" #~ msgstr "/Förhandsvisningsstorlek/Mellan" #~ msgid "/Preview Size/Large" #~ msgstr "/Förhandsvisningsstorlek/Stor" #~ msgid "/Preview Size/Extra Large" #~ msgstr "/Förhandsvisningsstorlek/Extra stor" #~ msgid "/Preview Size/Huge" #~ msgstr "/Förhandsvisningsstorlek/Mycket stor" #~ msgid "/Preview Size/Enormous" #~ msgstr "/Förhandsvisningsstorlek/Enorm" #~ msgid "/Preview Size/Gigantic" #~ msgstr "/Förhandsvisningsstorlek/Gigantisk" #~ msgid "/View as List" #~ msgstr "/Visa som lista" #~ msgid "/View as Grid" #~ msgstr "/Visa som rutnät" #~ msgid "/Show Image Menu" #~ msgstr "/Visa bildmeny" #~ msgid "/Auto Follow Active Image" #~ msgstr "/Följ aktiv bild automatiskt" #~ msgid "/Open Image" #~ msgstr "/Öppna bild" #~ msgid "/Raise or Open Image" #~ msgstr "/Höj eller öppna bild" #~ msgid "/File Open Dialog..." #~ msgstr "/FIlöppnandedialog..." #~ msgid "/Remove Entry" #~ msgstr "/Ta bort post" #~ msgid "/Recreate Preview" #~ msgstr "/Ã…terskapa förhandsvisning" #~ msgid "/Reload all Previews" #~ msgstr "/Läs om alla förhandsvisningar" #~ msgid "/Remove Dangling Entries" #~ msgstr "/Ta bort hängande poster" #~ msgid "Desaturate operates only on RGB color drawables." #~ msgstr "Avfärga fungerar endast pÃ¥ RGB-bilder." #~ msgid "Invert does not operate on indexed drawables." #~ msgstr "Kan inte använda invert pÃ¥ indexerade bilder." #~ msgid "Equalize does not operate on indexed drawables." #~ msgstr "Jämna ut fungerar inte pÃ¥ indexerade bilder." #~ msgid "Cut Named" #~ msgstr "Klipp ut namngiven" #~ msgid "Enter a name for this buffer" #~ msgstr "Ange namn för denna buffert" #~ msgid "Copy Named" #~ msgstr "Kopiera namngiven" #~ msgid "(Unnamed Buffer)" #~ msgstr "(Namnlös buffert)" #~ msgid "Clear Console" #~ msgstr "Töm konsoll" #~ msgid "Write all errors to file..." #~ msgstr "Skriv alla fel till fil..." #~ msgid "Write selection to file..." #~ msgstr "Spara markering till fil..." #~ msgid "Cannot save. Nothing is selected." #~ msgstr "Kan inte spara. Inget är markerat." #~ msgid "Save error log to file..." #~ msgstr "Spara fellogg till fil..." #~ msgid "" #~ "Error opening file '%s':\n" #~ "%s" #~ msgstr "" #~ "Fel vid öppnande av filen \"%s\":\n" #~ "%s" #~ msgid "Saving '%s' failed." #~ msgstr "Sparande av filen \"%s\" misslyckades." #~ msgid "" #~ "Revert failed.\n" #~ "No file name associated with this image." #~ msgstr "" #~ "Ã…tergÃ¥ng misslyckades.\n" #~ "Inget filnamn är associerat med den här bilden." #~ msgid "" #~ "Revert '%s' to\n" #~ "'%s'?\n" #~ "\n" #~ "(You will lose all your changes,\n" #~ "including all undo information)" #~ msgstr "" #~ "Ã…tergÃ¥ frÃ¥n \"%s\" till\n" #~ "\"%s\"?\n" #~ "\n" #~ "(Du kommer att förlora alla dina\n" #~ "ändringar, inklusive all Ã¥ngrainformation)" #~ msgid "Revert Image" #~ msgstr "Ã…tergÃ¥ till gammal bild" #~ msgid "" #~ "Reverting to '%s' failed:\n" #~ "%s" #~ msgstr "" #~ "Ã…tergÃ¥ng till \"%s\" misslyckades:\n" #~ "%s" #~ msgid "Determine File Type:" #~ msgstr "Bestäm filtyp:" #~ msgid "New Image" #~ msgstr "Ny bild" #~ msgid "Resolution X:" #~ msgstr "Upplösning X:" #~ msgid "Y:" #~ msgstr "Y:" #~ msgid "pixels/%a" #~ msgstr "bildpunkter/%a" #~ msgid "Fill Type" #~ msgstr "Fyllnadstyp" #~ msgid "" #~ "You are trying to create an image with\n" #~ "an initial size of %s.\n" #~ "\n" #~ "Choose OK to create this image anyway.\n" #~ "Choose Cancel if you did not intend to\n" #~ "create such a large image.\n" #~ "\n" #~ "To prevent this dialog from appearing,\n" #~ "increase the \"Maximum Image Size\"\n" #~ "setting (currently %s) in the\n" #~ "Preferences dialog." #~ msgstr "" #~ "Du försöker skapa en bild som har en\n" #~ "initialstorlek pÃ¥ %s.\n" #~ "\n" #~ "Välj OK för att skapa bilden ändÃ¥.\n" #~ "Välj Avbryt om det inte var meningen att\n" #~ "skapa en sÃ¥ stor bild.\n" #~ "\n" #~ "För att förhindra detta meddelande\n" #~ "kan du öka \"Maximal bildstorlek\"-\n" #~ "inställningen (för tillfället %s) i\n" #~ "inställningsdialogen." #~ msgid "Confirm Image Size" #~ msgstr "Bekräfta bildstorlek" #~ msgid "" #~ "Click to update preview\n" #~ "%s Click to force update even if preview is up-to-date" #~ msgstr "" #~ "Klicka för att uppdatera förhandsvisningen\n" #~ "%s Klicka för att tvinga fram en uppdatering även om förhandsvisningen " #~ "är aktuell" #~ msgid "_Preview" #~ msgstr "_Förhandsgranskning" #~ msgid "No Selection" #~ msgstr "Ingen markering" #~ msgid "Thumbnail %d of %d" #~ msgstr "Miniatyrbild %d av %d" #~ msgid "/Automatic" #~ msgstr "/Automatiskt" #~ msgid "Save Image" #~ msgstr "Spara bild" #~ msgid "Save a Copy of the Image" #~ msgstr "Spara en kopia av bilden" #~ msgid "File Exists!" #~ msgstr "Filen existerar!" #~ msgid "/By Extension" #~ msgstr "/Via ändelse" #~ msgid "Left Endpoint Color" #~ msgstr "Vänstra ändpunktens färg" #~ msgid "Gradient Segment's Left Endpoint Color" #~ msgstr "Färgskalesegmentets vänstra ändpunktsfärg" #~ msgid "Right Endpoint Color" #~ msgstr "Högra ändpunktens färg" #~ msgid "Gradient Segment's Right Endpoint Color" #~ msgstr "Färgskalesegmentets högra ändpunktsfärg" #~ msgid "Replicate Segment" #~ msgstr "Replikera segment" #~ msgid "Replicate Gradient Segment" #~ msgstr "Replikera färgskalesegment" #~ msgid "Replicate Selection" #~ msgstr "Replikera markering" #~ msgid "Replicate Gradient Selection" #~ msgstr "Replikera markering av färgskala" #~ msgid "Replicate" #~ msgstr "Replikera" #~ msgid "" #~ "Select the number of times\n" #~ "to replicate the selected segment." #~ msgstr "" #~ "Välj antalet gÃ¥nger det\n" #~ "markerade segmentet ska replikeras." #~ msgid "" #~ "Select the number of times\n" #~ "to replicate the selection." #~ msgstr "" #~ "Välj antalet gÃ¥nger som\n" #~ "markeringen ska replikeras." #~ msgid "Split Segment Uniformly" #~ msgstr "Dela segment uniformt" #~ msgid "Split Gradient Segment Uniformly" #~ msgstr "Dela färgskalesegment uniformt" #~ msgid "Split Segments Uniformly" #~ msgstr "Dela segmenten uniformt" #~ msgid "Split Gradient Segments Uniformly" #~ msgstr "Dela färgskalesegmenten uniformt" #~ msgid "Split" #~ msgstr "Dela" #~ msgid "" #~ "Select the number of uniform parts\n" #~ "in which to split the selected segment." #~ msgstr "" #~ "Välj antalet uniforma delar som du\n" #~ "vill dela det markerade segmentet i." #~ msgid "" #~ "Select the number of uniform parts\n" #~ "in which to split the segments in the selection." #~ msgstr "" #~ "Välj antalet uniforma delar som du\n" #~ "vill dela segmenten i markeringen i." #~ msgid "/Left Endpoint's Color..." #~ msgstr "/Vänstra ändpunktens färg..." #~ msgid "/Load Left Color From/Left Neighbor's Right Endpoint" #~ msgstr "/Läs in vänster färg frÃ¥n/Vänstra grannens högra ändpunkt" #~ msgid "/Load Left Color From/Right Endpoint" #~ msgstr "/Läs in vänster färg frÃ¥n/Höger ändpunkt" #~ msgid "/Load Left Color From/FG Color" #~ msgstr "/Läs in vänster färg frÃ¥n/Förgrundsfärg" #~ msgid "/Load Left Color From/BG Color" #~ msgstr "/Läs in vänster färg frÃ¥n/Bakgrundsfärg" #~ msgid "/Save Left Color To" #~ msgstr "/Spara vänster färg till" #~ msgid "/Right Endpoint's Color..." #~ msgstr "/Högra ändpunktens färg..." #~ msgid "/Load Right Color From/Right Neighbor's Left Endpoint" #~ msgstr "/Läs in höger färg frÃ¥n/Högra grannens vänstra ändpunkt" #~ msgid "/Load Right Color From/Left Endpoint" #~ msgstr "/Läs in höger färg frÃ¥n/Vänster ändpunkt" #~ msgid "/Load Right Color From/FG Color" #~ msgstr "/Läs in höger färg frÃ¥n/Förgrundsfärg" #~ msgid "/Load Right Color From/BG Color" #~ msgstr "/Läs in höger färg frÃ¥n/Bakgrundsfärg" #~ msgid "/Save Right Color To" #~ msgstr "/Spara höger färg till" #~ msgid "/blendingfunction/Linear" #~ msgstr "/färgtoningsfunktion/Linjär" #~ msgid "/blendingfunction/Curved" #~ msgstr "/färgtoningsfunktion/Kurvad" #~ msgid "/blendingfunction/Sinusodial" #~ msgstr "/färgtoningsfunktion/Sinusodial" #~ msgid "/blendingfunction/Spherical (increasing)" #~ msgstr "/färgoningsfunktion/Sfärisk (ökande)" #~ msgid "/blendingfunction/Spherical (decreasing)" #~ msgstr "/färgtoningsfunktion/Sfärisk (minskande)" #~ msgid "/blendingfunction/(Varies)" #~ msgstr "/färgtoningsfunktion/(Varierande)" #~ msgid "/coloringtype/RGB" #~ msgstr "/färgningstyp/RGB" #~ msgid "/coloringtype/HSV (counter-clockwise hue)" #~ msgstr "/färgningstyp/HSV (moturs nyans)" #~ msgid "/coloringtype/HSV (clockwise hue)" #~ msgstr "/färgningstyp/HSV (medurs nyans)" #~ msgid "/coloringtype/(Varies)" #~ msgstr "/färgningstyp/(Varierande)" #~ msgid "/Blend Endpoints' Colors" #~ msgstr "/Tona ändpunkternas färger" #~ msgid "/Blend Endpoints' Opacity" #~ msgstr "/Tona ändpunkternas opacitet" #~ msgid "Blending Function for Segment" #~ msgstr "Färgtoningstyp för segment" #~ msgid "Coloring Type for Segment" #~ msgstr "Färgningstyp för segment" #~ msgid "Flip Segment" #~ msgstr "Vänd pÃ¥ segment" #~ msgid "Replicate Segment..." #~ msgstr "Replikera segment..." #~ msgid "Split Segment at Midpoint" #~ msgstr "Dela segment vid mittpunkt" #~ msgid "Split Segment Uniformly..." #~ msgstr "Dela segment uniformt..." #~ msgid "Delete Segment" #~ msgstr "Ta bort segment" #~ msgid "Re-center Segment's Midpoint" #~ msgstr "Centrera segmentets mittpunkt" #~ msgid "Re-distribute Handles in Segment" #~ msgstr "Ã…terfördela handtagen i segment" #~ msgid "Blending Function for Selection" #~ msgstr "Färgtoningsfunktion för markering" #~ msgid "Coloring Type for Selection" #~ msgstr "Färgningstyp för markering" #~ msgid "Flip Selection" #~ msgstr "Vänd markering" #~ msgid "Replicate Selection..." #~ msgstr "Replikera markering..." #~ msgid "Split Segments at Midpoints" #~ msgstr "Dela segment vid mittpunkter" #~ msgid "Split Segments Uniformly..." #~ msgstr "Dela segmenten uniformt..." #~ msgid "Delete Selection" #~ msgstr "Ta bort markering" #~ msgid "Re-center Midpoints in Selection" #~ msgstr "Centrera mittpunkter i markering" #~ msgid "Re-distribute Handles in Selection" #~ msgstr "Ã…terfördela handtagen i markering" #~ msgid "" #~ "Unable to run gradient callback.\n" #~ "The corresponding plug-in may have crashed." #~ msgstr "" #~ "Kan inte köra färgskaleÃ¥teranrop.\n" #~ "Den motsvarande insticksmodulen kan ha kraschat." #~ msgid "Save \"%s\" as POV-Ray" #~ msgstr "Spara \"%s\" som POV-Ray" #~ msgid "/New Gradient" #~ msgstr "/Ny färgskala" #~ msgid "/Duplicate Gradient" #~ msgstr "/Duplicera färgskala" #~ msgid "/Edit Gradient..." #~ msgstr "/Redigera färgskala..." #~ msgid "/Delete Gradient..." #~ msgstr "/Ta bort färgskala..." #~ msgid "/Refresh Gradients" #~ msgstr "/Uppdatera färgskalor" #~ msgid "/Save as POV-Ray..." #~ msgstr "/Spara som POV-Ray..." #~ msgid "Adding theme '%s' (%s)\n" #~ msgstr "Lägger till temat \"%s\" (%s)\n" #~ msgid "Quit The GIMP?" #~ msgstr "Avsluta GIMP?" #~ msgid "" #~ "Some files are unsaved.\n" #~ "\n" #~ "Really quit The GIMP?" #~ msgstr "" #~ "NÃ¥gra filer är osparade.\n" #~ "\n" #~ "Avsluta GIMP?" #~ msgid "Cannot crop because the current selection is empty." #~ msgstr "Kan inte beskära eftersom den aktuella markeringen är tom." #~ msgid "Layers Merge Options" #~ msgstr "Alternativ för lagersammanfogning" #~ msgid "Final, Merged Layer should be:" #~ msgstr "Det slutgiltiga, sammanfogade lagret ska vara:" #~ msgid "Final, Anchored Layer should be:" #~ msgstr "Det slutgiltiga, ankrade lagret ska vara:" #~ msgid "Expanded as necessary" #~ msgstr "Expanderad om sÃ¥ behövs" #~ msgid "Clipped to image" #~ msgstr "Klippt efter bilden" #~ msgid "Clipped to bottom layer" #~ msgstr "Klippt efter understa lagret" #~ msgid "Resize Error: Both width and height must be greater than zero." #~ msgstr "" #~ "Fel vid ändring av storlek: BÃ¥de bredd och höjd mÃ¥ste vara större än 0." #~ msgid "Layer Too Small" #~ msgstr "Lager för litet" #~ msgid "" #~ "The chosen image size will shrink\n" #~ "some layers completely away.\n" #~ "Is this what you want?" #~ msgstr "" #~ "Den valda bildstorleken kommer att\n" #~ "krympa bort nÃ¥gra lager helt.\n" #~ "Är detta vad du vill?" #~ msgid "Scaling..." #~ msgstr "Skalar..." #~ msgid "Scale Error: Both width and height must be greater than zero." #~ msgstr "" #~ "Fel vid omskalning av bild: BÃ¥de bredd och höjd mÃ¥ste vara större än 0." #~ msgid "/File/New..." #~ msgstr "/Arkiv/Ny..." #~ msgid "/File/Open..." #~ msgstr "/Arkiv/Öppna..." #~ msgid "/File/Open Recent/(None)" #~ msgstr "/Arkiv/Öppna senaste/(Ingen)" #~ msgid "/File/Save" #~ msgstr "/Arkiv/Spara" #~ msgid "/File/Save as..." #~ msgstr "/Arkiv/Spara som..." #~ msgid "/File/Save a Copy..." #~ msgstr "/Arkiv/Spara en kopia..." #~ msgid "/File/Revert..." #~ msgstr "/Arkiv/Ã…tergÃ¥..." #~ msgid "/File/Close" #~ msgstr "/Arkiv/Stäng" #~ msgid "/File/Quit" #~ msgstr "/Arkiv/Avsluta" #~ msgid "/Edit/Undo" #~ msgstr "/Redigera/Ã…ngra" #~ msgid "/Edit/Redo" #~ msgstr "/Redigera/Gör om" #~ msgid "/Edit/Cut" #~ msgstr "/Redigera/Klipp ut" #~ msgid "/Edit/Copy" #~ msgstr "/Redigera/Kopiera" #~ msgid "/Edit/Paste" #~ msgstr "/Redigera/Klistra in" #~ msgid "/Edit/Paste Into" #~ msgstr "/Redigera/Klistra in i" #~ msgid "/Edit/Paste as New" #~ msgstr "/Redigera/Klistra in som ny" #~ msgid "/Edit/Buffer/Cut Named..." #~ msgstr "/Redigera/Buffert/Klipp ut namngiven..." #~ msgid "/Edit/Buffer/Copy Named..." #~ msgstr "/Redigera/Buffert/Kopiera namngiven..." #~ msgid "/Edit/Buffer/Paste Named..." #~ msgstr "/Redigera/Buffert/Klistra in namngiven..." #~ msgid "/Edit/Clear" #~ msgstr "/Redigera/Töm" #~ msgid "/Edit/Fill with FG Color" #~ msgstr "/Redigera/Fyll med förgrundsfärg" #~ msgid "/Edit/Fill with BG Color" #~ msgstr "/Redigera/Fyll med bakgrundsfärg" #~ msgid "/Edit/Stroke" #~ msgstr "/Redigera/Stryk" #~ msgid "/Select/Invert" #~ msgstr "/Markera/Invertera" #~ msgid "/Select/All" #~ msgstr "/Markera/Allt" #~ msgid "/Select/None" #~ msgstr "/Markera/Inget" #~ msgid "/Select/Float" #~ msgstr "/Markera/Flytande" #~ msgid "/Select/Feather..." #~ msgstr "/Markera/Fjäder..." #~ msgid "/Select/Sharpen" #~ msgstr "/Markera/Skärpa" #~ msgid "/Select/Shrink..." #~ msgstr "/Markera/Krymp..." #~ msgid "/Select/Grow..." #~ msgstr "/Markera/Öka..." #~ msgid "/Select/Border..." #~ msgstr "/Markera/Kant..." #~ msgid "/Select/Toggle QuickMask" #~ msgstr "/Markera/Visa snabbmask" #~ msgid "/Select/Save to Channel" #~ msgstr "/Markera/Spara till kanal" #~ msgid "/View/Zoom In" #~ msgstr "/Visa/Zooma in" #~ msgid "/View/Zoom Out" #~ msgstr "/Visa/Zooma ut" #~ msgid "/View/Zoom to Fit Window" #~ msgstr "/Visa/Zooma sÃ¥ att det passar fönstret" #~ msgid "/View/Shrink Wrap" #~ msgstr "/Visa/Visa optimalt fönster" #~ msgid "/View/Zoom/16:1" #~ msgstr "/Visa/Zooma/16:1" #~ msgid "/View/Zoom/8:1" #~ msgstr "/Visa/Zooma/8:1" #~ msgid "/View/Zoom/4:1" #~ msgstr "/Visa/Zooma/4:1" #~ msgid "/View/Zoom/2:1" #~ msgstr "/Visa/Zooma/2:1" #~ msgid "/View/Zoom/1:1" #~ msgstr "/Visa/Zooma/1:1" #~ msgid "/View/Zoom/1:2" #~ msgstr "/Visa/Zooma/1:2" #~ msgid "/View/Zoom/1:4" #~ msgstr "/Visa/Zooma/1:4" #~ msgid "/View/Zoom/1:8" #~ msgstr "/Visa/Zooma/1:8" #~ msgid "/View/Zoom/1:16" #~ msgstr "/Visa/Zooma/1:16" #~ msgid "/View/Dot for Dot" #~ msgstr "/Visa/Punkt för punkt" #~ msgid "/View/Info Window..." #~ msgstr "/Visa/Informationsfönster..." #~ msgid "/View/Navigation Window..." #~ msgstr "/Visa/Navigeringsfönster..." #~ msgid "/View/Display Filters..." #~ msgstr "/Fönster/Visningsfilter..." #~ msgid "/View/Show Selection" #~ msgstr "/Visa/Visa markering" #~ msgid "/View/Show Layer Boundary" #~ msgstr "/Visa/Visa lagergräns" #~ msgid "/View/Show Guides" #~ msgstr "/Visa/Visa hjälplinjer" #~ msgid "/View/Snap to Guides" #~ msgstr "/Visa/Snäpp mot hjälplinjer" #~ msgid "/View/Show Menubar" #~ msgstr "/Visa/Visa menyrad" #~ msgid "/View/Show Rulers" #~ msgstr "/Visa/Visa linjaler" #~ msgid "/View/Show Statusbar" #~ msgstr "/Visa/Visa statusrad" #~ msgid "/View/New View" #~ msgstr "/Visa/Ny vy" #~ msgid "/Image/Mode/RGB" #~ msgstr "/Bild/Format/RGB" #~ msgid "/Image/Mode/Grayscale" #~ msgstr "/Bild/Format/GrÃ¥skala" #~ msgid "/Image/Mode/Indexed..." #~ msgstr "/Bild/Format/Indexerad..." #~ msgid "/Image/Transform" #~ msgstr "/Bild/Transformera" #~ msgid "/Image/Canvas Size..." #~ msgstr "/Bild/Canvasstorlek..." #~ msgid "/Image/Scale Image..." #~ msgstr "/Bild/Skala bild..." #~ msgid "/Image/Crop Image" #~ msgstr "/Bild/Beskär bild" #~ msgid "/Image/Duplicate" #~ msgstr "/Bild/Duplicera" #~ msgid "/Image/Merge Visible Layers..." #~ msgstr "/Bild/Sammanfoga synliga lager..." #~ msgid "/Image/Flatten Image" #~ msgstr "/Bild/Platta till bilden" #~ msgid "/Image/Undo History..." #~ msgstr "/Bild/Ã…ngringshistorik..." #~ msgid "/Layer/Stack/Previous Layer" #~ msgstr "/Lager/Stack/FöregÃ¥ende lager" #~ msgid "/Layer/Stack/Next Layer" #~ msgstr "/Lager/Stack/Nästa lager" #~ msgid "/Layer/Stack/Raise Layer" #~ msgstr "/Lager/Stack/Höj lager" #~ msgid "/Layer/Stack/Lower Layer" #~ msgstr "/Lager/Stack/Sänk lager" #~ msgid "/Layer/Stack/Layer to Top" #~ msgstr "/Lager/Stack/Lager till toppen" #~ msgid "/Layer/Stack/Layer to Bottom" #~ msgstr "/Lager/Stack/Lager till botten" #~ msgid "/Layer/New Layer..." #~ msgstr "/Lager/Nytt lager..." #~ msgid "/Layer/Duplicate Layer" #~ msgstr "/Lager/Duplicera lager" #~ msgid "/Layer/Anchor Layer" #~ msgstr "/Lager/Ankra lager" #~ msgid "/Layer/Merge Down" #~ msgstr "/Lager/Sammanfoga nedÃ¥t" #~ msgid "/Layer/Delete Layer" #~ msgstr "/Lager/Ta bort lager" #~ msgid "/Layer/Layer Boundary Size..." #~ msgstr "/Lager/Storlek pÃ¥ lagergräns..." #~ msgid "/Layer/Layer to Imagesize" #~ msgstr "/Lager/Lagerstorlek som bilden" #~ msgid "/Layer/Scale Layer..." #~ msgstr "/Lager/Skala lager..." #~ msgid "/Layer/Crop Layer" #~ msgstr "/Lager/Beskär lager" #~ msgid "/Layer/Transform/Offset..." #~ msgstr "/Lager/Transformera/Offset..." #~ msgid "/Layer/Colors/Desaturate" #~ msgstr "/Lager/Färger/Avfärga" #~ msgid "/Layer/Colors/Invert" #~ msgstr "/Lager/Färger/Invertera" #~ msgid "/Layer/Colors/Auto/Equalize" #~ msgstr "/Lager/Färger/Auto/Jämna ut" #~ msgid "/Layer/Mask/Add Layer Mask..." #~ msgstr "/Lager/Mask/Lägg till mask..." #~ msgid "/Layer/Mask/Apply Layer Mask" #~ msgstr "/Lager/Mask/Applicera lagermask" #~ msgid "/Layer/Mask/Delete Layer Mask" #~ msgstr "/Lager/Mask/Ta bort lagermask" #~ msgid "/Layer/Mask/Mask to Selection" #~ msgstr "/Lager/Mask/Mask till markering" #~ msgid "/Layer/Transparency/Add Alpha Channel" #~ msgstr "/Lager/Transparens/Lägg till alfakanal" #~ msgid "/Layer/Transparency/Alpha to Selection" #~ msgstr "/Lager/Transparens/Alfakanal till markering" #~ msgid "/Tools/Toolbox" #~ msgstr "/Verktyg/VerktygslÃ¥da" #~ msgid "/Tools/Default Colors" #~ msgstr "/Verktyg/Standardfärger" #~ msgid "/Tools/Swap Colors" #~ msgstr "/Verktyg/Byt färgplats" #~ msgid "/Tools/Swap Contexts" #~ msgstr "/Verktyg/Byt sammanhang" #~ msgid "/Tools/Selection Tools" #~ msgstr "/Verktyg/Markeringsverktyg" #~ msgid "/Tools/Paint Tools" #~ msgstr "/Verktyg/MÃ¥larverktyg" #~ msgid "/Tools/Transform Tools" #~ msgstr "/Verktyg/Transformeringsverktyg" #~ msgid "/Dialogs/Layers, Channels & Paths..." #~ msgstr "/Fönster/Lager, kanaler och slingor..." #~ msgid "/Dialogs/Brushes, Patterns & Stuff..." #~ msgstr "/Fönster/Penslar, mönster och annat..." #~ msgid "/Dialogs/Tool Options..." #~ msgstr "/Fönster/Verktygsalternativ..." #~ msgid "/Dialogs/Device Status..." #~ msgstr "/Fönster/Enhetsstatus..." #~ msgid "/Dialogs/Layers..." #~ msgstr "/Fönster/Lager..." #~ msgid "/Dialogs/Channels..." #~ msgstr "/Fönster/Kanaler..." #~ msgid "/Dialogs/Paths..." #~ msgstr "/Fönster/Slingor..." #~ msgid "/Dialogs/Indexed Palette..." #~ msgstr "/Fönster/Indexerad palett..." #~ msgid "/Dialogs/Selection Editor..." #~ msgstr "/Fönster/Markeringsredigerare..." #~ msgid "/Dialogs/Navigation..." #~ msgstr "/Fönster/Navigering..." #~ msgid "/Dialogs/Colors..." #~ msgstr "/Fönster/Färger..." #~ msgid "/Dialogs/Brushes..." #~ msgstr "/Fönster/Penslar..." #~ msgid "/Dialogs/Patterns..." #~ msgstr "/Fönster/Mönster..." #~ msgid "/Dialogs/Gradients..." #~ msgstr "/Fönster/Färgskalor..." #~ msgid "/Dialogs/Palettes..." #~ msgstr "/Fönster/Paletter..." #~ msgid "/Dialogs/Buffers..." #~ msgstr "/Fönster/Buffertar..." #~ msgid "/Dialogs/Images..." #~ msgstr "/Fönster/Bilder..." #~ msgid "/Dialogs/Document History..." #~ msgstr "/Fönster/Dokumenthistorik..." #~ msgid "/Dialogs/Error Console..." #~ msgstr "/Fönster/Felmeddelanden..." #~ msgid "/Filters/Repeat Last" #~ msgstr "/Filter/Upprepa senaste" #~ msgid "/Filters/Re-Show Last" #~ msgstr "/Filter/Visa senaste" #~ msgid "/Filters/Blur" #~ msgstr "/Filter/Suddigare" #~ msgid "/Filters/Colors" #~ msgstr "/Filter/Färger" #~ msgid "/Filters/Noise" #~ msgstr "/Filter/Brus" #~ msgid "/Filters/Enhance" #~ msgstr "/Filter/Förbättra" #~ msgid "/Filters/Generic" #~ msgstr "/Filter/Allmänna" #~ msgid "/Filters/Glass Effects" #~ msgstr "/Filter/Glaseffekter" #~ msgid "/Filters/Light Effects" #~ msgstr "/Filter/Ljuseffekter" #~ msgid "/Filters/Distorts" #~ msgstr "/Filter/Störningar" #~ msgid "/Filters/Artistic" #~ msgstr "/Filter/Artistiskt" #~ msgid "/Filters/Map" #~ msgstr "/Filter/Mappa" #~ msgid "/Filters/Render" #~ msgstr "/Filter/Rendera" #~ msgid "/Filters/Text" #~ msgstr "/Filter/Text" #~ msgid "/Filters/Web" #~ msgstr "/Filter/Webb" #~ msgid "/Filters/Animation" #~ msgstr "/Filter/Animation" #~ msgid "/Filters/Combine" #~ msgstr "/Filter/Kombinera" #~ msgid "/Filters/Toys" #~ msgstr "/Filter/Leksaker" #~ msgid "Undo %s" #~ msgstr "Ã…ngra %s" #~ msgid "Redo %s" #~ msgstr "Gör om %s" #~ msgid "Undo" #~ msgstr "Ã…ngra" #~ msgid "Redo" #~ msgstr "Gör om" #~ msgid "/Raise Displays" #~ msgstr "/Höj displayer" #~ msgid "/New Display" #~ msgstr "/Ny display" #~ msgid "/Delete Image" #~ msgstr "/Ta bort bild" #~ msgid "General" #~ msgstr "Generellt" #~ msgid "Static Gray" #~ msgstr "Statisk grÃ¥" #~ msgid "Pseudo Color" #~ msgstr "Pseudofärg" #~ msgid "True Color" #~ msgstr "Sann färg" #~ msgid "Direct Color" #~ msgstr "Direkt färg" #~ msgid "X:" #~ msgstr "X:" #~ msgid "N/A" #~ msgstr "-" #~ msgid "R:" #~ msgstr "R:" #~ msgid "G:" #~ msgstr "G:" #~ msgid "B:" #~ msgstr "B:" #~ msgid "H:" #~ msgstr "N:" #~ msgid "S:" #~ msgstr "M:" #~ msgid "V:" #~ msgstr "V:" #~ msgid "A:" #~ msgstr "A:" #~ msgid "Extended" #~ msgstr "Utökad" #~ msgid "Info Window" #~ msgstr "Informationsfönster" #~ msgid "Image Information" #~ msgstr "Bildinformation" #~ msgid "Dimensions (W x H):" #~ msgstr "Dimensioner (B × H):" #~ msgid "Resolution:" #~ msgstr "Upplösning:" #~ msgid "Scale Ratio:" #~ msgstr "SkalningsförhÃ¥llande:" #~ msgid "Display Type:" #~ msgstr "Displaytyp:" #~ msgid "Visual Class:" #~ msgstr "Visuell klass:" #~ msgid "Visual Depth:" #~ msgstr "Visuellt djup:" #~ msgid "%g x %g dpi" #~ msgstr "%g × %g punkter/tum" #~ msgid "RGB Color" #~ msgstr "RGB-färg" #~ msgid "Indexed Color" #~ msgstr "Indexerad palett" #~ msgid "colors" #~ msgstr "färger" #~ msgid "Empty Layer Copy" #~ msgstr "Tom lagerkopia" #~ msgid "Create a New Layer" #~ msgstr "Skapa ett nytt lager" #~ msgid "Layer _Name:" #~ msgstr "Lager_namn:" #~ msgid "Layer Width:" #~ msgstr "Lagerbredd:" #~ msgid "Layer Fill Type" #~ msgstr "Lagrets fyllnadstyp" #~ msgid "Layer Attributes" #~ msgstr "Lagerattribut" #~ msgid "Edit Layer Attributes" #~ msgstr "Modifiera lagerattribut" #~ msgid "Layer _Name" #~ msgstr "Lager_namn" #~ msgid "Add a Mask to the Layer" #~ msgstr "Lägg till en mask till lagret" #~ msgid "Initialize Layer Mask to:" #~ msgstr "Initialisera lagermask till:" #~ msgid "Inverse Selection" #~ msgstr "Omvänd markering" #~ msgid "Grayscale Copy of Layer" #~ msgstr "GrÃ¥skalekopia av lager" #~ msgid "Inverse Grayscale Copy of Layer" #~ msgstr "Inverterad grÃ¥skalekopia av lager" #~ msgid "White (Full Opacity)" #~ msgstr "Vit (Full opacitet)" #~ msgid "Black (Full Transparency)" #~ msgstr "Svart (Full transparens)" #~ msgid "Layer's Alpha Channel" #~ msgstr "Lagrets alfakanal" #~ msgid "/New Layer..." #~ msgstr "/Nytt lager..." #~ msgid "/Raise Layer" #~ msgstr "/Höj lager" #~ msgid "/Layer to Top" #~ msgstr "/Lager till toppen" #~ msgid "/Lower Layer" #~ msgstr "/Sänk lager" #~ msgid "/Duplicate Layer" #~ msgstr "/Duplicera lager" #~ msgid "/Anchor Layer" #~ msgstr "/Ankra lager" #~ msgid "/Merge Down" #~ msgstr "/Sammanfoga nedÃ¥t" #~ msgid "/Delete Layer" #~ msgstr "/Ta bort lager" #~ msgid "/Layer Boundary Size..." #~ msgstr "/Storlek pÃ¥ lagergräns..." #~ msgid "/Layer to Imagesize" #~ msgstr "/Lagerstorlek som bilden" #~ msgid "/Scale Layer..." #~ msgstr "/Skala om lager..." #~ msgid "/Add Layer Mask..." #~ msgstr "/Lägg till lagermask..." #~ msgid "/Apply Layer Mask" #~ msgstr "/Applicera lagermask" #~ msgid "/Delete Layer Mask" #~ msgstr "/Ta bort lagermask" #~ msgid "/Mask to Selection" #~ msgstr "/Mask till markering" #~ msgid "/Add Alpha Channel" #~ msgstr "/Lägg till alfakanal" #~ msgid "/Alpha to Selection" #~ msgstr "/Alfakanal till markering" #~ msgid "/Edit Layer Attributes..." #~ msgstr "/Redigera lagerattribut..." #~ msgid "Module Browser" #~ msgstr "Modulbläddrare" #~ msgid "Browse & Manage Loadable Modules" #~ msgstr "Bläddra bland och hantera inläsningsbara moduler" #~ msgid "Autoload" #~ msgstr "Läs in automatiskt" #~ msgid "Module Path" #~ msgstr "Modulsökväg" #~ msgid "" #~ msgstr "" #~ msgid "On disk" #~ msgstr "PÃ¥ disk" #~ msgid "Only in memory" #~ msgstr "Endast i minnet" #~ msgid "No longer available" #~ msgstr "Inte längre tillgänglig" #~ msgid "Load" #~ msgstr "Läs in" #~ msgid "Query" #~ msgstr "FrÃ¥ga" #~ msgid "Unload" #~ msgstr "Glöm" #~ msgid "Purpose:" #~ msgstr "Syfte:" #~ msgid "Author:" #~ msgstr "Författare:" #~ msgid "Version:" #~ msgstr "Version:" #~ msgid "Copyright:" #~ msgstr "Copyright:" #~ msgid "Date:" #~ msgstr "Datum:" #~ msgid "Location:" #~ msgstr "Placering:" #~ msgid "State:" #~ msgstr "TillstÃ¥nd:" #~ msgid "Last Error:" #~ msgstr "Senaste fel:" #~ msgid "Available Types:" #~ msgstr "Tillgängliga typer:" #~ msgid "Offset Layer" #~ msgstr "Offsetlager" #~ msgid "Offset Layer Mask" #~ msgstr "Offsetlagermask" #~ msgid "Offset Channel" #~ msgstr "Offsetkanal" #~ msgid "Offset" #~ msgstr "Offset" #~ msgid "Offset _X:" #~ msgstr "_X-offset:" #~ msgid "_Y:" #~ msgstr "_Y:" #~ msgid "Offset by (x/_2),(y/2)" #~ msgstr "Offset med (x/_2),(y/2)" #~ msgid "_Wrap" #~ msgstr "_SlÃ¥ runt" #~ msgid "_Background" #~ msgstr "_Bakgrund" #~ msgid "_Transparent" #~ msgstr "_Transparent" #~ msgid "Edit Palette Color" #~ msgstr "Redigera palettfärg" #~ msgid "Edit Color Palette Entry" #~ msgstr "Redigera färgpalettpost" #~ msgid "/New Color" #~ msgstr "/Ny färg" #~ msgid "/Delete Color" #~ msgstr "/Ta bort färg" #~ msgid "Import Palette" #~ msgstr "Importera palett" #~ msgid "Import a New Palette" #~ msgstr "Importera en ny palett" #~ msgid "_Import" #~ msgstr "_Importera" #~ msgid "Select Source" #~ msgstr "Välj källa" #~ msgid "_Gradient" #~ msgstr "_Färgskala" #~ msgid "I_mage" #~ msgstr "_Bild" #~ msgid "Import Options" #~ msgstr "Importalternativ" #~ msgid "New Import" #~ msgstr "Ny import" #~ msgid "Palette _Name:" #~ msgstr "Palett_namn:" #~ msgid "N_umber of Colors:" #~ msgstr "_Antal färger:" #~ msgid "C_olumns:" #~ msgstr "K_olumner:" #~ msgid "I_nterval:" #~ msgstr "I_ntervall:" #~ msgid "" #~ "Unable to run palette callback.\n" #~ "The corresponding plug-in may have crashed." #~ msgstr "" #~ "Kan inte köra palettÃ¥teranrop.\n" #~ "Den motsvarande insticksmodulen kan ha kraschat." #~ msgid "Merge Palette" #~ msgstr "Sammanfoga palett" #~ msgid "Enter a name for merged palette" #~ msgstr "Ange namn för sammanfogad palett" #~ msgid "/New Palette" #~ msgstr "/Ny palett" #~ msgid "/Duplicate Palette" #~ msgstr "/Duplicera palett" #~ msgid "/Edit Palette..." #~ msgstr "/Redigera palett..." #~ msgid "/Delete Palette..." #~ msgstr "/Ta bort palett..." #~ msgid "/Refresh Palettes" #~ msgstr "/Uppdatera paletter" #~ msgid "/Import Palette..." #~ msgstr "/Importera palett..." #~ msgid "/Merge Palettes..." #~ msgstr "/Sammanfoga palett..." #~ msgid "/New Path" #~ msgstr "/Ny slinga" #~ msgid "/Duplicate Path" #~ msgstr "/Duplicera slinga" #~ msgid "/Path to Selection" #~ msgstr "/Slinga till markering" #~ msgid "/Selection to Path" #~ msgstr "/Markering till slinga" #~ msgid "/Stroke Path" #~ msgstr "/Stryk slinga" #~ msgid "/Delete Path" #~ msgstr "/Ta bort slinga" #~ msgid "/Copy Path" #~ msgstr "/Kopiera slinga" #~ msgid "/Paste Path" #~ msgstr "/Klistra in slinga" #~ msgid "/Import Path..." #~ msgstr "/Importera slinga..." #~ msgid "/Export Path..." #~ msgstr "/Exportera slinga..." #~ msgid "/Edit Path Attributes..." #~ msgstr "/Redigera sökvägsattribut" #~ msgid "New Path" #~ msgstr "Ny slinga" #~ msgid "Duplicate Path" #~ msgstr "Duplicera slinga" #~ msgid "Path to Selection" #~ msgstr "Slinga till markering" #~ msgid "Selection to Path" #~ msgstr "Markering till slinga" #~ msgid "Stroke Path" #~ msgstr "Stryk slinga" #~ msgid "Delete Path" #~ msgstr "Ta bort slinga" #~ msgid "New Point" #~ msgstr "Ny punkt" #~ msgid "Delete Point" #~ msgstr "Ta bort punkt" #~ msgid "Edit Point" #~ msgstr "Ändra punkt" #~ msgid "Path %d" #~ msgstr "Slinga %d" #~ msgid "Edit Path Attributes" #~ msgstr "Modifiera sökvägsattribut" #~ msgid "Enter a new name for the path" #~ msgstr "Ange nytt namn för slingan" #~ msgid "Failed to read from '%s'." #~ msgstr "Misslyckades med att läsa frÃ¥n \"%s\"." #~ msgid "Failed to read path from '%s'." #~ msgstr "Misslyckades med att läsa slinga frÃ¥n \"%s\"." #~ msgid "No points specified in path file '%s'." #~ msgstr "Inga punkter specifierade i slingfilen \"%s\"." #~ msgid "Failed to read path points from '%s'." #~ msgstr "Misslyckades med att läsa slingpunkter frÃ¥n \"%s\"." #~ msgid "Load and Save Bezier Curves" #~ msgstr "Läs in och spara Bezierkurvor" #~ msgid "Load Path" #~ msgstr "Läs in slinga" #~ msgid "Save Path" #~ msgstr "Spara slinga" #~ msgid "" #~ "Unable to run pattern callback.\n" #~ "The corresponding plug-in may have crashed." #~ msgstr "" #~ "Kan inte köra mönsterÃ¥teranrop.\n" #~ "Den motsvarande insticksmodulen kan ha kraschat." #~ msgid "/New Pattern" #~ msgstr "/Nytt mönster" #~ msgid "/Duplicate Pattern" #~ msgstr "/Duplicera mönster" #~ msgid "/Edit Pattern..." #~ msgstr "/Redigera mönster..." #~ msgid "/Delete Pattern..." #~ msgstr "/Ta bort mönster..." #~ msgid "/Refresh Patterns" #~ msgstr "/Uppdatera mönster" #~ msgid "Repeat \"%s\"" #~ msgstr "Upprepa \"%s\"" #~ msgid "Re-show \"%s\"" #~ msgstr "Ã…tervisa \"%s\"" #~ msgid "Repeat Last" #~ msgstr "Upprepa senaste" #~ msgid "Re-Show Last" #~ msgstr "Ã…tervisa senaste" #~ msgid "" #~ "You will have to restart GIMP for\n" #~ "the following changes to take effect:" #~ msgstr "" #~ "Du mÃ¥ste starta om GIMP för att\n" #~ "följande ändringar ska ha effekt:" #~ msgid "Preferences" #~ msgstr "Inställningar" #~ msgid "Default Image Size and Unit" #~ msgstr "Standardbildstorlek och -mÃ¥tt" #~ msgid "Width" #~ msgstr "Bredd" #~ msgid "Height" #~ msgstr "Höjd" #~ msgid "Default Image Resolution and Resolution Unit" #~ msgstr "Standardbildstorlek och -mÃ¥ttenhet" #~ msgid "Horizontal" #~ msgstr "Horisontell" #~ msgid "Vertical" #~ msgstr "Vertikal" #~ msgid "dpi" #~ msgstr "punkter/tum" #~ msgid "Default Image _Type:" #~ msgstr "Standardbild_typ:" #~ msgid "Maximum Image Size:" #~ msgstr "Maximal bildstorlek:" #~ msgid "Default Comment" #~ msgstr "Standardkommentar" #~ msgid "Comment Used for New Images" #~ msgstr "Kommentar som används för nya bilder" #~ msgid "Interface" #~ msgstr "Gränssnitt" #~ msgid "_Preview Size:" #~ msgstr "_Förhandsvisningsstorlek:" #~ msgid "_Navigation Preview Size:" #~ msgstr "Förhandsvisningsstorlek för _navigering:" #~ msgid "_Recent Documents List Size:" #~ msgstr "_Storlek pÃ¥ listan över antal senast använda dokument:" #~ msgid "Dialog Behavior" #~ msgstr "Fönsterbeteende" #~ msgid "_Info Window Per Display" #~ msgstr "_Informationsfönster per display" #~ msgid "Menus" #~ msgstr "Menyer" #~ msgid "Enable _Tearoff Menus" #~ msgstr "Aktivera _löstagbara menyer" #~ msgid "Window Positions" #~ msgstr "Fönsterpositioner" #~ msgid "_Save Window Positions on Exit" #~ msgstr "_Spara fönsterpositioner vid avslutning" #~ msgid "R_estore Saved Window Positions on Start-up" #~ msgstr "_Ã…terställ sparade fönsterpositioner vid uppstart" #~ msgid "Clear Saved Window Positions Now" #~ msgstr "Töm sparade fönsterpositioner nu" #~ msgid "Help System" #~ msgstr "Hjälpsystem" #~ msgid "Show Tool _Tips" #~ msgstr "Visa verktygs_tips" #~ msgid "Context Sensitive _Help with \"F1\"" #~ msgstr "Sammanhangskänslig _hjälp med \"F1\"" #~ msgid "Show Tips on _Startup" #~ msgstr "Visa tips vid _uppstart" #~ msgid "Help Browser" #~ msgstr "Hjälpläsare" #~ msgid "Help _Browser to Use:" #~ msgstr "Hjälp_läsare att använda:" #~ msgid "Finding Contiguous Regions" #~ msgstr "Hitta kontinuerliga ytor" #~ msgid "Default _Threshold:" #~ msgstr "Standard_tröskelvärde:" #~ msgid "Scaling" #~ msgstr "Skalning" #~ msgid "Default _Interpolation:" #~ msgstr "Standard_interpolation:" #~ msgid "Input Devices" #~ msgstr "Inmatningsenheter" #~ msgid "Input Device Settings" #~ msgstr "Inställningar för inmatningsenheter" #~ msgid "Save Input Device Settings on Exit" #~ msgstr "Spara inställningar för inmatningsenheter vid avslutning" #~ msgid "Save Input Device Settings Now" #~ msgstr "Spara inställningar för inmatningsenheter nu" #~ msgid "Appearance" #~ msgstr "Utseende" #~ msgid "Use \"_Dot for Dot\" by default" #~ msgstr "Använd \"_punkt till punkt\" som standard" #~ msgid "Show Menubar" #~ msgstr "Visa menyrad" #~ msgid "Show _Rulers" #~ msgstr "Visa _linjaler" #~ msgid "Show S_tatusbar" #~ msgstr "Visa s_tatusrad" #~ msgid "Marching _Ants Speed:" #~ msgstr "Vandrande _myrors hastighet:" #~ msgid "Canvas Padding Color" #~ msgstr "Färg pÃ¥ canvasutfyllnad" #~ msgid "Padding Mode:" #~ msgstr "Utfyllnadsläge:" #~ msgid "Custom Color:" #~ msgstr "Egen färg:" #~ msgid "Select Custom Canvas Padding Color" #~ msgstr "Välj egen färg pÃ¥ canvasutfyllnad" #~ msgid "Zoom & Resize Behaviour" #~ msgstr "Zoom- och storleksändringseteende" #~ msgid "Resize Window on _Zoom" #~ msgstr "Ändra storlek pÃ¥ fönstret vid _zoom" #~ msgid "Resize Window on Image _Size Change" #~ msgstr "Ändra storlek pÃ¥ fönstret vid ändring av bild_storlek" #~ msgid "Pointer Movement Feedback" #~ msgstr "Markörförflyttning" #~ msgid "Perfect-but-Slow _Pointer Tracking" #~ msgstr "Följ _pekaren perfekt men lÃ¥ngsammare" #~ msgid "Enable Cursor _Updating" #~ msgstr "SlÃ¥ av markör_uppdatering" #~ msgid "Cursor M_ode:" #~ msgstr "Markör_läge:" #~ msgid "Image Title & Statusbar Format" #~ msgstr "Bildtitel och statusradsformat" #~ msgid "Title & Status" #~ msgstr "Titel och status" #~ msgid "Custom" #~ msgstr "Egen" #~ msgid "Standard" #~ msgstr "Standard" #~ msgid "Show zoom percentage" #~ msgstr "Visa zoomprocent" #~ msgid "Show zoom ratio" #~ msgstr "Visa zoomförhÃ¥llande" #~ msgid "Show reversed zoom ratio" #~ msgstr "Visa omvänt zoomförhÃ¥llande" #~ msgid "Show memory usage" #~ msgstr "Visa minnesanvändning" #~ msgid "Image Title Format" #~ msgstr "Bildtitelformat" #~ msgid "Image Statusbar Format" #~ msgstr "Bildstatusradsformat" #~ msgid "Display" #~ msgstr "Visning" #~ msgid "Transparency" #~ msgstr "Transparens" #~ msgid "Transparency _Type:" #~ msgstr "Transparens_typ:" #~ msgid "Check _Size:" #~ msgstr "Rut_storlek:" #~ msgid "8-Bit Displays" #~ msgstr "8-bitars skärmar" #~ msgid "Minimum Number of Colors:" #~ msgstr "Minsta antal färger:" #~ msgid "Install Colormap" #~ msgstr "Använd egen färgkarta" #~ msgid "Colormap Cycling" #~ msgstr "Rotera färgkarta" #~ msgid "Monitor" #~ msgstr "Bildskärm" #~ msgid "Get Monitor Resolution" #~ msgstr "Hämta bildskärmsupplösning" #~ msgid "(Currently %d x %d dpi)" #~ msgstr "(För tillfället %d × %d punkter/tum)" #~ msgid "C_alibrate" #~ msgstr "K_alibrera" #~ msgid "From _Windowing System" #~ msgstr "FrÃ¥n _fönstersystemet" #~ msgid "_Manually" #~ msgstr "_Manuellt" #~ msgid "Environment" #~ msgstr "Miljö" #~ msgid "Resource Consumption" #~ msgstr "Resursanvändning" #~ msgid "Conservative Memory Usage" #~ msgstr "Konservativ minnesanvändning" #~ msgid "Levels of Undo:" #~ msgstr "Ã…ngrasteg:" #~ msgid "Tile Cache Size:" #~ msgstr "Bildblockscachestorlek:" #~ msgid "Number of Processors to Use:" #~ msgstr "Antalet processorer att använda:" #~ msgid "File Saving" #~ msgstr "Filsparande" #~ msgid "Only when Modified" #~ msgstr "Endast om ändrad" #~ msgid "Always" #~ msgstr "Alltid" #~ msgid "\"File -> Save\" Saves the Image:" #~ msgstr "\"Arkiv -> Spara\" sparar bilden:" #~ msgid "Size of Thumbnails Files:" #~ msgstr "Storlek pÃ¥ miniatyrbildsfiler:" #~ msgid "Folders" #~ msgstr "Mappar" #~ msgid "Temp Dir:" #~ msgstr "Tempkatalog:" #~ msgid "Select Temp Dir" #~ msgstr "Välj tempkatalog" #~ msgid "Swap Dir:" #~ msgstr "Växlingskatalog:" #~ msgid "Select Swap Dir" #~ msgstr "Välj växlingskatalog" #~ msgid "Brush Folders" #~ msgstr "Penselmappar" #~ msgid "Select Brush Folders" #~ msgstr "Välj penselmappar" #~ msgid "Pattern Folders" #~ msgstr "Mönstermappar" #~ msgid "Select Pattern Folders" #~ msgstr "Välj mönstermappar" #~ msgid "Palette Folders" #~ msgstr "Palettmappar" #~ msgid "Select Palette Folders" #~ msgstr "Välj palettmappar" #~ msgid "Gradient Folders" #~ msgstr "Färgskalemappar" #~ msgid "Select Gradient Folders" #~ msgstr "Välj färgskalemappar" #~ msgid "Plug-Ins" #~ msgstr "Insticksmoduler" #~ msgid "Plug-In Folders" #~ msgstr "Mappar för insticksmodul" #~ msgid "Select Plug-In Folders" #~ msgstr "Välj mappar för insticksmodul" #~ msgid "Tool Plug-Ins" #~ msgstr "Verktygsinsticksmoduler" #~ msgid "Tool Plug-In Folders" #~ msgstr "Mappar för verktygsinsticksmoduler" #~ msgid "Select Tool Plug-In Folders" #~ msgstr "Välj mappar för verktygsinsticksmodul" #~ msgid "Modules" #~ msgstr "Moduler" #~ msgid "Module Folders" #~ msgstr "Modulmappar" #~ msgid "Select Module Folders" #~ msgstr "Välj modulmappar" #~ msgid "Environment Folders" #~ msgstr "Miljömappar" #~ msgid "Select Environment Folders" #~ msgstr "Välj miljömappar" #~ msgid "Themes" #~ msgstr "Teman" #~ msgid "Theme Folders" #~ msgstr "Temamappar" #~ msgid "Select Theme Folders" #~ msgstr "Välj temamappar" #~ msgid "Edit Qmask Color" #~ msgstr "Redigera snabbmaskfärg" #~ msgid "Qmask Attributes" #~ msgstr "Snabbmaskattribut" #~ msgid "Edit QuickMask Attributes" #~ msgstr "Redigera snabbmaskattribut" #~ msgid "Mask Opacity:" #~ msgstr "Maskopacitet:" #~ msgid "/QMask Active" #~ msgstr "/QMask aktiv" #~ msgid "/Mask Selected Areas" #~ msgstr "/Maskera markerade omrÃ¥den" #~ msgid "/Mask Unselected Areas" #~ msgstr "/Maskera omarkerade omrÃ¥den" #~ msgid "/Configure Color and Opacity..." #~ msgstr "/Konfigurera färg och opacitet..." #~ msgid "Scale Layer Options" #~ msgstr "Alternativ för skalning av lager" #~ msgid "Scale Image Options" #~ msgstr "Alternativ för bildskalning" #~ msgid "Pixel Dimensions" #~ msgstr "Bildpunktsdimensioner" #~ msgid "Layer Boundary Size" #~ msgstr "Storlek pÃ¥ lagergräns" #~ msgid "Set Layer Boundary Size" #~ msgstr "Ställ in storlek pÃ¥ lagergräns" #~ msgid "Canvas Size" #~ msgstr "Storlek pÃ¥ canvas" #~ msgid "Set Image Canvas Size" #~ msgstr "Ställ in storlek pÃ¥ bildcanvas" #~ msgid "Original Width:" #~ msgstr "Originalbredd:" #~ msgid "New Width:" #~ msgstr "Ny bredd:" #~ msgid "Ratio X:" #~ msgstr "X-förhÃ¥llande:" #~ msgid "Constrain aspect ratio" #~ msgstr "Begränsa aspektförhÃ¥llande" #~ msgid "Center" #~ msgstr "Mittpunkt" #~ msgid "Print Size & Display Unit" #~ msgstr "Utskriftsstorlek och Visuell enhet" #~ msgid "Interpolation:" #~ msgstr "Interpolation:" #~ msgid "Calibrate Monitor Resolution" #~ msgstr "Kalibrera bildskärmsupplösning" #~ msgid "Measure the rulers and enter their lengths below." #~ msgstr "Mät linjalerna och mata in dess längder nedan." #~ msgid "_Horizontal:" #~ msgstr "_Horisontell:" #~ msgid "_Vertical:" #~ msgstr "_Vertikal:" #~ msgid "Feather Selection" #~ msgstr "Fjädermarkering" #~ msgid "Feather Selection by:" #~ msgstr "Fjädermarkering:" #~ msgid "Shrink Selection" #~ msgstr "Krymp markering" #~ msgid "Shrink Selection by:" #~ msgstr "Krymp markering med:" #~ msgid "Shrink from image border" #~ msgstr "Krymp frÃ¥n bildkanten" #~ msgid "Grow Selection" #~ msgstr "Öka markering" #~ msgid "Grow Selection by:" #~ msgstr "Öka markering med:" #~ msgid "Border Selection" #~ msgstr "Kantmarkering" #~ msgid "Border Selection by:" #~ msgstr "Kantmarkering med:" #~ msgid "GIMP Startup" #~ msgstr "Uppstart av GIMP" #~ msgid "The GIMP" #~ msgstr "GIMP" #~ msgid "The GIMP tips file could not be parsed correctly!" #~ msgstr "GIMP-tipsfilen kunde inte tolkas korrekt!" #~ msgid "GIMP Tip of the Day" #~ msgstr "Dagens GIMP-tips" #~ msgid "Show tip next time GIMP starts" #~ msgstr "Visa denna nästa gÃ¥ng GIMP startar" #~ msgid "_Previous Tip" #~ msgstr "_FöregÃ¥ende tips" #~ msgid "_Next Tip" #~ msgstr "_Nästa tips" #~ msgid "" #~ "Your GIMP tips file appears to be missing! There should be a file called " #~ "'%s'. Please check your installation." #~ msgstr "" #~ "Din GIMP-tipsfil verkar saknas! Du borde ha en fil som heter \"%s\". " #~ "Kontrollera din installation." #~ msgid "tips-locale:C" #~ msgstr "tips-locale:sv" #~ msgid "Save current settings to disk" #~ msgstr "Spara aktuella inställningar till disk" #~ msgid "Restore saved settings" #~ msgstr "Ã…terställ sparade inställningar" #~ msgid "Reset" #~ msgstr "Ã…terställ" #~ msgid "/File/Acquire" #~ msgstr "/Arkiv/Inhämta" #~ msgid "/File/Preferences..." #~ msgstr "/Arkiv/Inställningar..." #~ msgid "/File/Dialogs/Layers, Channels & Paths..." #~ msgstr "/Arkiv/Fönster/Lager, kanaler och slingor..." #~ msgid "/File/Dialogs/Brushes, Patterns & Stuff..." #~ msgstr "/Arkiv/Fönster/Penslar, mönster och annat..." #~ msgid "/File/Dialogs/Tool Options..." #~ msgstr "/Arkiv/Fönster/Verktygsalternativ..." #~ msgid "/File/Dialogs/Device Status..." #~ msgstr "/Arkiv/Fönster/Enhetsstatus..." #~ msgid "/File/Dialogs/Layers..." #~ msgstr "/Arkiv/Fönster/Lager..." #~ msgid "/File/Dialogs/Channels..." #~ msgstr "/Arkiv/Fönster/Kanaler..." #~ msgid "/File/Dialogs/Paths..." #~ msgstr "/Arkiv/Fönster/Slingor..." #~ msgid "/File/Dialogs/Indexed Palette..." #~ msgstr "/Arkiv/Fönster/Indexerad palett..." #~ msgid "/File/Dialogs/Selection Editor..." #~ msgstr "/Arkiv/Fönster/Markeringsredigerare..." #~ msgid "/File/Dialogs/Navigation..." #~ msgstr "/Arkiv/Fönster/Navigation..." #~ msgid "/File/Dialogs/Colors..." #~ msgstr "/Arkiv/Fönster/Färger..." #~ msgid "/File/Dialogs/Brushes..." #~ msgstr "/Arkiv/Fönster/Penslar..." #~ msgid "/File/Dialogs/Patterns..." #~ msgstr "/Arkiv/Fönster/Mönster..." #~ msgid "/File/Dialogs/Gradients..." #~ msgstr "/Arkiv/Fönster/Färgskalor..." #~ msgid "/File/Dialogs/Palettes..." #~ msgstr "/Arkiv/Fönster/Paletter..." #~ msgid "/File/Dialogs/Buffers..." #~ msgstr "/Arkiv/Fönster/Buffertar..." #~ msgid "/File/Dialogs/Images..." #~ msgstr "/Arkiv/Fönster/Bilder..." #~ msgid "/File/Dialogs/Document History..." #~ msgstr "/Arkiv/Fönster/Dokumenthistorik..." #~ msgid "/File/Dialogs/Error Console..." #~ msgstr "/Arkiv/Fönster/Felmeddelanden..." #~ msgid "/_Xtns" #~ msgstr "/_Xtns" #~ msgid "/Xtns/Module Browser..." #~ msgstr "/Xtns/Modulbläddrare..." #~ msgid "/Help/Help..." #~ msgstr "/Hjälp/Hjälp..." #~ msgid "/Help/Context Help..." #~ msgstr "/Hjälp/Sammanhangshjälp..." #~ msgid "/Help/Tip of the Day..." #~ msgstr "/Hjälp/Dagens tips..." #~ msgid "/Help/About..." #~ msgstr "/Hjälp/Om..." #~ msgid "" #~ "The gimprc is used to store personal preferences\n" #~ "that affect GIMP's default behavior.\n" #~ "Paths to search for brushes, palettes, gradients,\n" #~ "patterns, plug-ins and modules can also configured\n" #~ "here." #~ msgstr "" #~ "\"gimprc\" används för att lagra personliga inställningar\n" #~ "sÃ¥som GIMPs standardbeteende.\n" #~ "Sökvägar till penslar, färgkartor, färgskalor, mönster,\n" #~ "insticksmoduler och moduler konfigureras även här." #~ msgid "" #~ "GIMP uses an additional gtkrc file so you can\n" #~ "configure it to look differently than other GTK apps." #~ msgstr "" #~ "GIMP använder ytterligare en gtkrc-fil sÃ¥ att du\n" #~ "kan fÃ¥ den att se annorlunda ut jämfört med andra\n" #~ "GTK-program." #~ msgid "" #~ "Plug-ins and extensions are external programs run\n" #~ "by the GIMP which provide additional functionality.\n" #~ "These programs are searched for at run-time and\n" #~ "information about their functionality and mod-times\n" #~ "is cached in this file. This file is intended to\n" #~ "be GIMP-readable only, and should not be edited." #~ msgstr "" #~ "Insticksmoduler och tillägg är externa program som körs\n" #~ "av GIMP som kan bistÃ¥ med utökad funktionalitet.\n" #~ "Dessa program söks efter under körning och informationen\n" #~ "om dess funktionalitet och modifieringstider lagras\n" #~ "i denna fil. Denna fil är endast avsedd för GIMP och bör\n" #~ "inte modifieras." #~ msgid "" #~ "Key shortcuts can be dynamically redefined in The GIMP.\n" #~ "The menurc is a dump of your configuration so it can.\n" #~ "be remembered for the next session. You may edit this\n" #~ "file if you wish, but it is much easier to define the\n" #~ "keys from within The GIMP. Deleting this file will\n" #~ "restore the default shortcuts." #~ msgstr "" #~ "Snabbtangenter kan dynamiskt defineras om i GIMP.\n" #~ "'menurc' är en dump av dina inställning sÃ¥ att den kan\n" #~ "kommas ihÃ¥g tills nästa session. Du kan editera denna fil\n" #~ "om du vill, men det är mycket enklare att ändra det inifrÃ¥n\n" #~ "GIMP. Om du tar bort denna fil sÃ¥ Ã¥terställs standardvärdena." #~ msgid "" #~ "The sessionrc is used to store what dialog windows were\n" #~ "open the last time you quit The GIMP. You can configure\n" #~ "The GIMP to reopen these dialogs at the saved position." #~ msgstr "" #~ "'sessionrc' används för att spara var dialogfönstren var\n" #~ "placerade pÃ¥ skärmen när du senast använde GIMP. Du kan\n" #~ "konfigurera GIMP att öppna dessa dialoger pÃ¥ samma ställe." #~ msgid "" #~ "The unitrc is used to store your user units database.\n" #~ "You can define additional units and use them just\n" #~ "like you use the built-in units inches, millimeters,\n" #~ "points and picas. This file is overwritten each time\n" #~ "you quit the GIMP." #~ msgstr "" #~ "Filen \"unitrc\" används för att lagra dina egna enheter.\n" #~ "Du kan definera ytterligare enheter och använda dem precis\n" #~ "som du använder de inbyggda enheterna tum, millimeter,\n" #~ "punkter och picas. Denna fil skrivs över varje gÃ¥ng du\n" #~ "avslutar GIMP." #~ msgid "This folder is searched for user-installed themes." #~ msgstr "Denna mapp används för att söka efter användarinstallerade teman." #~ msgid "" #~ "This folder is used to store user defined brushes.\n" #~ "The GIMP checks this folder in addition to the system-\n" #~ "wide GIMP brushes installation when searching for\n" #~ "brushes." #~ msgstr "" #~ "Denna mapp används för att spara användardefinierade\n" #~ "penslar. GIMP kontrollerar denna mapp utöver systemets\n" #~ "instalation av GIMP-penslar när den söker efter penslar." #~ msgid "" #~ "This folder is used to store user defined gradients\n" #~ "The GIMP checks this folder in addition to the system-\n" #~ "wide GIMP gradients installation when searching for\n" #~ "gradients." #~ msgstr "" #~ "Denna mapp används för att lagra användardefinerade\n" #~ "färgskalor. GIMP söker i denna mapp utöver systemets\n" #~ "installation av GIMP-färgskalor när den söker efter\n" #~ "färgskalor." #~ msgid "" #~ "This folder is used to store user defined palettes.\n" #~ "The GIMP checks this folder in addition to the system-\n" #~ "wide GIMP palettes installation when searching for\n" #~ "palettes." #~ msgstr "" #~ "Denna mapp används för att lagra användardefinerade\n" #~ "mönster. GIMP söker i denna mapp utöver systemets\n" #~ "installation av GIMP-paletter när den söker efter\n" #~ "paletter." #~ msgid "" #~ "This folder is used to store user defined patterns.\n" #~ "The GIMP checks this folder in addition to the system-\n" #~ "wide GIMP patterns installation when searching for\n" #~ "patterns." #~ msgstr "" #~ "Denna mapp används för att lagra användardefinerade\n" #~ "mönster. GIMP söker i denna mapp utöver systemets\n" #~ "installation av GIMP-mönster när den söker efter\n" #~ "mönster." #~ msgid "" #~ "This folder is used to store user created, temporary,\n" #~ "or otherwise non-system-supported plug-ins. The GIMP\n" #~ "checks this folder in addition to the system-wide\n" #~ "GIMP plug-in folder when searching for plug-ins." #~ msgstr "" #~ "Denna mapp används för att lagra användarskapade,\n" #~ "temporära eller pÃ¥ annat sätt ickesystemstödda\n" #~ "insticksmoduler. GIMP söker i denna mapp utöver\n" #~ "systemets mapp för insticksmoduler när den söker\n" #~ "efter insticksmoduler." #~ msgid "" #~ "This folder is used to store user created, temporary,\n" #~ "or otherwise non-system-supported DLL modules. The\n" #~ "GIMP checks this folder in addition to the system-wide\n" #~ "GIMP module folder when searching for modules to load\n" #~ "during initialization." #~ msgstr "" #~ "Denna mapp används för att lagra användarskapade,\n" #~ "temporära eller pÃ¥ annat sätt icke-systemstödda\n" #~ "DLL-moduler. GIMP söker i denna mapp utöver systemets\n" #~ "GIMP-modulmapp när den söker efter moduler att läsa in\n" #~ "vid start." #~ msgid "" #~ "This folder is used to store user created, temporary,\n" #~ "or otherwise non-system-supported additions to the\n" #~ "plug-in environment. The GIMP checks this folder in\n" #~ "addition to the system-wide GIMP environment folder\n" #~ "when searching for plug-in environment modification\n" #~ "files." #~ msgstr "" #~ "Denna mapp används för att lagra användarskapade,\n" #~ "temporära eller pÃ¥ annat sätt ickesystemstödda\n" #~ "tillägg till insticksmodulmiljön. GIMP söker i denna\n" #~ "mapp utöver systemets GIMP-miljömapp när den söker\n" #~ "efter modifieringsfiler till insticksmodulmiljön." #~ msgid "" #~ "This folder is used to store user created and installed\n" #~ "scripts. The GIMP checks this folder in addition to\n" #~ "the systemwide GIMP scripts folder when searching for\n" #~ "scripts." #~ msgstr "" #~ "Denna mapp används för att lagra användarskapade och\n" #~ "installerade skript. GIMP söker i denna mapp utöver\n" #~ "systemets GIMP-skriptmapp när den söker efter skript." #~ msgid "" #~ "This folder is used to temporarily store undo buffers\n" #~ "to reduce memory usage. If The GIMP is unceremoniously\n" #~ "killed, files of the form: gimp<#>.<#> may persist in\n" #~ "this folder. These files are useless across GIMP\n" #~ "sessions and can be destroyed with impunity." #~ msgstr "" #~ "Denna mapp används för att temporärt lagra Ã¥ngrabuffertar\n" #~ "för att minska minnesanvändningen. Om GIMP avslutas\n" #~ "onormalt kan filer lämnas kvar i denna mapp i formen:\n" #~ "gimp<#>.<#>. Dessa filer är värdelösa mellan olika\n" #~ "GIMP-sessioner och kan tas bort." #~ msgid "" #~ "This folder is used to store parameter files for the\n" #~ "Curves tool." #~ msgstr "" #~ "Denna mapp används för att lagra parameterfiler för\n" #~ "kurvverktyget." #~ msgid "" #~ "This folder is used to store parameter files for the\n" #~ "Levels tool." #~ msgstr "" #~ "Denna mapp används för att lagra parameterfiler för\n" #~ "nivÃ¥verktyget." #~ msgid "" #~ "This is folder used to store user defined fractals to\n" #~ "be used by the FractalExplorer plug-in. The GIMP\n" #~ "checks this folder in addition to the systemwide\n" #~ "FractalExplorer installation when searching for fractals." #~ msgstr "" #~ "Detta är en mapp som används för att lagra\n" #~ "användardefinerade fraktaler för att användas med\n" #~ "FractalExplorer-insticksmodulen. GIMP söker i denna\n" #~ "mapp utöver systemets FractalExplorer-installation när\n" #~ "den söker efter fraktaler." #~ msgid "" #~ "This folder is used to store user defined figures to\n" #~ "be used by the GFig plug-in. The GIMP checks this\n" #~ "folder in addition to the systemwide GFig installation\n" #~ "when searching for gfig figures." #~ msgstr "" #~ "Denna mapp används för att lagra användardefinerade\n" #~ "figurer att användas med GFig-insticksmodulen.\n" #~ "GIMP söker i denna mapp utöver systemets\n" #~ "GFig-installation när den söker efter GFig-figurer." #~ msgid "" #~ "This folder is used to store user defined gflares to\n" #~ "be used by the GFlare plug-in. The GIMP checks this\n" #~ "folder in addition to the systemwide GFlares\n" #~ "installation when searching for gflares." #~ msgstr "" #~ "Denna mapp används för att lagra användardefinerade\n" #~ "gflares för att användas med GFlare-insticksmodulen.\n" #~ "GIMP söker i denna mapp utöver systemets\n" #~ "GFlarea-installation när den söker efter gflares." #~ msgid "" #~ "This folder is used to store user defined data to be\n" #~ "used by the Gimpressionist plug-in. The GIMP checks\n" #~ "this folder in addition to the systemwide Gimpressionist\n" #~ "installation when searching for data." #~ msgstr "" #~ "Denna mapp används för att lagra användardefinerad data\n" #~ "att användas med insticksmodulen Gimpressionist. GIMP\n" #~ "söker i denna mapp utöver systemets\n" #~ "Gimpressionist-installation när den söker efter data." #~ msgid "" #~ "Installation successful.\n" #~ "Click \"Continue\" to proceed." #~ msgstr "" #~ "Installationen lyckades.\n" #~ "Klicka pÃ¥ \"Fortsätt\" för att fortsätta." #~ msgid "" #~ "Installation failed.\n" #~ "Contact system administrator." #~ msgstr "" #~ "Installationen misslyckades.\n" #~ "Kontakta systemadministratör." #~ msgid "GIMP User Installation" #~ msgstr "Användarinstallation av GIMP" #~ msgid "Continue" #~ msgstr "Fortsätt" #~ msgid "" #~ "Welcome to\n" #~ "The GIMP User Installation" #~ msgstr "" #~ "Välkommen till\n" #~ "GIMPs användarinstallation" #~ msgid "Click \"Continue\" to enter the GIMP user installation." #~ msgstr "Tryck pÃ¥ \"Fortsätt\" för att starta GIMPs användarinstallation." #~ msgid "" #~ "The GIMP - GNU Image Manipulation Program\n" #~ "Copyright (C) 1995-2002\n" #~ "Spencer Kimball, Peter Mattis and the GIMP Development Team." #~ msgstr "" #~ "GIMP - GNU Image Manipulation Program\n" #~ "Copyright © 1995-2002\n" #~ "Spencer Kimball, Peter Mattis och GIMPs utvecklingsteam." #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" #~ "See the GNU General Public License for more details." #~ msgstr "" #~ "Detta program distribueras i hopp om att det ska vara användbart,\n" #~ "men UTAN NÃ…GON SOM HELST GARANTI, även utan underförstÃ¥dd garanti\n" #~ "om SÄLJBARHET eller LÄMPLIGHET FÖR NÃ…GOT SPECIELLT ÄNDAMÃ…L.\n" #~ "Se GNU General Public License för ytterligare information." #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software\n" #~ "Foundation, Inc., 59 Temple Place - Suite 330, Boston,\n" #~ "MA 02111-1307, USA." #~ msgstr "" #~ "Du bör ha fÃ¥tt en kopia av GNU General Public License tillsammans\n" #~ "med detta program. Om inte, skriv till Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." #~ msgid "Personal GIMP Folder" #~ msgstr "Personlig GIMP-mapp" #~ msgid "Click \"Continue\" to create your personal GIMP folder." #~ msgstr "Tryck pÃ¥ \"Fortsätt\" för att skapa din personliga GIMP-mapp." #~ msgid "" #~ "For a proper GIMP installation, a folder named\n" #~ "'%s' needs to be created." #~ msgstr "" #~ "För att kunna installera GIMP korrekt mÃ¥ste mappen\n" #~ "\"%s\" skapas." #~ msgid "" #~ "This folder will contain a number of important files.\n" #~ "Click on one of the files or folders in the tree\n" #~ "to get more information about the selected item." #~ msgstr "" #~ "Denna mapp kommer att innehÃ¥lla ett antal viktiga filer.\n" #~ "Klicka pÃ¥ nÃ¥gon av filerna eller mapparna i trädet för\n" #~ "att fÃ¥ mer information om det valda objektet." #~ msgid "User Installation Log" #~ msgstr "Logg över användarinstallation" #~ msgid "" #~ "Please wait while your personal\n" #~ "GIMP folder is being created..." #~ msgstr "" #~ "Var god vänta medans din personliga\n" #~ "GIMP-mapp skapas..." #~ msgid "GIMP Performance Tuning" #~ msgstr "Prestandaavstämning av GIMP" #~ msgid "Click \"Continue\" to accept the settings above." #~ msgstr "Tryck pÃ¥ \"Fortsätt\" för att acceptera inställningarna ovan." #~ msgid "For optimal GIMP performance, some settings may have to be adjusted." #~ msgstr "För optimal prestanda i GIMP mÃ¥ste du kanske förändra vissa saker." #~ msgid "Monitor Resolution" #~ msgstr "Bildskärmsupplösning" #~ msgid "Click \"Continue\" to start The GIMP." #~ msgstr "Tryck pÃ¥ \"Fortsätt\" för att starta GIMP." #~ msgid "" #~ "To display images in their natural size, GIMP needs to know your monitor " #~ "resolution." #~ msgstr "" #~ "För att kunna visa bilder i sin naturliga storlek mÃ¥ste GIMP känna till " #~ "upplösningen pÃ¥ din bildskärm." #~ msgid "Aborting Installation..." #~ msgstr "Avbryter installation..." #~ msgid "Cannot open '%s' for reading: %s" #~ msgstr "Kan inte öppna \"%s\" för läsning: %s" #~ msgid "Cannot open '%s' for writing: %s" #~ msgstr "Kan inte öppna \"%s\" för skrivning: %s" #~ msgid "Error while writing '%s': %s" #~ msgstr "Fel vid skrivande av \"%s\": %s" #~ msgid "Error while reading '%s': %s" #~ msgstr "Fel vid läsning av \"%s\": %s" #~ msgid "Creating folder '%s'\n" #~ msgstr "Skapar mappen \"%s\"\n" #~ msgid "Cannot create folder '%s': %s" #~ msgstr "Kan inte skapa mappen \"%s\": %s" #~ msgid " Success\n" #~ msgstr " Lyckades\n" #~ msgid "Cannot create folder: %s" #~ msgstr "Kan inte skapa mapp: %s" #~ msgid "Copying file '%s' from '%s'\n" #~ msgstr "Kopierar filen \"%s\" frÃ¥n \"%s\"\n" #~ msgid " Failure: %s\n" #~ msgstr " Misslyckades: %s\n" #~ msgid "" #~ "GIMP uses a limited amount of memory to store image data, the so-called\n" #~ "\"Tile Cache\". You should adjust its size to fit into memory. Consider\n" #~ "the amount of memory used by other running processes." #~ msgstr "" #~ "GIMP använder en begränsad mängd minne för att lagra bilddata, sÃ¥ kallad\n" #~ "\"block-cache\". Du bör justera det sÃ¥ det fÃ¥r plats i minnet. Tänk\n" #~ "pÃ¥ mängden minne som används av andra körande program." #~ msgid "" #~ "All image and undo data which doesn't fit into the Tile Cache will be\n" #~ "written to a swap file. This file should be located on a local " #~ "filesystem\n" #~ "with enough free space (several hundred MB). On a UNIX system, you\n" #~ "may want to use the system-wide temp-dir (\"/tmp\" or \"/var/tmp\")." #~ msgstr "" #~ "All bild- och Ã¥ngradata som inte ryms i bildblockscachen kommer att\n" #~ "skrivas till en swapfil. Denna fil bör ligga pÃ¥ ett lokalt filsystem med\n" #~ "tillräckligt mycket ledigt utrymme (flera 100 MB). PÃ¥ ett UNIX-system sÃ¥\n" #~ "kan du vilja ställa in systemets tempkatalog (\"/tmp\" eller \"/var/tmp" #~ "\")." #~ msgid "Swap Folder:" #~ msgstr "Växlingsmapp:" #~ msgid "" #~ "GIMP can obtain this information from the windowing system.\n" #~ "However, usually this does not give useful values." #~ msgstr "" #~ "GIMP kan hämta den här informationen frÃ¥n fönstersystemet.\n" #~ "Normalt returneras dock inga vettiga värden." #~ msgid "Get Resolution from windowing system (Currently %d x %d dpi)" #~ msgstr "" #~ "Hämta upplösning frÃ¥n fönstersystem (För tillfället %d × %d punkter/tum)" #~ msgid "Alternatively, you can set the monitor resolution manually." #~ msgstr "Alternativt kan du ställa in upplösningen manuellt." #~ msgid "" #~ "You can also press the \"Calibrate\" button to open a window\n" #~ "which lets you determine your monitor resolution interactively." #~ msgstr "" #~ "Du kan även trycka pÃ¥ \"Kalibrera\" nedan för att öppna ett\n" #~ "fönster som lÃ¥ter dig kalibrera bildskärmsupplösningen interaktivt." #~ msgid "Calibrate" #~ msgstr "Kalibrera" #~ msgid "There is no active Layer or Channel to stroke to" #~ msgstr "Det finns inget aktivt lager eller kanal att stryka till" #~ msgid "Empty Vectors Copy" #~ msgstr "Tom vektorkopia" #~ msgid "New Path Options" #~ msgstr "Alternativ för ny slinga" #~ msgid "Path name:" #~ msgstr "Slingnamn:" #~ msgid "Path Attributes" #~ msgstr "Sökvägsattribut" #~ msgid "/New Path..." #~ msgstr "/Ny slinga..." #~ msgid "/Raise Path" #~ msgstr "/Höj slinga" #~ msgid "/Lower Path" #~ msgstr "/Sänk slinga" #~ msgid "/Path Tool" #~ msgstr "/Slingverktyg" #~ msgid "Image Source" #~ msgstr "Bildkälla" #~ msgid "Pattern Source" #~ msgstr "Mönsterkälla" #~ msgid "Non Aligned" #~ msgstr "Inte uppställd" #~ msgid "Registered" #~ msgstr "Registrerad" #~ msgid "Dodge" #~ msgstr "Blek" #~ msgid "Burn" #~ msgstr "Bränn" #~ msgid "Once Forward" #~ msgstr "En gÃ¥ng framÃ¥t" #~ msgid "Once Backward" #~ msgstr "En gÃ¥ng bakÃ¥t" #~ msgid "Loop Sawtooth" #~ msgstr "Loopa sÃ¥gtandat" #~ msgid "Loop Triangle" #~ msgstr "Loopa triangel" #~ msgid "Blur" #~ msgstr "Gör suddigare" #~ msgid "No brushes available for use with this tool." #~ msgstr "Det finns inga penslar tillgängliga för detta verktyg." #~ msgid "" #~ "Image resolution is out of bounds,\n" #~ "using the default resolution instead." #~ msgstr "" #~ "Bildupplösningen är utanför omrÃ¥det,\n" #~ "använder standardupplösningen istället." #~ msgid "Internal Procedures" #~ msgstr "Interna procedurer" #~ msgid "Brush UI" #~ msgstr "Penselanvändargränssnitt" #~ msgid "Channel" #~ msgstr "Kanal" #~ msgid "Convert" #~ msgstr "Konvertera" #~ msgid "Display procedures" #~ msgstr "Visningsprocedurer" #~ msgid "Drawable procedures" #~ msgstr "Rityteprocedurer" #~ msgid "Edit procedures" #~ msgstr "Modifieringsprocedurer" #~ msgid "File Operations" #~ msgstr "FilÃ¥tgärder" #~ msgid "Floating selections" #~ msgstr "Flytande markeringar" #~ msgid "Gimprc procedures" #~ msgstr "Gimprc-procedurer" #~ msgid "Gradient UI" #~ msgstr "Färgskaleanvändargränssnitt" #~ msgid "Guide procedures" #~ msgstr "Hjälplinjeprocedurer" #~ msgid "Help procedures" #~ msgstr "Hjälpprocedurer" #~ msgid "Layer" #~ msgstr "Lager" #~ msgid "Message procedures" #~ msgstr "Meddelandeprocedurer" #~ msgid "Miscellaneous" #~ msgstr "Diverse" #~ msgid "Misc Tool procedures" #~ msgstr "Diverse verktygsprocedurer" #~ msgid "Paint Tool procedures" #~ msgstr "Ritverktygsprocedurer" #~ msgid "Palette" #~ msgstr "Palett" #~ msgid "Palette UI" #~ msgstr "Palettanvändargränssnitt" #~ msgid "Parasite procedures" #~ msgstr "Parasitprocedurer" #~ msgid "Pattern UI" #~ msgstr "Mönsteranvändargränssnitt" #~ msgid "Plug-in" #~ msgstr "Insticksmodul" #~ msgid "Procedural database" #~ msgstr "Procedurell databas" #~ msgid "Image mask" #~ msgstr "Bildmask" #~ msgid "Selection Tool procedures" #~ msgstr "Markeringsverktygsprocedurer" #~ msgid "Text procedures" #~ msgstr "Textprocedurer" #~ msgid "Transform Tool procedures" #~ msgstr "Transformeringsverktygsprocedurer" #~ msgid "Units" #~ msgstr "Enheter" #~ msgid "PDB calling error %s not found" #~ msgstr "PDB-anropsfel, hittade inte %s" #~ msgid "PDB calling error %s" #~ msgstr "PDB-anropsfel %s" #~ msgid "" #~ "Incorrect arguments passed to procedural_db_run_proc:\n" #~ "Argument %d to '%s' should be a %s, but got passed a %s" #~ msgstr "" #~ "Felaktigt antal parametrar skickades till procedural_db_run_proc:\n" #~ "Argument %d till \"%s\" borde vara en %s, men skickade en %s" #~ msgid "Internal GIMP procedure" #~ msgstr "Interna GIMP-procedurer" #~ msgid "GIMP Plug-In" #~ msgstr "GIMP-insticksmodul" #~ msgid "GIMP Extension" #~ msgstr "GIMP-tillägg" #~ msgid "Temporary Procedure" #~ msgstr "Temporär procedur" #~ msgid "Unable to locate Plug-In: \"%s\"" #~ msgstr "Kunde inte hitta insticksmodul: \"%s\"" #~ msgid "" #~ "Plug-In crashed: \"%s\"\n" #~ "(%s)\n" #~ "\n" #~ "The dying Plug-In may have messed up GIMP's internal state.\n" #~ "You may want to save your images and restart GIMP\n" #~ "to be on the safe side." #~ msgstr "" #~ "Insticksmodulen kraschade: \"%s\"\n" #~ "(%s)\n" #~ "\n" #~ "Insticksmodulen som dog kan ha rört till GIMPs interna tillstÃ¥nd.\n" #~ "Du bör nog spara dina bilder och starta om GIMP för att vara pÃ¥ den\n" #~ "säkra sidan." #~ msgid "Resource configuration" #~ msgstr "Resurskonfiguration" #~ msgid "Querying new Plug-ins" #~ msgstr "Undersöker nya insticksmoduler" #~ msgid "querying plug-in: \"%s\"\n" #~ msgstr "undersöker insticksmodul: \"%s\"\n" #~ msgid "writing \"%s\"\n" #~ msgstr "skriver \"%s\"\n" #~ msgid "Initializing Plug-ins" #~ msgstr "Initierar insticksmoduler" #~ msgid "Initializing plug-in: \"%s\"\n" #~ msgstr "Initierar insticksmodul: \"%s\"\n" #~ msgid "Starting Extensions" #~ msgstr "Startar tillägg" #~ msgid "Starting extension: \"%s\"" #~ msgstr "Startar tillägg: \"%s\"" #~ msgid "Airbrush with variable pressure" #~ msgstr "Airbrush med variabelt tryck" #~ msgid "/Tools/Paint Tools/Airbrush" #~ msgstr "/Verktyg/MÃ¥larverktyg/Airbrush" #~ msgid "Rate:" #~ msgstr "Flöde:" #~ msgid "Pressure:" #~ msgstr "Tryck:" #~ msgid "Bezier Select" #~ msgstr "Beziermarkera" #~ msgid "Select regions using Bezier curves" #~ msgstr "Markera regioner genom att använda Bezierkurvor" #~ msgid "/Tools/Selection Tools/Bezier Select" #~ msgstr "/Verktyg/Markeringsverktyg/Beziermarkera" #~ msgid "Bezier path already closed." #~ msgstr "Bezierslingan redan stängd." #~ msgid "Corrupt curve" #~ msgstr "Trasig kurva" #~ msgid "Curve not closed!" #~ msgstr "Kurvan är inte stängd!" #~ msgid "Paintbrush operation failed." #~ msgstr "MÃ¥larpenselÃ¥tgärd misslyckades." #~ msgid "Fill with a color gradient" #~ msgstr "Fyll med färgtoning" #~ msgid "/Tools/Paint Tools/Blend" #~ msgstr "/Verktyg/MÃ¥larverktyg/Färgtoning" #~ msgid "Blend: Invalid for indexed images." #~ msgstr "Tona: Ogiltig för indexerade bilder." #~ msgid "Blend: 0, 0" #~ msgstr "Tona: 0, 0" #~ msgid "Blending..." #~ msgstr "Tonar färg..." #~ msgid "Blend: " #~ msgstr "Färgtoning: " #~ msgid "Offset:" #~ msgstr "Offset:" #~ msgid "Gradient:" #~ msgstr "Färgskala:" #~ msgid "Shape:" #~ msgstr "Form:" #~ msgid "Repeat:" #~ msgstr "Upprepa:" #~ msgid "Adaptive Supersampling" #~ msgstr "Adaptiv supersampling" #~ msgid "Max Depth:" #~ msgstr "Max djup:" #~ msgid "Threshold:" #~ msgstr "Tröskelvärde:" #~ msgid "Brightness-Contrast" #~ msgstr "Ljusstyrka-Kontrast" #~ msgid "Adjust brightness and contrast" #~ msgstr "Justera ljusstyrka och kontrast" #~ msgid "/Layer/Colors/Brightness-Contrast..." #~ msgstr "/Lager/Färger/Ljusstyrka-Kontrast..." #~ msgid "Adjust Brightness and Contrast" #~ msgstr "Justera ljusstyrka och kontrast" #~ msgid "Brightness-Contrast does not operate on indexed drawables." #~ msgstr "Ljusstyrka-Kontrast gÃ¥r inte att använda pÃ¥ indexerade bilder." #~ msgid "_Brightness:" #~ msgstr "_Ljusstyrka:" #~ msgid "Con_trast:" #~ msgstr "Kon_trast:" #~ msgid "Bucket Fill" #~ msgstr "Fyll" #~ msgid "Fill with a color or pattern" #~ msgstr "Fyll med färg eller mönster" #~ msgid "/Tools/Paint Tools/Bucket Fill" #~ msgstr "/Verktyg/MÃ¥larverktyg/Fyll" #~ msgid "Fill Type %s" #~ msgstr "Fyllnadstyp %s" #~ msgid "Finding Similar Colors" #~ msgstr "Söker liknande färger" #~ msgid "Fill Transparent Areas" #~ msgstr "Fyll transparenta omrÃ¥den" #~ msgid "Allow completely transparent regions to be filled" #~ msgstr "TillÃ¥t att helt transparenta regioner fylls" #~ msgid "Sample Merged" #~ msgstr "Sampla sammanfogade" #~ msgid "Base filled area on all visible layers" #~ msgstr "Basera fyllda omrÃ¥den pÃ¥ alla synliga lager" #~ msgid "Maximum color difference" #~ msgstr "Maximal färgskillnad" #~ msgid "Select By Color" #~ msgstr "Markera via färg" #~ msgid "Select regions by color" #~ msgstr "Markera regioner via färg" #~ msgid "/Tools/Selection Tools/By Color Select" #~ msgstr "/Verktyg/Markeringsverktyg/Markera via färg" #~ msgid "Paint using Patterns or Image Regions" #~ msgstr "MÃ¥la genom att använda mönster eller bildregioner" #~ msgid "/Tools/Paint Tools/Clone" #~ msgstr "/Verktyg/MÃ¥larverktyg/Klona" #~ msgid "Source" #~ msgstr "Källa" #~ msgid "Alignment" #~ msgstr "Uppställning" #~ msgid "Color Balance" #~ msgstr "Färgbalans" #~ msgid "Adjust color balance" #~ msgstr "Justera färgbalans" #~ msgid "/Layer/Colors/Color Balance..." #~ msgstr "/Lager/Färger/Färgbalans..." #~ msgid "Adjust Color Balance" #~ msgstr "Justera färgbalans" #~ msgid "Color balance operates only on RGB color drawables." #~ msgstr "Färgbalans fungerar endast pÃ¥ RGB-bilder." #~ msgid "Select Range to Modify" #~ msgstr "Välj intervall att modifiera" #~ msgid "Modify Selected Range's Color Levels" #~ msgstr "Modifiera markerade intervallets färgnivÃ¥er" #~ msgid "Cyan" #~ msgstr "Cyan" #~ msgid "Magenta" #~ msgstr "Magenta" #~ msgid "Yellow" #~ msgstr "Gul" #~ msgid "R_eset Range" #~ msgstr "_Ã…terställ intervall" #~ msgid "Preserve _Luminosity" #~ msgstr "BehÃ¥ll _luminans" #~ msgid "Color Picker" #~ msgstr "Färghämtaren" #~ msgid "Pick colors from the image" #~ msgstr "Hämta en färg frÃ¥n bilden" #~ msgid "/Tools/Color Picker" #~ msgstr "/Verktyg/Hämta färg" #~ msgid "Color Picker Information" #~ msgstr "Information om färghämtare" #~ msgid "Red:" #~ msgstr "Röd:" #~ msgid "Green:" #~ msgstr "Grön:" #~ msgid "Blue:" #~ msgstr "BlÃ¥:" #~ msgid "Alpha:" #~ msgstr "Alfa:" #~ msgid "Hex Triplet:" #~ msgstr "Hex-triplett:" #~ msgid "Intensity:" #~ msgstr "Intensitet:" #~ msgid "Index:" #~ msgstr "Index:" #~ msgid "Hex Triplet" #~ msgstr "Hexadecimal triplett" #~ msgid "Sample Average" #~ msgstr "Sampelmedel" #~ msgid "Radius:" #~ msgstr "Radie:" #~ msgid "Update Active Color" #~ msgstr "Uppdatera aktiv färg" #~ msgid "Convolve" #~ msgstr "Konvolvera" #~ msgid "Blur or Sharpen" #~ msgstr "Gör suddigare eller skarpare" #~ msgid "/Tools/Paint Tools/Convolve" #~ msgstr "/Verktyg/MÃ¥larverktyg/Konvolvera" #~ msgid "Convolve Type %s" #~ msgstr "Konvolveringstyp %s" #~ msgid "Crop & Resize" #~ msgstr "Beskär och Ändra storlek" #~ msgid "Crop or Resize an image" #~ msgstr "Beskär eller ändra storlek pÃ¥ en bild" #~ msgid "/Tools/Transform Tools/Crop & Resize" #~ msgstr "/Verktyg/Transformeringsverktyg/Beskär och ändra storlek" #~ msgid "Crop: " #~ msgstr "Beskär: " #~ msgid "Crop: 0 x 0" #~ msgstr "Beskär: 0 × 0" #~ msgid "Crop & Resize Information" #~ msgstr "Information om Beskär och ändra storlek" #~ msgid "Origin X:" #~ msgstr "Start X:" #~ msgid "From Selection" #~ msgstr "FrÃ¥n markering" #~ msgid "Auto Shrink" #~ msgstr "Krymp automatiskt" #~ msgid "Tool Toggle %s" #~ msgstr "Verktygsväxel %s" #~ msgid "Current Layer only" #~ msgstr "Endast aktuellt lager" #~ msgid "Allow Enlarging %s" #~ msgstr "TillÃ¥t förstoring %s" #~ msgid "Adjust color curves" #~ msgstr "Justera färgkurvor" #~ msgid "/Layer/Colors/Curves..." #~ msgstr "/Lager/Färger/Kurvor..." #~ msgid "Adjust Color Curves" #~ msgstr "Justera färgkurvor" #~ msgid "Curves for indexed drawables cannot be adjusted." #~ msgstr "Kurvor för indexerade bilder kan inte justeras." #~ msgid "R_eset Channel" #~ msgstr "_Ã…terställ kanal" #~ msgid "Modify Curves for Channel:" #~ msgstr "Modifiera kurvor för kanal:" #~ msgid "Free" #~ msgstr "Frihand" #~ msgid "Curve Type:" #~ msgstr "Kurvtyp:" #~ msgid "All Channels" #~ msgstr "Alla kanaler" #~ msgid "Read curves settings from file" #~ msgstr "Läs kurvinställningar frÃ¥n fil" #~ msgid "Save curves settings to file" #~ msgstr "Spara kurvinställningar till fil" #~ msgid "Load Curves" #~ msgstr "Läs in kurvor" #~ msgid "Save Curves" #~ msgstr "Spara kurvor" #~ msgid "Dodge/Burn" #~ msgstr "Blek/Bränna" #~ msgid "Dodge or Burn strokes" #~ msgstr "Blek eller bränn streck" #~ msgid "/Tools/Paint Tools/DodgeBurn" #~ msgstr "/Verktyg/MÃ¥larverktyg/BlekBränn" #~ msgid "Type %s" #~ msgstr "Typ %s" #~ msgid "Mode" #~ msgstr "Läge" #~ msgid "Exposure:" #~ msgstr "Exponering:" #~ msgid "Move: 0, 0" #~ msgstr "Flytta: 0, 0" #~ msgid "Move: " #~ msgstr "Flytta: " #~ msgid "Ellipse Select" #~ msgstr "Ellipsmarkering" #~ msgid "Select elliptical regions" #~ msgstr "Markera elliptisk region" #~ msgid "/Tools/Selection Tools/Ellipse Select" #~ msgstr "/Verktyg/Markeringsverktyg/Ellipsmarkera" #~ msgid "Eraser" #~ msgstr "Suddare" #~ msgid "Erase to background or transparency" #~ msgstr "Sudda mot bakgrunden eller transparent" #~ msgid "/Tools/Paint Tools/Eraser" #~ msgstr "/Verktyg/MÃ¥larverktyg/Suddare" #~ msgid "Anti Erase %s" #~ msgstr "Antisudda %s" #~ msgid "Hard Edge" #~ msgstr "HÃ¥rd kant" #~ msgid "Flip the layer or selection" #~ msgstr "Vänd lagret eller markeringen" #~ msgid "/Tools/Transform Tools/Flip" #~ msgstr "/Verktyg/Transformeringsverktyg/Vänd" #~ msgid "Free Select" #~ msgstr "Fri markering" #~ msgid "Select hand-drawn regions" #~ msgstr "Markerar frihand" #~ msgid "/Tools/Selection Tools/Free Select" #~ msgstr "/Verktyg/Markeringsverktyg/Fri markering" #~ msgid "Fuzzy Select" #~ msgstr "Luddig markering" #~ msgid "Select contiguous regions" #~ msgstr "Markerar kontinuerliga ytor" #~ msgid "/Tools/Selection Tools/Fuzzy Select" #~ msgstr "/Verktyg/Markeringsverktyg/Luddig markering" #~ msgid "Histogram" #~ msgstr "Histogram" #~ msgid "View image histogram" #~ msgstr "Visa bildens histogram" #~ msgid "/Layer/Colors/Histogram..." #~ msgstr "/Lager/Färger/Histogram..." #~ msgid "Histogram does not operate on indexed drawables." #~ msgstr "Kan inte använda histogram pÃ¥ indexerade bilder." #~ msgid "Mean:" #~ msgstr "Medel:" #~ msgid "Std Dev:" #~ msgstr "Med. avvik:" #~ msgid "Median:" #~ msgstr "Median:" #~ msgid "Pixels:" #~ msgstr "Bildpunkter:" #~ msgid "Count:" #~ msgstr "Antal:" #~ msgid "Percentile:" #~ msgstr "Procentuellt:" #~ msgid "View Image Histogram" #~ msgstr "Visa bildhistogram" #~ msgid "Information on Channel:" #~ msgstr "Information om kanal:" #~ msgid "Intensity Range:" #~ msgstr "Intensitetsintervall:" #~ msgid "Hue-Saturation" #~ msgstr "Nyans-Mättnad" #~ msgid "Adjust hue and saturation" #~ msgstr "Justera nyans och mättnad" #~ msgid "/Layer/Colors/Hue-Saturation..." #~ msgstr "/Lager/Färger/Nyans-Mättnad..." #~ msgid "Adjust Hue / Lightness / Saturation" #~ msgstr "Justera nyans / ljusstyrka / mättnad" #~ msgid "Hue-Saturation operates only on RGB color drawables." #~ msgstr "Nyans-Mättnad fungerar endast pÃ¥ RGB bilder." #~ msgid "_Master" #~ msgstr "_Huvud" #~ msgid "_R" #~ msgstr "_R" #~ msgid "_Y" #~ msgstr "_Y" #~ msgid "_G" #~ msgstr "_G" #~ msgid "_C" #~ msgstr "_C" #~ msgid "_B" #~ msgstr "_B" #~ msgid "_M" #~ msgstr "_M" #~ msgid "Select Primary Color to Modify" #~ msgstr "Välj primär färg att modifiera" #~ msgid "Modify all colors" #~ msgstr "Modifiera alla färger" #~ msgid "Modify Selected Color" #~ msgstr "Modifiera markerad färg" #~ msgid "_Hue:" #~ msgstr "_Nyans:" #~ msgid "_Lightness:" #~ msgstr "_Ljusstyrka:" #~ msgid "_Saturation:" #~ msgstr "_Mättnad:" #~ msgid "R_eset Color" #~ msgstr "_Ã…terställ färg" #~ msgid "Ink" #~ msgstr "Bläck" #~ msgid "Draw in ink" #~ msgstr "MÃ¥la med bläck" #~ msgid "/Tools/Paint Tools/Ink" #~ msgstr "/Verktyg/MÃ¥larverktyg/Bläck" #~ msgid "Adjustment" #~ msgstr "Justering:" #~ msgid "Size:" #~ msgstr "Storlek:" #~ msgid "Angle:" #~ msgstr "Vinkel:" #~ msgid "Sensitivity" #~ msgstr "Känslighet" #~ msgid "Tilt:" #~ msgstr "Lutning:" #~ msgid "Type" #~ msgstr "Typ" #~ msgid "Shape" #~ msgstr "Form" #~ msgid "Scissors" #~ msgstr "Saxar" #~ msgid "Select shapes from image" #~ msgstr "Markera former i bilden" #~ msgid "/Tools/Selection Tools/Intelligent Scissors" #~ msgstr "/Verktyg/Markeringsverktyg/Intelligent sax" #~ msgid "Levels" #~ msgstr "NivÃ¥er" #~ msgid "Adjust color levels" #~ msgstr "Justera färgnivÃ¥er" #~ msgid "/Layer/Colors/Levels..." #~ msgstr "/Lager/Färger/NivÃ¥er..." #~ msgid "Adjust Color Levels" #~ msgstr "Justera färgnivÃ¥er" #~ msgid "Levels for indexed drawables cannot be adjusted." #~ msgstr "Kan inte justera nivÃ¥er för indexerade bilder." #~ msgid "Modify Levels for Channel:" #~ msgstr "Modifiera nivÃ¥er för kanal:" #~ msgid "Input Levels" #~ msgstr "InmatningsnivÃ¥er" #~ msgid "Pick Black Point" #~ msgstr "Välj svart punkt" #~ msgid "Pick Gray Point" #~ msgstr "Välj grÃ¥ punkt" #~ msgid "Gamma" #~ msgstr "Gamma" #~ msgid "Pick White Point" #~ msgstr "Välj vit punkt" #~ msgid "Output Levels" #~ msgstr "UtmatningsnivÃ¥er" #~ msgid "_Auto" #~ msgstr "_Auto" #~ msgid "Adjust levels automatically" #~ msgstr "Justera nivÃ¥er automatiskt" #~ msgid "Read levels settings from file" #~ msgstr "Läs nivÃ¥inställningar frÃ¥n fil" #~ msgid "Save levels settings to file" #~ msgstr "Spara nivÃ¥inställningar till fil" #~ msgid "Load Levels" #~ msgstr "Läs in nivÃ¥er" #~ msgid "Save Levels" #~ msgstr "Spara nivÃ¥er" #~ msgid "Magnify" #~ msgstr "Förstora" #~ msgid "Zoom in & out" #~ msgstr "Zooma in och ut" #~ msgid "/Tools/Magnify" #~ msgstr "/Verktyg/Förstora" #~ msgid "Allow Window Resizing" #~ msgstr "TillÃ¥t storleksförändring av fönster" #~ msgid "Measure" #~ msgstr "Mät" #~ msgid "Measure angles and lengths" #~ msgstr "Mät vinklar och längder" #~ msgid "/Tools/Measure" #~ msgstr "/Verktyg/Mät" #~ msgid "Measure Distances and Angles" #~ msgstr "Mät avstÃ¥nd och vinklar" #~ msgid "Distance:" #~ msgstr "Distans:" #~ msgid "degrees" #~ msgstr "grader" #~ msgid "Move" #~ msgstr "Flytta" #~ msgid "Move layers & selections" #~ msgstr "Flytta lager och markeringar" #~ msgid "/Tools/Transform Tools/Move" #~ msgstr "/Verktyg/Transformeringsverktyg/Flytta" #~ msgid "Pick a Layer to Move" #~ msgstr "Välj ett lager att flytta" #~ msgid "Move Current Layer" #~ msgstr "Flytta aktuellt lager" #~ msgid "Move Mode %s" #~ msgstr "Flyttläge %s" #~ msgid "Move Pixels" #~ msgstr "Flytta bildpunkter" #~ msgid "Move Selection Outline" #~ msgstr "Flytta markeringskant" #~ msgid "Paintbrush" #~ msgstr "Pensel" #~ msgid "Paint fuzzy brush strokes" #~ msgstr "MÃ¥la med luddiga penseldrag" #~ msgid "/Tools/Paint Tools/Paintbrush" #~ msgstr "/Verktyg/MÃ¥larverktyg/Pensel" #~ msgid "Path" #~ msgstr "Slinga" #~ msgid "Path tool prototype" #~ msgstr "Slingverktygsprototyp" #~ msgid "/Tools/Path" #~ msgstr "/Verktyg/Slinga" #~ msgid "Pencil" #~ msgstr "Penna" #~ msgid "Paint hard edged pixels" #~ msgstr "MÃ¥la bildpunkter med hÃ¥rda kanter" #~ msgid "/Tools/Paint Tools/Pencil" #~ msgstr "/Verktyg/MÃ¥larverktyg/Penna" #~ msgid "Change perspective of the layer or selection" #~ msgstr "Ändra perspektivet pÃ¥ lagret eller markeringen" #~ msgid "/Tools/Transform Tools/Perspective" #~ msgstr "/Verktyg/Transformeringsverktyg/Perspektiv" #~ msgid "Perspective Transform Information" #~ msgstr "Information över perspektivtransformation" #~ msgid "Perspective..." #~ msgstr "Perspektiv..." #~ msgid "Matrix:" #~ msgstr "Matris:" #~ msgid "Posterize" #~ msgstr "Posterisering" #~ msgid "Reduce image to a fixed number of colors" #~ msgstr "Reducera bilden till ett fixt antal färger" #~ msgid "/Layer/Colors/Posterize..." #~ msgstr "/Lager/Färger/Posterisering..." #~ msgid "Posterize (Reduce Number of Colors)" #~ msgstr "Posterisera (reducera antalet färger)" #~ msgid "Posterize does not operate on indexed drawables." #~ msgstr "Kan inte använda posterisering pÃ¥ indexerade bilder." #~ msgid "Posterize _Levels:" #~ msgstr "Posterisera _nivÃ¥er:" #~ msgid "Select rectangular regions" #~ msgstr "Markera rektangulära regioner" #~ msgid "/Tools/Selection Tools/Rect Select" #~ msgstr "/Verktyg/Markeringsverktyg/Rekt. markering" #~ msgid "Selection: ADD" #~ msgstr "Markering: ADDERA" #~ msgid "Selection: SUBTRACT" #~ msgstr "Markering: SUBTRAHERA" #~ msgid "Selection: INTERSECT" #~ msgstr "Markering: SKÄRNING" #~ msgid "Selection: REPLACE" #~ msgstr "Markering: ERSÄTT" #~ msgid "Selection: " #~ msgstr "Markering: " #~ msgid "Rotate the layer or selection" #~ msgstr "Rotera lagret eller markeringen" #~ msgid "/Tools/Transform Tools/Rotate" #~ msgstr "/Verktyg/Transformeringsverktyg/Rotera" #~ msgid "Rotation Information" #~ msgstr "Rotationsinformation" #~ msgid "Rotating..." #~ msgstr "Roterar..." #~ msgid "Center X:" #~ msgstr "Centrera X:" #~ msgid "Scale" #~ msgstr "Skala" #~ msgid "Scale the layer or selection" #~ msgstr "Skala lagret eller markeringen" #~ msgid "/Tools/Transform Tools/Scale" #~ msgstr "/Verktyg/Transformeringsverktyg/Skala" #~ msgid "Scaling Information" #~ msgstr "Skalningsinformation" #~ msgid "Current Width:" #~ msgstr "Aktuell bredd:" #~ msgid "Scale Ratio X:" #~ msgstr "X-skalningsförhÃ¥llande:" #~ msgid "Shear" #~ msgstr "Luta" #~ msgid "Shear the layer or selection" #~ msgstr "Luta lagret eller markeringen" #~ msgid "/Tools/Transform Tools/Shear" #~ msgstr "/Verktyg/Transformeringsverktyg/Luta" #~ msgid "Shearing Information" #~ msgstr "Information för lutning" #~ msgid "Shearing..." #~ msgstr "Lutar..." #~ msgid "Shear Magnitude X:" #~ msgstr "X-lutningsmagnitud:" #~ msgid "Smudge" #~ msgstr "Smeta" #~ msgid "Smudge image" #~ msgstr "Smeta bilden" #~ msgid "/Tools/Paint Tools/Smudge" #~ msgstr "/Verktyg/MÃ¥larverktyg/Smeta" #~ msgid "Add text to the image" #~ msgstr "Skriv text i bilden" #~ msgid "/Tools/Text" #~ msgstr "/Verktyg/Text" #~ msgid "No font chosen or font invalid." #~ msgstr "Inget typsnitt valt eller typsnittet ogiltigt." #~ msgid "Font:" #~ msgstr "Typsnitt:" #~ msgid "_Size:" #~ msgstr "_Storlek:" #~ msgid "_Border:" #~ msgstr "_Kant:" #~ msgid "Unit:" #~ msgstr "Enhet:" #~ msgid "GIMP Text Editor" #~ msgstr "GIMP-textredigerare" #~ msgid "Load Text from File" #~ msgstr "Läs in text frÃ¥n fil" #~ msgid "Clear all Text" #~ msgstr "Töm all text" #~ msgid "Open Text File (UTF-8)" #~ msgstr "Öppna textfil (UTF-8)" #~ msgid "Error opening file '%s': %s" #~ msgstr "Fel vid öppnande av filen \"%s\": %s" #~ msgid "Invalid UTF-8 data in file '%s'." #~ msgstr "Ogiltig UTF-8-data i filen \"%s\"." #~ msgid "Threshold" #~ msgstr "Tröskelvärde" #~ msgid "Reduce image to two colors using a threshold" #~ msgstr "Reducera bilden till tvÃ¥ färger genom att använda ett tröskelvärde" #~ msgid "/Layer/Colors/Threshold..." #~ msgstr "/Lager/Färger/Tröskelvärde..." #~ msgid "Apply Threshold" #~ msgstr "Applicera tröskelvärde" #~ msgid "Threshold does not operate on indexed drawables." #~ msgstr "Kan inte använda tröskelvärde pÃ¥ indexerade bilder." #~ msgid "Threshold Range:" #~ msgstr "Tröskelvärdets omrÃ¥de:" #~ msgid "Transforming..." #~ msgstr "Transformerar..." #~ msgid "" #~ "Transformations do not work on\n" #~ "layers that contain layer masks." #~ msgstr "" #~ "Transformationer fungerar inte pÃ¥\n" #~ "lager som innehÃ¥ller lagermasker." #~ msgid "Vectors" #~ msgstr "Vektorer" #~ msgid "the most promising path tool prototype... :-)" #~ msgstr "den mest lovande slingverktygsprotypen... :-)" #~ msgid "/Tools/Vectors" #~ msgstr "/Verktyg/Vektorer" #~ msgid "Brush:" #~ msgstr "Pensel:" #~ msgid "Incremental" #~ msgstr "Inkrementell" #~ msgid "Pressure Sensitivity" #~ msgstr "Tryckkänslighet" #~ msgid "Opacity" #~ msgstr "Opacitet" #~ msgid "Hardness" #~ msgstr "HÃ¥rdhet" #~ msgid "Rate" #~ msgstr "Flöde" #~ msgid "Fade Out" #~ msgstr "Tona ut" #~ msgid "Length:" #~ msgstr "Längd:" #~ msgid "Use Color from Gradient" #~ msgstr "Använd färg frÃ¥n färgskala" #~ msgid "Type:" #~ msgstr "Typ:" #~ msgid "Path Tool" #~ msgstr "Slingverktyg" #~ msgid "Replace the current selection" #~ msgstr "Ersätt aktuell markering" #~ msgid "Add to the current selection" #~ msgstr "Lägg till aktuell markering" #~ msgid "Subtract from the current selection" #~ msgstr "Ta bort frÃ¥n aktuell markering" #~ msgid "Intersect with the current selection" #~ msgstr "Snitt med aktuell markering" #~ msgid "Antialiasing" #~ msgstr "Kantutjämning" #~ msgid "Smooth edges" #~ msgstr "Utjämna kanter" #~ msgid "Feather Edges" #~ msgstr "Fjädra kanter" #~ msgid "Show Interactive Boundary" #~ msgstr "Visa interaktiv gräns" #~ msgid "Select Transparent Areas" #~ msgstr "Markera transparenta omrÃ¥den" #~ msgid "Allow completely transparent regions to be selected" #~ msgstr "TillÃ¥t att helt transparenta regioner kan markeras" #~ msgid "Base selection on all visible layers" #~ msgstr "Basera markering pÃ¥ alla synliga lager" #~ msgid "Auto Shrink Selection" #~ msgstr "Krymp markering automatiskt" #~ msgid "Use all visible layers when shrinking the selection" #~ msgstr "Använd alla synliga lager vid krympning av markeringen" #~ msgid "This tool has no options." #~ msgstr "Det här verktyget har inga alternativ." #~ msgid "Transform Direction" #~ msgstr "Transformeringsriktning" #~ msgid "Clip Result" #~ msgstr "Klipp resultat" #~ msgid "Don't Show Grid" #~ msgstr "Visa inte rutnät" #~ msgid "Number of Grid Lines" #~ msgstr "Antal rutnätslinjer" #~ msgid "Grid Line Spacing" #~ msgstr "Mellanrum mellan rutnätslinjer" #~ msgid "Density:" #~ msgstr "Intensitet:" #~ msgid "Show Path" #~ msgstr "Visa slinga" #~ msgid "Constraints" #~ msgstr "Begränsningar" #~ msgid "15 Degrees %s" #~ msgstr "15° %s" #~ msgid "Keep Height %s" #~ msgstr "BehÃ¥ll höjd %s" #~ msgid "" #~ "Activate both the \"Keep Height\" and\n" #~ "\"Keep Width\" toggles to constrain\n" #~ "the aspect ratio" #~ msgstr "" #~ "Aktivera bÃ¥de \"BehÃ¥ll höjd\"- och\n" #~ "\"BehÃ¥ll bredd\"-växlarna för att\n" #~ "begränsa aspektförhÃ¥llandet" #~ msgid "Keep Width %s" #~ msgstr "BehÃ¥ll bredd %s" #~ msgid "Internal" #~ msgstr "Intern" #~ msgid "Netscape" #~ msgstr "Netscape" #~ msgid "Hardness:" #~ msgstr "HÃ¥rdhet:" #~ msgid "Aspect Ratio:" #~ msgstr "AspektförhÃ¥llande:" #~ msgid "Spacing:" #~ msgstr "Mellanrum:" #~ msgid "Paste Into" #~ msgstr "Klistra in i" #~ msgid "Paste as New" #~ msgstr "Klistra in som ny" #~ msgid "Delete" #~ msgstr "Ta bort" #~ msgid "" #~ "Channel to Selection\n" #~ "%s Add\n" #~ "%s Subtract\n" #~ "%s%s%s Intersect" #~ msgstr "" #~ "Kanal till markering\n" #~ "%s Lägg till\n" #~ "%s Ta bort\n" #~ "%s%s%s Snitt" #~ msgid "FG" #~ msgstr "FG" #~ msgid "BG" #~ msgstr "BG" #~ msgid "Color Index:" #~ msgstr "Färgindex:" #~ msgid "Gray" #~ msgstr "GrÃ¥" #~ msgid "(None)" #~ msgstr "(Ingen)" #~ msgid "Duplicate" #~ msgstr "Duplicera" #~ msgid "Refresh" #~ msgstr "Uppdatera" #~ msgid "" #~ "Are you sure you want to delete\n" #~ "\"%s\" from the list and from disk?" #~ msgstr "" #~ "Är du säker att du vill ta bort\n" #~ "\"%s\" frÃ¥n listan och frÃ¥n disk?" #~ msgid "Delete Data Object" #~ msgstr "Ta bort dataobjekt" #~ msgid "" #~ "Open the selected entry\n" #~ "%s Raise window if already open\n" #~ "%s Open image dialog" #~ msgstr "" #~ "Öppna den valda posten\n" #~ "%s Höj fönstret om redan öppen\n" #~ "%s Visa dialogen Öppna bild" #~ msgid "Remove selected entry" #~ msgstr "Ta bort den valda posten" #~ msgid "" #~ "Recreate preview\n" #~ "%s Reload all previews\n" #~ "%s Remove Dangling Entries" #~ msgstr "" #~ "Ã…terskapa förhandsvisning\n" #~ "%s Läs om alla förhandsvisningar\n" #~ "%s Ta bort hängande poster" #~ msgid "GIMP Font Selection" #~ msgstr "GIMP-typsnittsval" #~ msgid "_Family:" #~ msgstr "_Familj:" #~ msgid "_Style:" #~ msgstr "_Stil:" #~ msgid "Zoom All" #~ msgstr "Zooma allt" #~ msgid "Zoom In" #~ msgstr "Zooma in" #~ msgid "Zoom Out" #~ msgstr "Zooma ut" #~ msgid "Instant update" #~ msgstr "Direktuppdatering" #~ msgid "Zoom factor: %d:1" #~ msgstr "Zoomfaktor: %d:1" #~ msgid "Displaying [%0.6f, %0.6f]" #~ msgstr "Visar [%0.6f, %0.6f]" #~ msgid "Position: %0.6f" #~ msgstr "Position: %0.6f" #~ msgid "RGB (%0.3f, %0.3f, %0.3f) Opacity: %0.3f" #~ msgstr "RGB (%0.3f, %0.3f, %0.3f) Opacitet: %0.3f" #~ msgid "HSV (%0.3f, %0.3f, %0.3f)" #~ msgstr "HSV (%0.3f, %0.3f, %0.3f)" #~ msgid "RGB (%d, %d, %d)" #~ msgstr "RGB (%d, %d, %d)" #~ msgid "Foreground color set to:" #~ msgstr "Förgrundsfärg inställd till:" #~ msgid "(%0.3f, %0.3f, %0.3f)" #~ msgstr "(%0.3f, %0.3f, %0.3f)" #~ msgid "Background color set to:" #~ msgstr "Bakgrundsfärg inställd till:" #~ msgid "%s%sDrag: move & compress" #~ msgstr "%s%sdra: flytta och komprimera" #~ msgid "Drag: move" #~ msgstr "Dra: flytta" #~ msgid "%s%sClick: extend selection" #~ msgstr "%s%sklicka: utöka markering" #~ msgid "Click: select" #~ msgstr "Klicka: markera" #~ msgid "Click: select Drag: move" #~ msgstr "Klicka: markera Dra: flytta" #~ msgid "Handle position: %0.6f" #~ msgstr "Handtagsposition: %0.6f" #~ msgid "Distance: %0.6f" #~ msgstr "Distans: %0.6f" #~ msgid "Could not find GIMP Help Browser" #~ msgstr "Kunde inte hitta GIMP-hjälpläsaren" #~ msgid "" #~ "Could not find the GIMP Help Browser procedure.\n" #~ "It probably was not compiled because\n" #~ "you don't have GtkXmHTML installed." #~ msgstr "" #~ "Kunde inte hitta GIMP-hjälpläsarproceduren.\n" #~ "Den var förmodligen inte kompilerad eftersom\n" #~ "du inte har GtkXmHTML installerat." #~ msgid "Use Netscape instead" #~ msgstr "Använd Netscape istället" #~ msgid "Auto" #~ msgstr "Auto" #~ msgid "Gimp Dock #%d" #~ msgstr "Gimp-docka %d" #~ msgid "Raise this image's displays" #~ msgstr "Höj denna bilds displayer" #~ msgid "Create a new display for this image" #~ msgstr "Skapa en ny display för denna bild" #~ msgid "Delete this image" #~ msgstr "Ta bort denna bild" #~ msgid "RGBA (%0.3f, %0.3f, %0.3f, %0.3f)" #~ msgstr "RGBA (%0.3f, %0.3f, %0.3f, %0.3f)" #~ msgid "" #~ "Raise\n" #~ "%s To Top" #~ msgstr "" #~ "Höj\n" #~ "%s Till toppen" #~ msgid "" #~ "Lower\n" #~ "%s To Bottom" #~ msgstr "" #~ "Sänk\n" #~ "%s Till botten" #~ msgid "Keep Trans." #~ msgstr "BehÃ¥ll transp." #~ msgid "Keep Transparency" #~ msgstr "BehÃ¥ll transparens" #~ msgid "Anchor" #~ msgstr "Ankra" #~ msgid "Columns:" #~ msgstr "Kolumner:" #~ msgid "This text input field is limited to %d characters." #~ msgstr "Detta textinmatningsfält är begränsat till %d tecken." #~ msgid "Invert Selection" #~ msgstr "Omvänd markering" #~ msgid "Select None" #~ msgstr "Markera inget" #~ msgid "Save Selection to Channel" #~ msgstr "Spara markering till kanal" #~ msgid "Change Foreground Color" #~ msgstr "Ändra förgrundsfärg" #~ msgid "Change Background Color" #~ msgstr "Ändra bakgrundsfärg" #~ msgid "" #~ "The active brush.\n" #~ "Click to open the Brush Dialog." #~ msgstr "" #~ "Den aktiva penseln.\n" #~ "Klicka för att öppna penseldialogen." #~ msgid "" #~ "The active pattern.\n" #~ "Click to open the Pattern Dialog." #~ msgstr "" #~ "Det aktiva mönstret.\n" #~ "Klicka för att öppna mönsterdialogen." #~ msgid "" #~ "The active gradient.\n" #~ "Click to open the Gradient Dialog." #~ msgstr "" #~ "Den aktiva färgskalan.\n" #~ "Klicka för att öppna färgskaledialogen." #~ msgid "" #~ "Foreground & background colors. The black and white squares reset " #~ "colors. The arrows swap colors. Double click to open the color selection " #~ "dialog." #~ msgstr "" #~ "Förgrunds- och bakgrundsfärger. De svarta och vita rutorna Ã¥terställer " #~ "färgerna. Pilarna byter plats pÃ¥ färgerna. Dubbelklicka för att öppna " #~ "färgväljardialogen." #~ msgid "" #~ "Path to Selection\n" #~ "%s Add\n" #~ "%s Subtract\n" #~ "%s%s%s Intersect" #~ msgstr "" #~ "Kanal till markering\n" #~ "%s Lägg till\n" #~ "%s Ta bort\n" #~ "%s%s%s Snitt" #~ msgid "Dissolve" #~ msgstr "Lös upp" #~ msgid "Behind" #~ msgstr "Bakom" #~ msgid "Color Erase" #~ msgstr "Färgborttagning" #~ msgid "Multiply" #~ msgstr "Multiplicera" #~ msgid "Divide" #~ msgstr "Dividera" #~ msgid "Screen" #~ msgstr "Mask" #~ msgid "Overlay" #~ msgstr "Överlagring" #~ msgid "Hard Light" #~ msgstr "HÃ¥rt ljus" #~ msgid "Soft Light" #~ msgstr "Mjukt ljus" #~ msgid "Grain Extract" #~ msgstr "Grynextrahering" #~ msgid "Grain Merge" #~ msgstr "Grynsammanfogning" #~ msgid "Difference" #~ msgstr "Skillnad" #~ msgid "Addition" #~ msgstr "Addition" #~ msgid "Subtract" #~ msgstr "Subtraktion" #~ msgid "Darken Only" #~ msgstr "Gör endast mörkare" #~ msgid "Lighten Only" #~ msgstr "Gör endast ljusare" #~ msgid "Hue" #~ msgstr "Nyans" #~ msgid "Saturation" #~ msgstr "Mättnad" #~ msgid "Message repeated %d times." #~ msgstr "Meddelande upprepat %d gÃ¥nger." #~ msgid "Message repeated once." #~ msgstr "Meddelande upprepat en gÃ¥ng." #~ msgid "" #~ "WARNING:\n" #~ "Too many open message dialogs.\n" #~ "Messages are redirected to stderr." #~ msgstr "" #~ "VARNING:\n" #~ "För mÃ¥nga öppna meddelandedialoger.\n" #~ "Meddelanden dirigeras om till stderr." #~ msgid "GIMP Message" #~ msgstr "GIMP-meddelande" #~ msgid "<%s>" #~ msgstr "<%s>" #~ msgid "" #~ "XCF warning: version 0 of XCF file format\n" #~ "did not save indexed colormaps correctly.\n" #~ "Substituting grayscale map." #~ msgstr "" #~ "XCF-varning: version 0 av XCF-filformatet\n" #~ "sparade inte indexerade färgkartor rätt.\n" #~ "Byter ut grÃ¥skalekartan." #~ msgid "(invalid UTF-8 string)" #~ msgstr "(ogiltig UTF-8-sträng)" #~ msgid "Error saving XCF file: %s" #~ msgstr "Fel vid sparande av XCF-fil: %s" #~ msgid "Error writing XCF: %s" #~ msgstr "Fel vid skrivande av XCF: %s" #~ msgid "XCF error: unsupported XCF file version %d encountered" #~ msgstr "XCF-fel: XCF-filversion %d som inte stöds pÃ¥träffad" #~ msgid "open failed on %s: %s\n" #~ msgstr "öppnande av %s misslyckades: %s\n" #~ msgid "Create and edit images or photographs" #~ msgstr "Skapa och redigera bilder eller fotografier" #~ msgid "The GIMP (unstable)" #~ msgstr "GIMP (ostabil)" #~ msgid "Crop" #~ msgstr "Beskär" #~ msgid "Resize" #~ msgstr "Ändra storlek" #~ msgid "Fixed Size" #~ msgstr "Fix storlek" #~ msgid "Fixed Aspect Ratio" #~ msgstr "Fixt aspektförhÃ¥llande" #~ msgid "/Layer/Alpha/Add Alpha Channel" #~ msgstr "/Lager/Alfa/Lägg till alfakanal" #~ msgid "Empty Vector Copy" #~ msgstr "Tom vektorkopia" #~ msgid "The GIMP is not properly installed for the current user\n" #~ msgstr "GIMP är inte korrekt installerat för den aktuella användaren\n" #~ msgid "" #~ "User installation was skipped because the '--nointerface' flag was " #~ "encountered\n" #~ msgstr "" #~ "Användarinstallationen hoppades över eftersom \"--nointerface\"-flaggan " #~ "pÃ¥träffades\n" #~ msgid "" #~ "To perform user installation, run the GIMP without the '--nointerface' " #~ "flag\n" #~ msgstr "" #~ "För att utföra användarinstallationen startar du GIMP utan\n" #~ "\"--nointerface\"-flaggan\n" #~ msgid "" #~ "ERROR: GIMP could not initialize the GUI.\n" #~ "\n" #~ msgstr "" #~ "FEL: GIMP kunde inte initiera det grafiska användargränssnittet.\n" #~ "\n" #~ msgid "to replicate the selection" #~ msgstr "markeringen ska replikeras" #~ msgid "Please select the number of uniform parts" #~ msgstr "Välj antalet uniforma delar" #~ msgid "" #~ "Installation failed.\n" #~ "Contact the system administrator." #~ msgstr "" #~ "Installationen misslyckades.\n" #~ "Kontakta systemadministratören." #~ msgid "/View/Toggle Guides" #~ msgstr "/Visa/Visa hjälplinjer" #~ msgid "/View/Toggle Menubar" #~ msgstr "/Visa/Visa menyrad" #~ msgid "" #~ "This folder is used to store brushes that are created\n" #~ "with the brush editor." #~ msgstr "" #~ "Denna mapp används för att lagra penslar som skapas med\n" #~ "penselredigeraren." #~ msgid "Error writing to '%s': %s" #~ msgstr "Fel vid skrivande till \"%s\": %s" #~ msgid "Error reading from '%s': %s" #~ msgstr "Fel vid läsande frÃ¥n \"%s\": %s" #~ msgid "does not exist. Cannot install." #~ msgstr "finns inte. Kan inte installera." #~ msgid "has invalid permissions. Cannot install." #~ msgstr "har ogiltiga rättigheter. Kan inte installera." #~ msgid "" #~ "Did you notice any error messages in the lines above?\n" #~ "If not, installation was successful!\n" #~ "Otherwise, quit and investigate the possible reason..." #~ msgstr "" #~ "SÃ¥g du nÃ¥gra felmeddelanden i konsollfönstret?\n" #~ "Om inte sÃ¥ lyckades installationen! Annars, avsluta\n" #~ "och undersök vad som kan ha gÃ¥tt fel..." #~ msgid "Click \"Continue\" to complete GIMP installation." #~ msgstr "Tryck pÃ¥ \"Fortsätt\" för att slutföra GIMP-installationen." #~ msgid "Installation failed. Contact your system administrator." #~ msgstr "Installationen misslyckades. Kontakta din systemadministratör." #~ msgid "Vector angles and lengths" #~ msgstr "Vektorvinklar och -längder" #~ msgid "Failed to create thumbnail directory '%s'." #~ msgstr "Misslyckades med att skapa miniatyrbildskatalogen \"%s\"." #~ msgid "" #~ "Did you notice any error messages in the console window?\n" #~ "If not, installation was successful!\n" #~ "Otherwise, quit and investigate the possible reason..." #~ msgstr "" #~ "SÃ¥g du nÃ¥gra felmeddelanden i konsollfönstret?\n" #~ "Om inte sÃ¥ lyckades installationen! Annars, avsluta\n" #~ "och undersök vad som kan ha gÃ¥tt fel..." #~ msgid "Convolve Type" #~ msgstr "Konvolveringstyp" #~ msgid "Tool Toggle" #~ msgstr "Verktygsväxel" #~ msgid "Allow Enlarging" #~ msgstr "TillÃ¥t förstoring" #~ msgid "Anti Erase" #~ msgstr "Antisudda" #~ msgid "Move Mode" #~ msgstr "Flyttläge" #~ msgid "15 Degrees" #~ msgstr "15°" #~ msgid "Keep Height" #~ msgstr "BehÃ¥ll höjd" #~ msgid "Fill Type ()" #~ msgstr "Fyllnadstyp ()" #~ msgid "Convolve Type ()" #~ msgstr "Konvolveringstyp ()" #~ msgid "Tool Toggle ()" #~ msgstr "Verktygsväxel ()" #~ msgid "Allow Enlarging ()" #~ msgstr "TillÃ¥t förstoring ()" #~ msgid "Type ()" #~ msgstr "Typ ()" #~ msgid "Anti Erase ()" #~ msgstr "Antisudda ()" #~ msgid "Move Mode ()" #~ msgstr "Flyttläge ()" #~ msgid "15 Degrees ()" #~ msgstr "15° ()" #~ msgid "Keep Height ()" #~ msgstr "BehÃ¥ll höjd ()" #~ msgid "Keep Width ()" #~ msgstr "BehÃ¥ll bredd ()" #~ msgid "Show Grid" #~ msgstr "Visa rutnät" #~ msgid "Menu _Bar Per Display" #~ msgstr "Meny_rad per display" #~ msgid "Disable _Tearoff Menus" #~ msgstr "Inaktivera _löstagbara menyer" #~ msgid "Failed to open '%s' for reading: %s" #~ msgstr "Misslyckades med att öppna \"%s\" för läsning: %s" #~ msgid "Tool procedures" #~ msgstr "Verktygsprocedurer" #~ msgid "" #~ "Unable to save '%s':\n" #~ "%s" #~ msgstr "" #~ "Kunde inte spara \"%s\":\n" #~ "%s" #~ msgid "Failed to open palette file '%s': %s" #~ msgstr "Misslyckades med att öppna filen \"%s\": %s" #~ msgid "" #~ "Cannot save palette '%s':\n" #~ "%s" #~ msgstr "" #~ "Kan inte spara paletten \"%s\":\n" #~ "%s" #~ msgid "_Information Window Per Display" #~ msgstr "_Informationsfönster per display" #~ msgid "parsing \"%s\"\n" #~ msgstr "tolkar \"%s\"\n" #~ msgid " at line %d column %d\n" #~ msgstr " pÃ¥ rad %d kolumn %d\n" #~ msgid " unexpected token: %s\n" #~ msgstr " oväntad token: %s\n" #~ msgid "Can't rename %s to %s.old; %s" #~ msgstr "Kan inte döpa om %s till %s.old: %s" #~ msgid "Couldn't reopen %s\n" #~ msgstr "Kan inte öppna %s igen\n" #~ msgid "Can't write to %s; %s" #~ msgstr "Kan inte skriva till %s: %s" #~ msgid "/Default Color" #~ msgstr "/Standardfärg" #~ msgid "Gradient Selection" #~ msgstr "Färgskalemarkering" #~ msgid "Save Preferences ?" #~ msgstr "Spara inställningar?" #~ msgid "" #~ "At least one of the changes you made will only\n" #~ "take effect after you restart the GIMP.\n" #~ "\n" #~ "You may choose 'Save' now to make your changes\n" #~ "permanent, so you can restart GIMP or hit 'Close'\n" #~ "and the critical parts of your changes will not\n" #~ "be applied." #~ msgstr "" #~ "Ã…tminstone en av de förändringar du gjort kommer endast\n" #~ "att träda i kraft efter du startat om GIMP.\n" #~ "\n" #~ "Du kan välja att spara nu för att göra dina förändringar\n" #~ "permanenta sÃ¥ du kan starta om GIMP eller trycka pÃ¥ \"Stäng\"\n" #~ "för att strunta i att använda de förändringarna." #~ msgid "Info Window Follows Mouse" #~ msgstr "Informationsfönstret följer musen" #~ msgid "Auto Save" #~ msgstr "Spara automatiskt" #~ msgid "Monitor Resolution X:" #~ msgstr "Bildskärmsupplösning X:" #~ msgid "Perspective Transform" #~ msgstr "Perspektivtransformation" #~ msgid "%s Options" #~ msgstr "Alternativ för %s" #~ msgid "Flip Tool" #~ msgstr "Vändverktyg" #~ msgid "Ink Tool" #~ msgstr "Bläckverktyg" #~ msgid "Intelligent Scissors" #~ msgstr "Intelligent sax" #~ msgid "Move Tool" #~ msgstr "Flyttaverktyg" #~ msgid "Perspective Tool" #~ msgstr "Perspektivverktyg" #~ msgid "Scale Tool" #~ msgstr "Skalningsverktyg" #~ msgid "Shear Tool" #~ msgstr "Lutningsverktyg" #~ msgid "Text Tool" #~ msgstr "Textverktyg" #~ msgid "Vector Tool" #~ msgstr "Vektorverktyg" #~ msgid "Gamma color display filter" #~ msgstr "Gammafärgvisningsfilter" #~ msgid "Gamma:" #~ msgstr "Gamma:" #~ msgid "High Contrast color display filter" #~ msgstr "Färgvisningsfilter, högkontrast" #~ msgid "Contrast" #~ msgstr "Kontrast" #~ msgid "Contrast Cycles:" #~ msgstr "Kontrastcykler:" #~ msgid "Painter-style triangle color selector" #~ msgstr "Triangelfärgväljare i Painter-stil" #~ msgid "Watercolor style color selector" #~ msgstr "Färgväljare i vattenfärgsstil" #~ msgid "Watercolor" #~ msgstr "Vattenfärg" #~ msgid "Pressure" #~ msgstr "Tryck" #~ msgid "H" #~ msgstr "N" #~ msgid "S" #~ msgstr "M" #~ msgid "V" #~ msgstr "V" #~ msgid "R" #~ msgstr "R" #~ msgid "A" #~ msgstr "A" #~ msgid "He_x Triplet:" #~ msgstr "He_x-triplett:" #~ msgid "Text Editor" #~ msgstr "Textredigerare" #~ msgid "Cannot float selection: No selection made." #~ msgstr "Kan inte göra markering flytande: Ingen markering är gjord." #~ msgid "" #~ "Module '%s' load error:\n" #~ "%s" #~ msgstr "" #~ "Fel vid inläsning av modul \"%s\":\n" #~ "%s" #~ msgid "Missing module_init() symbol" #~ msgstr "Symbolen module_init() saknas" #~ msgid "loading module: '%s'\n" #~ msgstr "läser in modul: \"%s\"\n" #~ msgid "skipping module: '%s'\n" #~ msgstr "hoppar över modul: \"%s\"\n" #~ msgid "Module DB" #~ msgstr "Moduldatabas" #~ msgid "Loaded OK" #~ msgstr "Lästes in OK" #~ msgid "Load failed" #~ msgstr "Inläsning misslyckades" #~ msgid "Unload requested" #~ msgstr "Begärde glömning" #~ msgid "Unloaded OK" #~ msgstr "Glömdes OK" #~ msgid "Autoload during start-up" #~ msgstr "Läs in automatiskt vid uppstart" #~ msgid "Replicate segment" #~ msgstr "Replikera segmentet" #~ msgid "Replicate selection" #~ msgstr "Replikera markering" #~ msgid "Info: %s-%d.%d" #~ msgstr "Info: %s-%d.%d" #~ msgid "Layer name:" #~ msgstr "Lagernamn:" #~ msgid "Add Mask Options" #~ msgstr "Alternativ för lägg till mask" #~ msgid "Select a Gradient to Create a Palette from" #~ msgstr "Välj en färgskala att skapa en palett frÃ¥n" #~ msgid "Name:" #~ msgstr "Namn:" #~ msgid "new_import" #~ msgstr "ny_import" #~ msgid "Source:" #~ msgstr "Källa:" gpaint-2-0.3.3/po/uk.po0000664000076400007640000002460710671211560011476 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # msgid "" msgstr "" "Project-Id-Version: gpaint\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-09-10 02:50-0700\n" "PO-Revision-Date: 2003-02-24 15:46--500\n" "Last-Translator: Yuriy Syrota \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/ui.c:49 msgid "New Canvas" msgstr "Ðове полотно" #: src/ui.c:57 msgid "Enter the desired image size:" msgstr "Введіть розміри зображеннÑ:" #: src/ui.c:86 msgid "Width: " msgstr "Ширина:" #: src/ui.c:94 msgid "Height: " msgstr "ВиÑота:" #: src/ui.c:185 msgid "about" msgstr "про" #: src/ui.c:214 #, fuzzy msgid "" "This program is free software; you may redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " "Software Foundation, either version 3, or (at your opinion) any later " "version.\n" msgstr "" "Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° Ñ” вільним програмним забезпеченнÑм. Ви можете розповÑюджувати Ñ– " "модифікувати Ñ—Ñ— згідно з умовами ліцензії GNU General Public License " "опублікованої Фундаціїєю вільного програмного забезпеченнÑ, або верÑÑ–Ñ— 2, " "або (за вашим бажаннÑм) будь Ñкої пізнішої верÑÑ–Ñ—.\n" #: src/ui.c:223 msgid "" "based on xpaint, by David Koblas and Torsten Martinsen \n" "Copyright 1992--1996" msgstr "" "заÑновано на xpaint, авторами Ñкого Ñ” David Koblas Ñ– Torsten Martinsen\n" "ÐвторÑьке право © 1992 — 1996" #: src/ui.c:231 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) " msgstr "" "ÐвторÑьке право © 2000 — 2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "ÐвторÑьке право © 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/ui.c:489 msgid "gpaint" msgstr "МалюваннÑ" #: src/ui.c:506 #, fuzzy msgid "_File" msgstr "_Ðовий файл" #: src/ui.c:515 #, fuzzy msgid "_New" msgstr "Ðовий" #: src/ui.c:525 #, fuzzy msgid "_Open" msgstr "Відкрити" #: src/ui.c:538 #, fuzzy msgid "_Save" msgstr "Зберегти" #: src/ui.c:551 #, fuzzy msgid "Save _As" msgstr "Зберегти Ñк" #: src/ui.c:567 src/ui.c:572 msgid "Print Preview" msgstr "Зразок друку" #: src/ui.c:579 #, fuzzy msgid "_Print" msgstr "Ðадрукувати" #: src/ui.c:596 msgid "_Close" msgstr "" #: src/ui.c:606 msgid "_Quit" msgstr "" #: src/ui.c:619 msgid "_Edit" msgstr "" #: src/ui.c:628 msgid "Cu_t" msgstr "" #: src/ui.c:641 msgid "_Copy" msgstr "" #: src/ui.c:654 msgid "_Paste" msgstr "" #: src/ui.c:667 msgid "Clear" msgstr "" #: src/ui.c:683 msgid "_Select All" msgstr "" #: src/ui.c:691 msgid "_Image" msgstr "_ЗображеннÑ" #: src/ui.c:700 msgid "Desktop" msgstr "СтільницÑ" #: src/ui.c:709 msgid "Get Snapshot of Desktop" msgstr "ВзÑти знімок екрана" #: src/ui.c:714 msgid "Set Desktop Background" msgstr "Зробити тлом Ñтільниці" #: src/ui.c:725 #, fuzzy msgid "Rotate Right" msgstr "Повернути" #: src/ui.c:729 msgid "Rotate 90 degrees Clockwise" msgstr "" #: src/ui.c:734 #, fuzzy msgid "Rotate Left" msgstr "Повернути" #: src/ui.c:738 msgid "Rotate 90 degrees Anticlockwise" msgstr "" #: src/ui.c:749 #, fuzzy msgid "Flip Left to Right" msgstr "Зліва направо" #: src/ui.c:753 #, fuzzy msgid "Mirror Left to Right" msgstr "Зліва направо" #: src/ui.c:758 #, fuzzy msgid "Flip Top to Bottom" msgstr "Зверху вниз" #: src/ui.c:766 #, fuzzy msgid "Effec_ts" msgstr "_Ефекти" #: src/ui.c:775 #, fuzzy msgid "_Invert" msgstr "_Відновити" #: src/ui.c:780 msgid "_Sharpen" msgstr "_Чіткіше" #: src/ui.c:791 msgid "S_mooth" msgstr "З_гладити" #: src/ui.c:796 msgid "_Directional Smooth" msgstr "Згладити _напрÑмлено" #: src/ui.c:801 msgid "Despeckle" msgstr "Знешумити" #: src/ui.c:812 msgid "_Edge Detect" msgstr "Виділені _краї" #: src/ui.c:817 msgid "Emboss" msgstr "Рельєф" #: src/ui.c:822 msgid "_Oil Paint" msgstr "_Олійні фарби" #: src/ui.c:827 msgid "_Add Noise" msgstr "_Додати шум" #: src/ui.c:832 msgid "Spread" msgstr "РозÑіюваннÑ" #: src/ui.c:837 msgid "_Pixelize" msgstr "_ПікÑелізаціÑ" #: src/ui.c:842 msgid "_Blend" msgstr "З_литтÑ" #: src/ui.c:847 msgid "Solarize" msgstr "ОÑвітленнÑ" #: src/ui.c:858 msgid "_Normalize Contrast" msgstr "_Ðормалізувати контраÑтніÑть" #: src/ui.c:863 msgid "_Quantize Color" msgstr "_Квантувати колір" #: src/ui.c:868 msgid "Convert to _Greyscale" msgstr "Перетворити у _градації Ñірого" #: src/ui.c:873 msgid "_Windows" msgstr "" #: src/ui.c:882 msgid "Create _New Window" msgstr "" #: src/ui.c:890 msgid "_Close This Window" msgstr "" #: src/ui.c:898 msgid "_Help" msgstr "" #: src/ui.c:907 #, fuzzy msgid "_About" msgstr "про" #: src/ui.c:932 msgid "New" msgstr "Ðовий" #: src/ui.c:936 msgid "New File" msgstr "Ðовий файл" #: src/ui.c:940 msgid "Open" msgstr "Відкрити" #: src/ui.c:944 msgid "Open File" msgstr "Відкрити файл" #: src/ui.c:948 msgid "Save" msgstr "Зберегти" #: src/ui.c:952 msgid "Save File" msgstr "Зберегти файл" #: src/ui.c:956 msgid "Save As" msgstr "Зберегти Ñк" #: src/ui.c:960 msgid "Save File As" msgstr "Зберегти файл з іншою назвою" #: src/ui.c:969 src/ui.c:974 msgid "Print" msgstr "Ðадрукувати" #: src/ui.c:1001 msgid "Bold" msgstr "Жирний" #: src/ui.c:1006 msgid "bold text" msgstr "жирний текÑÑ‚" #: src/ui.c:1010 msgid "Italic" msgstr "КурÑив" #: src/ui.c:1015 msgid "italic text" msgstr "курÑивний текÑÑ‚" #: src/ui.c:1019 msgid "Underline" msgstr "ПідкреÑлений" #: src/ui.c:1024 msgid "underline text" msgstr "підкреÑлений текÑÑ‚" #: src/ui.c:1036 src/ui.c:1067 msgid "line width" msgstr "товщина лінії" #: src/ui.c:1054 msgid "1" msgstr "1" #: src/ui.c:1055 msgid "2" msgstr "2" #: src/ui.c:1056 msgid "3" msgstr "3" #: src/ui.c:1057 msgid "4" msgstr "4" #: src/ui.c:1058 msgid "6" msgstr "6" #: src/ui.c:1059 msgid "8" msgstr "8" #: src/ui.c:1118 msgid "erase" msgstr "витерти" #: src/ui.c:1129 msgid "lasso" msgstr "лаÑо" #: src/ui.c:1140 #, fuzzy msgid "rectselect" msgstr "прÑмокутник" #: src/ui.c:1151 src/ui.c:1299 msgid "fill" msgstr "заповнити" #: src/ui.c:1162 msgid "line" msgstr "лініÑ" #: src/ui.c:1173 #, fuzzy msgid "multiline" msgstr "лініÑ" #: src/ui.c:1184 msgid "rectangle" msgstr "прÑмокутник" #: src/ui.c:1195 #, fuzzy msgid "freehand" msgstr "закрита ручна крива" #: src/ui.c:1217 msgid "pen" msgstr "олівець" #: src/ui.c:1228 #, fuzzy msgid "polyselect" msgstr "виділити багатокутник" #: src/ui.c:1240 msgid "text" msgstr "текÑÑ‚" #: src/ui.c:1251 msgid "arc" msgstr "дуга" #: src/ui.c:1262 msgid "curve" msgstr "крива" #: src/ui.c:1273 msgid "oval" msgstr "овал" #: src/ui.c:1284 msgid "brush" msgstr "пензель" #: src/util.c:120 src/util.c:144 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ файл зображеннÑ: %s" #. default filename #: src/drawing.c:46 msgid "untitled.png" msgstr "" #: src/drawing.c:220 #, c-format msgid "" "The file %s already exists.\n" "\n" "Do you want to overwrite it?" msgstr "" #: src/drawing.c:260 #, c-format msgid "" "Failed to save file %s.\n" "\n" "%s" msgstr "" #: src/drawing.c:308 msgid "Untitled" msgstr "" #: src/drawing.c:324 msgid " (modified)" msgstr "" #: src/drawing.c:326 #, fuzzy msgid " - gpaint" msgstr "МалюваннÑ" #: src/drawing.c:427 #, c-format msgid "" "Do you want to save the changes you made to \"%s\"?\n" "Your changes will be lost if you don't save them." msgstr "" #: src/drawing.c:432 msgid "Close _without Saving" msgstr "" #: src/about.c:51 #, fuzzy msgid "" "Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai\n" "Copyright 2002 Michael A. Meffie III\n" "\n" "based on xpaint, by David Koblas and Torsten Martinsen\n" "Copyright 1992--1996" msgstr "" "ÐвторÑьке право © 2000 — 2002 Li-Cheng (Andy) Tai (atai@gnu.org)\n" "ÐвторÑьке право © 2002 Michael A. Meffie III (meffiem@neo.rr.com) " #: src/about.c:58 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 3\n" "of the License, or (at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be\n" "useful, but WITHOUT ANY WARRANTY; without even the implied\n" "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" "PURPOSE. See the GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see .\n" msgstr "" #: src/about.c:72 msgid "a small-scale painting program for GNOME, the GNU Desktop." msgstr "" #~ msgid "Flip" #~ msgstr "Віддзеркалити" #~ msgid "background color" #~ msgstr "колір тла" #~ msgid "Background color" #~ msgstr "Колір тла" #~ msgid "foreground color" #~ msgstr "колір переднього плану" #~ msgid "Foreground color" #~ msgstr "Колір переднього плану" #~ msgid "+90" #~ msgstr "+90" #~ msgid "+45" #~ msgstr "+45" #~ msgid "-45" #~ msgstr "-45" #~ msgid "-90" #~ msgstr "-90" #~ msgid "+180" #~ msgstr "+180" #~ msgid "About G_NOME" #~ msgstr "Про G_NOME" #~ msgid "About _GNU" #~ msgstr "Про _GNU" #~ msgid "polyline" #~ msgstr "багатокутник" #~ msgid "Zoom:" #~ msgstr "МаÑштаб:" #~ msgid "Couldn't create pixmap from file: %s" #~ msgstr "Ðе вдалоÑÑ Ñтворити Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð· файла: %s" gpaint-2-0.3.3/po/am.gmo0000664000076400007640000000313410671211561011611 00000000000000Þ• )ü ¡£¥§©«­²ºÃÊÎ× Üæ ìúÿ   (07=CJ OZD_¤¦¨ª¬® ° ºÄ× ÷  3#=a q’-¯Ý ô $ +8 R     123468BoldDesktopHeight: ItalicNewNew FileOpenOpen FilePrintPrint PreviewSaveSave AsSave FileSave File AsUnderlineWidth: _Imageabouterasegpaintlineline widthtextProject-Id-Version: gpaint Report-Msgid-Bugs-To: POT-Creation-Date: 2007-09-10 02:50-0700 PO-Revision-Date: 2003-02-03 10:13+EDT Last-Translator: Ge'ez Frontier Foundation Language-Team: Amharic MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit 123468ደማቅሠሌዳእርá‹áˆ›áŠ”á¦áŠ á‹­á‰³áˆŠáŠ­ ማድረጊያአዲስአዲስ á‹á‹­áˆáŠ­áˆá‰µá‹á‹­áˆ ክáˆá‰µáŠ á‰µáˆá‹¨á‰…ድመ ህትመት ዕይታአስቀáˆáŒ¥á‰ áˆŒáˆ‹ ስሠአስቀáˆáŒ¥á‹á‹­áˆáŠ• አስቀáˆáŒ¥á‹á‹­áˆ‰áŠ• በሌላ ስሠአስቀáˆáŒ¥á‹¨áˆµáˆ­ መስመርስá‹á‰µá¦áˆáˆµáˆ (_I)ስለደáˆáˆµáˆµgpaintመስመርየመስመር ስá‹á‰µáŒ½áˆ‘ágpaint-2-0.3.3/po/ca.gmo0000664000076400007640000000245310671211561011602 00000000000000Þ•ì%¼PQSUWY[]b€ ˆ’™¢©­¶»ÁÆ ÎØ ßéñøNýLNPRTVX(` ‰”¥ ¬¸À ÄÏÔÝâñ  &   123468BoldCouldn't find pixmap file: %sDesktopDespeckleEmbossHeight: ItalicNewNew FileOpenPrintSaveSave AsSave FileSpreadUnderlineWidth: _ImagetextProject-Id-Version: Gpaint Report-Msgid-Bugs-To: POT-Creation-Date: 2007-09-10 02:50-0700 PO-Revision-Date: 2003-02-21 17:13+0100 Last-Translator: Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: KBabel 0.9.6 123468NegretaNo es pot trobar el fitxer de pixmap: %sEscriptoriElimina els picsRelleuAlçada: CursivaNouNou fitxerObreImprimirDesaAnomena i desaDesa el fitxerEscamparSubratllatAmplada: _Imatgetextgpaint-2-0.3.3/po/cs.gmo0000664000076400007640000000607310671211561011626 00000000000000Þ•> SüHIKMOQSUZpŽ – §ÅÝæí ñü  (05 = GTkt {… ˜Ÿ ³ÀÇ Û æð L `jpv| ˆ”š Ÿª¯ ³½Â6Ñ        8 Y j t '| ¤ ¾ È Ñ × å ò ü  - 7 ? L [ o Œ ˜ ¦ ² ½ Ë Ô è ö   # 0 A L W M^ ¬ ¹  Ê Ò Ú á ð õ þ    % * 83(">! )&-0 ., *45#/;+ =9:2'  76%<1$123468BoldConvert to _GreyscaleCouldn't find pixmap file: %sDesktopDespeckleEmbossEnter the desired image size:Get Snapshot of DesktopHeight: ItalicNewNew CanvasNew FileOpenOpen FilePrintPrint PreviewS_moothSaveSave AsSave FileSave File AsSet Desktop BackgroundSolarizeSpreadUnderlineWidth: _Add Noise_Blend_Directional Smooth_Edge Detect_Image_Normalize Contrast_Oil Paint_Pixelize_Quantize Color_Sharpenaboutarcbased on xpaint, by David Koblas and Torsten Martinsen Copyright 1992--1996bold textbrushcurveerasefillgpaintitalic textlassolineline widthovalpenrectangletextunderline textProject-Id-Version: gpaint VERSION Report-Msgid-Bugs-To: POT-Creation-Date: 2007-09-10 02:50-0700 PO-Revision-Date: 2003-02-22 23:47+0100 Last-Translator: Miloslav Trmac Language-Team: Czech MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 123468TuÄnýPÅ™evést na _stupnÄ› Å¡ediNemohu najít soubor pixmapy: %sPracovní plochaVyÄistitReliéfZadejte požadovanou velikost obrázku:Získat snímek obrazovkyVýška: KurzívaNovýNové plátnoNový souborOtevřítOtevřít souborVytisknoutNáhled pÅ™ed tiskem_VyhladitUložitUložit jakoUložit souborUložit soubor jakoNastavit jako pozadí plochySolarizovatRozprostřítPodtrženýŠířka: _PÅ™idat Å¡um_SmísitVyhladit ve _smÄ›ruDetekce _hran_Obrázek_Normalizovat kontrast_Olejomalba_Pixelizovat_Kvantovat barvy_ZaostÅ™ito programuobloukzaloženo na xpaint od David Koblas a Torsten Martinsen Copyright 1992--1996tuÄný textÅ¡tÄ›teckÅ™ivkavymazatvyplnitgpainttext kurzívoulasoúseÄkašířka řádkuoválperoobdélníktextpodtržený textgpaint-2-0.3.3/po/de.gmo0000664000076400007640000000775710671211561011623 00000000000000Þ•Jle¼P Q ]gikmoqsxެ ´c¾")Gc{„‹ 𣠍² ¸ÆÎÓ Û åò 9 S]f ny€ ”¡§­³ºÂÇ Û æð     # ) / 4 = D P U ` e i t ~ ƒ ’ ^Ÿ þ    $ ) . 3 8 .Q €  q¢  ' 1E w  • œ   µ Ê Ò é ó   ( "7 Z u ’ > Ü ê î ÷   &G \hov|…Š ŸªÃ Øãë ú "+BKRa p|“¯ÁÐç >D7:"E*(1,J-+=G?!F485BA3 '$;%0/HC&62)< .I 9 @# (modified) - gpaint123468BoldConvert to _GreyscaleCouldn't find pixmap file: %sDesktopDespeckleDo you want to save the changes you made to "%s"? Your changes will be lost if you don't save them.EmbossEnter the desired image size:Failed to save file %s. %sGet Snapshot of DesktopHeight: ItalicNewNew CanvasNew FileOpenOpen FilePrintPrint PreviewS_moothSaveSave AsSave FileSave File AsSet Desktop BackgroundSolarizeSpreadThe file %s already exists. Do you want to overwrite it?UnderlineUntitledWidth: _Add Noise_Blend_Directional Smooth_Edge Detect_Edit_File_Help_Image_Invert_New_Normalize Contrast_Oil Paint_Pixelize_Quantize Color_Sharpenaboutarcbold textbrushcurveerasefillfreehandgpaintitalic textlineline widthovalpenpolyselectrectangletextunderline textuntitled.pngProject-Id-Version: gpaint-2 0.3.0-pre5 Report-Msgid-Bugs-To: POT-Creation-Date: 2007-09-10 02:50-0700 PO-Revision-Date: 2006-12-29 08:38+0100 Last-Translator: Christian Müller Language-Team: German MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); (geändert) - gpaint1 px2 px3 px4 px6 px8 pxFettUmwandeln in _GraustufenBenötigte Programmresource nicht gefunden: %s_ArbeitsflächeRauschen min_dernSollen die Änderungen an "%s" gespeichert werden? Alle Änderungen gehen verloren, falls nicht gespeichert wird._PrägenBitte die Bildgröße in pixel angeben:Die Datei %s konnte nicht gespeichert werden. %s_Schnappschuss machenHöhe: KursivNeuNeues Bild erstellenNeues Bild erstellenÖffnenBild aus Datei öffnenDrucken..Druck_vorschau_GlättenSpeichernSpeichern unter..Bild speichernBild unter anderem Namen speichern_Hintergrundbild festlegenSo_larisieren (Postereffekt)_VerteilenDiese Datei gibt es schon: %s Soll sie überschrieben werden?UnterstrichenNeuBreite: R_auschen hinzufügenAus der _Mitte aufhellenGlätten in bestimmter _RichtungKant_en herauslösenB_earbeiten_Datei_Hilfe_BildNegat_iv_NeuKo_ntrast aussteuernÖlen (_o)Mosaiksteine, ver_pixelnFarben _quantisieren_SchärfenÜber..Bogen zeichnenFettschriftPinselBezierkurve zeichnenRadierenFarbeimer ausschüttenFreihandgpaintSchrägschriftLinie zeichnenStiftbreiteEllipse zeichnenStiftPolygonausschnitt festlegenRechteck zeichnenText schreibenUnterstrichene Schriftneu.pnggpaint-2-0.3.3/po/es.gmo0000664000076400007640000000621110671211561011622 00000000000000Þ•> SüHIKMOQSUZpŽ – §ÅÝæí ñü  (05 = GTkt {… ˜Ÿ ³ÀÇ Û æð L `jpv| ˆ”š Ÿª¯ ³½ÂfÑ8 : < > @ B D L /j š ¥ ± *º "å     * 8 > L U s } … ’ ¢ "· Ú è ô þ    5 J R i | … – ˜ Ÿ L¤ ñ      & 8 @ G Z ` g s y 83(">! )&-0 ., *45#/;+ =9:2'  76%<1$123468BoldConvert to _GreyscaleCouldn't find pixmap file: %sDesktopDespeckleEmbossEnter the desired image size:Get Snapshot of DesktopHeight: ItalicNewNew CanvasNew FileOpenOpen FilePrintPrint PreviewS_moothSaveSave AsSave FileSave File AsSet Desktop BackgroundSolarizeSpreadUnderlineWidth: _Add Noise_Blend_Directional Smooth_Edge Detect_Image_Normalize Contrast_Oil Paint_Pixelize_Quantize Color_Sharpenaboutarcbased on xpaint, by David Koblas and Torsten Martinsen Copyright 1992--1996bold textbrushcurveerasefillgpaintitalic textlassolineline widthovalpenrectangletextunderline textProject-Id-Version: gpaint Report-Msgid-Bugs-To: POT-Creation-Date: 2007-09-10 02:50-0700 PO-Revision-Date: 2003-02-05 12:01-0300 Last-Translator: Pablo Gonzalo del Campo Language-Team: Spanish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: KBabel 1.1 123468NegritaConvertir a escala de _grisesNo se ha podido encontrar el archivo pixmap: %sEscritorioDesempolvarResaltarIngrese el tamaño de la imagen que desea:Capturar una imagen del escritorioAlto:ItálicaNuevoNuevo lienzoArchivo nuevoAbrirAbrir archivoImprimirVista previa de la impresiónS_uavizarGuardarGuardar comoGuardar archivoGuardar archivo comoEstablecer el fondo del escritorioSolarizaciónDesparramarSubrayadoAncho:_Añadir ruidoC_ombinarSuavizado _direccionalD_etección de borde_ImagenContraste _normalizadoP_intura al aceite_Pixelar_Cuantizar color_acercaarcobasado en xpaint, por David Koblas y Torsten Martinsen Copyright 1992--1996Texto en negritabrochacurvaborrarrellenargpaintTexto en itálicaenlazarlíneaancho de la líneaovalolápizrectángulotextotexto subrayadogpaint-2-0.3.3/po/fr.gmo0000664000076400007640000000621010671211561011621 00000000000000Þ•> SüHIKMOQSUZpŽ – §ÅÝæí ñü  (05 = GTkt {… ˜Ÿ ³ÀÇ Û æð L `jpv| ˆ”š Ÿª¯ ³½ÂUÑ' ) + - / 1 3 8 'U } „  +— Ã Þ ê ó û   ! 3 < O W c t ‹ § Ä Î × á í ý   2 9 P e p ‡ ’ œ Mª ø     $ + = C I Z b h r x 83(">! )&-0 ., *45#/;+ =9:2'  76%<1$123468BoldConvert to _GreyscaleCouldn't find pixmap file: %sDesktopDespeckleEmbossEnter the desired image size:Get Snapshot of DesktopHeight: ItalicNewNew CanvasNew FileOpenOpen FilePrintPrint PreviewS_moothSaveSave AsSave FileSave File AsSet Desktop BackgroundSolarizeSpreadUnderlineWidth: _Add Noise_Blend_Directional Smooth_Edge Detect_Image_Normalize Contrast_Oil Paint_Pixelize_Quantize Color_Sharpenaboutarcbased on xpaint, by David Koblas and Torsten Martinsen Copyright 1992--1996bold textbrushcurveerasefillgpaintitalic textlassolineline widthovalpenrectangletextunderline textProject-Id-Version: gpaint 0.2.2 Report-Msgid-Bugs-To: POT-Creation-Date: 2007-09-10 02:50-0700 PO-Revision-Date: 2003-04-07 00:12+0200 Last-Translator: Laurent Richard Language-Team: GNOME French Team MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 123468GrasConvertir en niveau de _grisNe peut trouver le fichier pixmap : %sBureauPoussièrerGraverSaisissez la taille de l'image désirée :Faire une capture d'écranHauteur : ItaliqueNouveauNouvelle toileNouveau fichierOuvrirOuvrir un fichierImprimerAfficher l'aperçuL_isserEnregistrerEnregistrer sousEnregistrer le fichierEnregistrer le fichier sousÉtablir comme fond d'écranSolariserDiffuserSoulignéLargeur : A_jouter du son_MélangerLissage _directionnel_Détection du bord_Image_Réduire le contrastePeinture à l'_huile_Pixeliser_Quantifier la couleurA_ccentuerÀ proposarc de cerclebasé sur xpaint, par David Koblas et Torsten Martinsen Copyright 1992--1996texte en grasbrossecourbeeffacerremplirgpainttexte en italiquelassolignelargeur de ligneellipsestylorectangletextetexte soulignégpaint-2-0.3.3/po/ga.gmo0000664000076400007640000000174210671211561011606 00000000000000Þ•´LÀÁÃÅÇÉËÍÕÙâ çñö þ "2'Z\^`bdfl p{ ‚  š¦¸ÎÓÛ   123468DesktopNewNew FileOpenOpen FileSaveSave AsSave FileSave File AserasegpainttextProject-Id-Version: gpaint HEAD Report-Msgid-Bugs-To: POT-Creation-Date: 2007-09-10 02:50-0700 PO-Revision-Date: 2003-03-12 14:48+0000 Last-Translator: Paul Duffy Language-Team: Irish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 123468DeascNuaComhad NuaOscailOscail ComhadSábháilSábháimarSábhá an ComhadSábháil an Coad marglangpéinttéacsgpaint-2-0.3.3/po/ja.gmo0000664000076400007640000000646410671211561011617 00000000000000Þ•> SüHIKMOQSUZpŽ – §ÅÝæí ñü  (05 = GTkt {… ˜Ÿ ³ÀÇ Û æð L `jpv| ˆ”š Ÿª¯ ³½ÂVÑ( * , . 0 2 4 "D /g — ª · .Ä !ó   / 6 L _ f | ƒ œ ­ ´ Í ã ü  1 ; B F Z k … ™ "¤ Ç Ò æ ú   K e ‹ ’ ™ ¦ ­ Ì è ì ö ý    83(">! )&-0 ., *45#/;+ =9:2'  76%<1$123468BoldConvert to _GreyscaleCouldn't find pixmap file: %sDesktopDespeckleEmbossEnter the desired image size:Get Snapshot of DesktopHeight: ItalicNewNew CanvasNew FileOpenOpen FilePrintPrint PreviewS_moothSaveSave AsSave FileSave File AsSet Desktop BackgroundSolarizeSpreadUnderlineWidth: _Add Noise_Blend_Directional Smooth_Edge Detect_Image_Normalize Contrast_Oil Paint_Pixelize_Quantize Color_Sharpenaboutarcbased on xpaint, by David Koblas and Torsten Martinsen Copyright 1992--1996bold textbrushcurveerasefillgpaintitalic textlassolineline widthovalpenrectangletextunderline textProject-Id-Version: gpaint HEAD Report-Msgid-Bugs-To: POT-Creation-Date: 2007-09-10 02:50-0700 PO-Revision-Date: 2003-03-07 11:45+0900 Last-Translator: KAMAGASAKO Masatoshi Language-Team: Japanese MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit 123468ボールド体グレースケールã«å¤‰æ›(_G)pixmap ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: %sデスクトップã—ã¿å–りエンボス画åƒã®ã‚µã‚¤ã‚ºã‚’入力ã—ã¦ãã ã•ã„:デスクトップã®å–り込ã¿é«˜ã•ã‚¤ã‚¿ãƒªãƒƒã‚¯èª¿æ–°è¦æ–°è¦ã‚­ãƒ£ãƒ³ãƒã‚¹æ–°è¦ãƒ•ァイル開ãファイルを開ãå°åˆ·ãƒ—レビューを表示ãªã‚らã‹(S_)ä¿å­˜åå‰ã‚’付ã‘ã¦ä¿å­˜ãƒ•ァイルをä¿å­˜åå‰ã‚’付ã‘ã¦ä¿å­˜ãƒ‡ã‚¹ã‚¯ãƒˆãƒƒãƒ—ã«è¨­å®šã‚½ãƒ©ãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³æ•£ã‚‰ã™ä¸‹ç·šå¹…ノイズ追加(_A)ブレンド(_B)æŒ‡å‘æ€§ã‚¹ãƒ ãƒ¼ã‚º(_D)輪郭を検出(_E)ç”»åƒ(_I)ã‚³ãƒ³ãƒˆãƒ©ã‚¹ãƒˆã®æ­£è¦åŒ–(_N)油絵(_O)ピクセル化(_P)色ã®é‡å­åŒ–(_Q)シャープ化(_S)情報弧based on xpaint, by David Koblas and Torsten Martinsen Copyright 1992--1996ボールド体テキストブラシ曲線消去塗り潰ã—gpaintイタリック調テキストフリーãƒãƒ³ãƒ‰ã§é¸æŠžç·šç·šã®å¹…楕円ペン四角形テキスト下線付ãテキストgpaint-2-0.3.3/po/nl.gmo0000664000076400007640000000603410671211561011627 00000000000000Þ•=Sì89;=?ACEJ`~ †—µÍÖÝ áìõ ú  % - 7D[ bl t† š§® Â Í×çðöLú GQW]ch o{ †‘– š¤©F¸ÿ       "+ N Y f (m – · ¿ Ç Í Û é ð ÿ   # + 7 G $[ € Œ ™ ¢ ² º Ô ã ï    0 = B QG ™ ¥ « ² ¹ À Ç Ö Ü á ï õ ù   72'!=  (%,/ -+)34".:* <891&  65$;0#123468BoldConvert to _GreyscaleCouldn't find pixmap file: %sDesktopDespeckleEmbossEnter the desired image size:Get Snapshot of DesktopHeight: ItalicNewNew CanvasNew FileOpenOpen FilePrintPrint PreviewS_moothSaveSave AsSave FileSave File AsSet Desktop BackgroundSpreadUnderlineWidth: _Add Noise_Blend_Directional Smooth_Edge Detect_Image_Normalize Contrast_Oil Paint_Pixelize_Quantize Color_Sharpenaboutarcbased on xpaint, by David Koblas and Torsten Martinsen Copyright 1992--1996bold textbrushcurveerasefillgpaintitalic textlassolineline widthovalpenrectangletextunderline textProject-Id-Version: gpaint cvs Report-Msgid-Bugs-To: POT-Creation-Date: 2007-09-10 02:50-0700 PO-Revision-Date: 2003-03-14 22:15--100 Last-Translator: Vincent van Adrighem Language-Team: Dutch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 123468VetNaar _grijswaarden omzettenKan pixmap bestand niet vinden: %sBureaubladOntspikkelenEmbossVoer het gewenste afbeeldingsformaat in:Neem een foto van het bureaubladHoogte:CursiefNieuwNieuwe canvasNieuw bestandOpenenBestand openenAfdrukkenAfdrukvoorbeeldAfvlakkenOpslaanOpslaan alsBestand opslaanBestand opslaan alsAls bureaublad achtergrond instellenUitspreidenOnderstrepenBreedte:_Ruis toevoegen_MengenAfvlakken in een richtingRand _opzoeken_Afbeelding_Contrast normaliseren_Olieverf_PixeliserenKleur _quantiserenVer_scherpenoverbooggebaseerd op xpaint, door David Koblas en Torsten Mertinsen Copyright 1992--1996vette tekstkwastkrommewissenvullengpaintcursieve tekstlassolijnregel breedteovaalpenrechthoekteksttekst onderstrepengpaint-2-0.3.3/po/pt.gmo0000664000076400007640000000611710671211561011643 00000000000000Þ•> SüHIKMOQSUZpŽ – §ÅÝæí ñü  (05 = GTkt {… ˜Ÿ ³ÀÇ Û æð L `jpv| ˆ”š Ÿª¯ ³½ÂHÑ    " $ & . (F o  ‘ '˜ (À é ò û   - 6 I S Z f v ‹ « ´ ½ È Ò ã í   ! 7 F Q b k q Mv Ä Ò Ù ß æ í ô     % , 8 > 83(">! )&-0 ., *45#/;+ =9:2'  76%<1$123468BoldConvert to _GreyscaleCouldn't find pixmap file: %sDesktopDespeckleEmbossEnter the desired image size:Get Snapshot of DesktopHeight: ItalicNewNew CanvasNew FileOpenOpen FilePrintPrint PreviewS_moothSaveSave AsSave FileSave File AsSet Desktop BackgroundSolarizeSpreadUnderlineWidth: _Add Noise_Blend_Directional Smooth_Edge Detect_Image_Normalize Contrast_Oil Paint_Pixelize_Quantize Color_Sharpenaboutarcbased on xpaint, by David Koblas and Torsten Martinsen Copyright 1992--1996bold textbrushcurveerasefillgpaintitalic textlassolineline widthovalpenrectangletextunderline textProject-Id-Version: 2.2 Report-Msgid-Bugs-To: POT-Creation-Date: 2007-09-10 02:50-0700 PO-Revision-Date: 2003-03-01 20:50+0000 Last-Translator: Duarte Loreto Language-Team: Portuguese MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 123468NegritoConverter Escala Cin_zaIncapaz de encontrar ficheiro pixmap: %sAmbiente TrabalhoRetirar ManchasRelevoIntroduza o tamanho desejado da imagem:Obter Captura Ecrã do Ambiente TrabalhoAltura: ItálicoNovoNova TelaNovo FicheiroAbrirAbrir FicheiroImprimirAntever Impressão_SuavizarGravarGravar ComoGravar FicheiroGravar Ficheiro ComoDefinir Fundo Ambiente TrabalhoIluminarEspalharSublinhadoLargura: _Adicionar RuidoMist_urarSuavização _DireccionalDetectar _Margens_Imagem_Normalizar ContrastePintura Óle_o_Pixelizar_Quantificar Cor_Nitidezsobrearcobaseado no xpaint, por David Koblas e Torsten Martinsen Copyright 1992--1996texto negritopincelcurvaapagarenchergpainttexto itálicodemarcarlinhalargura linhaovalcanetarectângulotextotexto sublinhadogpaint-2-0.3.3/po/pt_BR.gmo0000664000076400007640000001265710671211561012234 00000000000000Þ•fL‰|  ¡ ­·¹»½¿ÁÃÈÎzä_ }  • c§    9 U h { “ œ £ ¸ ¼ Ç Ð Õ ß å ó  / ; H P U ] g t } ”  9¤ Þ è ñ ù    , 2 F S Y _ e l t y ˜ ž ¥ ¯ ¶ Æ Ì Ò Þ ç ð ö Lú G Q W ] c h q x „ Š š ¤ © ­ ¸  Í Ò á ‡î v „Ž’”–˜š¢©tÇ <] pz ‹h™ '!<^w Žœ¤¬Ë Ð Úç íû& @aw Œ˜ Ÿ«º ÎÛ ôþ/ 7AJSY jt|˜¯ÃËÔÛ ãíó  % 0:KPXi}†ŒL‘ Þìóù   ).4 EPU\ nx‹‘ ¢ 3c R8WB['X%4;& b+:* PNT^-_ MI#0@F(?2GaO] >Z$7VYSJE.1DCU=/9)5!HKQ,d`e"\<Af6L (modified) - gpaint123468BoldClearConvert to _GreyscaleCopyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org) Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) Couldn't find pixmap file: %sCreate _New WindowCu_tDesktopDespeckleDo you want to save the changes you made to "%s"? Your changes will be lost if you don't save them.Effec_tsEmbossEnter the desired image size:Failed to save file %s. %sFlip Left to RightFlip Top to BottomGet Snapshot of DesktopHeight: ItalicMirror Left to RightNewNew CanvasNew FileOpenOpen FilePrintPrint PreviewRotate 90 degrees AnticlockwiseRotate 90 degrees ClockwiseRotate LeftRotate RightS_moothSaveSave AsSave FileSave File AsSave _AsSet Desktop BackgroundSolarizeSpreadThe file %s already exists. Do you want to overwrite it?UnderlineUntitledWidth: _About_Add Noise_Blend_Close_Close This Window_Copy_Directional Smooth_Edge Detect_Edit_File_Help_Image_Invert_New_Normalize Contrast_Oil Paint_Open_Paste_Pixelize_Print_Quantize Color_Quit_Save_Select All_Sharpen_Windowsaboutarcbased on xpaint, by David Koblas and Torsten Martinsen Copyright 1992--1996bold textbrushcurveerasefillfreehandgpaintitalic textlassolineline widthmultilineovalpenpolyselectrectanglerectselecttextunderline textuntitled.pngProject-Id-Version: gpaint 0.2.1POT-Creation-Date Report-Msgid-Bugs-To: POT-Creation-Date: 2007-09-10 02:50-0700 PO-Revision-Date: 2007-07-02 23:03-0300 Last-Translator: Goedson Teixeira Paixão Language-Team: Portuguese/Brazil MIME-Version: (null) Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit (modificado) - gpaint123468NegritoLimparConverter para _Tons de cinzaCopyright 2000--2002 Li-Cheng (Andy) Tai (atai@gnu.org) Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) Não pude encontrar o arquivo: %sCriar _Nova JanelaRecor_tarÁrea de trabalhoTirar manchasVocê deseja salvar as mudanças que você fez em "%s"? Suas mudanças serão perdidas se você não salvá-las.Efei_tosEsculpirEntre o tamanho desejado para a imagem:Falha ao salvar o arquivo %s. %sInverter horizontalmenteInverter verticalmenteCapturar TelaAltura:ItálicoInverte a imagem na horizontalNovoNova TelaNovo ArquivoAbrirAbrir ArquivoImprimirVisualizar ImpressãoGirar 90 graus em sentido anti-horárioGira 90 graus em sentido horárioGirar para a esquerdaGirar para a DireitaSuavizar...SalvarSalvar ComoSalvar ArquivoSalvar Arquivo ComoS_alvar ComoColocar no fundo da telaSolarizarEspalharO arquivo %s já existe. Deseja sobrescrevê-lo?SublinharSem NomeLargura:Sobre_Adicionar RuídoCom_binarFe_charFe_char esta Janela_CopiarSuavização _DirecionalD_etecção de bordas_Editar_ArquivoA_juda_Imagem_Inverter_Novo_Normalizar ContrastePintura a Óle_oAbrirColar_PixelizarIm_primir_Quantizar CoresSair_Salvar_Selecionar TudoEvidenciar detalhes_Janelassobrearcobaseado no xpaint, de David Koblas e Torsten Martinsen Copyright 1992--1996texto negritopincelcurvaapagarpreenchermão livregpainttexto itálicolaçolinhalargura da linhamultilinhaovalcanetaseleção poligonalretânguloSeleção retangulartextotexto sublinhadosem_nome.pnggpaint-2-0.3.3/po/sv.gmo0000664000076400007640000001246610671211561011654 00000000000000Þ•fL‰|  ¡ ­·¹»½¿ÁÃÈÎzä_ }  • c§    9 U h { “ œ £ ¸ ¼ Ç Ð Õ ß å ó  / ; H P U ] g t } ”  9¤ Þ è ñ ù    , 2 F S Y _ e l t y ˜ ž ¥ ¯ ¶ Æ Ì Ò Þ ç ð ö Lú G Q W ] c h q x „ Š š ¤ © ­ ¸  Í Ò á Dî 3 >HJLNPRTX]zxó % / 9oC ³ ½ É(ê.(Env}™ œ¦­ ´¿ÈÜõ" 4? E O Y gr ‘œ0¢ Óàéñõ /8 U bls{ Œ ¦± ¹ Å ÑÛî÷ þ  %(O.~‡Ž”šŸ§ ®ºÀ Æ ÑÜáç ø ) 3c R8WB['X%4;& b+:* PNT^-_ MI#0@F(?2GaO] >Z$7VYSJE.1DCU=/9)5!HKQ,d`e"\<Af6L (modified) - gpaint123468BoldClearConvert to _GreyscaleCopyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org) Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) Couldn't find pixmap file: %sCreate _New WindowCu_tDesktopDespeckleDo you want to save the changes you made to "%s"? Your changes will be lost if you don't save them.Effec_tsEmbossEnter the desired image size:Failed to save file %s. %sFlip Left to RightFlip Top to BottomGet Snapshot of DesktopHeight: ItalicMirror Left to RightNewNew CanvasNew FileOpenOpen FilePrintPrint PreviewRotate 90 degrees AnticlockwiseRotate 90 degrees ClockwiseRotate LeftRotate RightS_moothSaveSave AsSave FileSave File AsSave _AsSet Desktop BackgroundSolarizeSpreadThe file %s already exists. Do you want to overwrite it?UnderlineUntitledWidth: _About_Add Noise_Blend_Close_Close This Window_Copy_Directional Smooth_Edge Detect_Edit_File_Help_Image_Invert_New_Normalize Contrast_Oil Paint_Open_Paste_Pixelize_Print_Quantize Color_Quit_Save_Select All_Sharpen_Windowsaboutarcbased on xpaint, by David Koblas and Torsten Martinsen Copyright 1992--1996bold textbrushcurveerasefillfreehandgpaintitalic textlassolineline widthmultilineovalpenpolyselectrectanglerectselecttextunderline textuntitled.pngProject-Id-Version: gpaint Report-Msgid-Bugs-To: POT-Creation-Date: 2007-09-10 02:50-0700 PO-Revision-Date: 2007-06-11 12:33+0100 Last-Translator: Daniel Nylander Language-Team: Swedish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (ändrad) - gpaint123468FetTömKonvertera till _grÃ¥skalaCopyright 2000--2003, 2007 Li-Cheng (Andy) Tai (atai@gnu.org) Copyright 2002 Michael A. Meffie III (meffiem@neo.rr.com) Kunde inte hitta bildfil: %sSkapa _nytt fönsterKlipp _utSkrivbordAvfläckaVill du spara ändringarna som du har gjort i "%s"? Dina ändringar kommer att förloras om du inte sparar dem.Effek_terGör reliefAnge den önskade bildstorleken:Misslyckades med att spara filen %s. %sVänd vänster till högerVänd topp till bottenFÃ¥ tag i ögonblicksbild av skrivbordetHöjd: KursivSpegla vänster till högerNyNy ritytaNy filÖppnaÖppna filSkriv utFörhandsgranskningRotera 90 grader motsolsRotera 90 grader medsolsRotera Ã¥t vänsterRotera Ã¥t höger_Jämna utSparaSpara somSpara filSpara fil somSpara s_omStäll in skrivbordsbakgrundenSolariseraSpridFilen %s finns redan. Vill du skriva över den?UnderstrukenNamnlösBredd: _Om_Lägg till brus_Tona_Stäng_Stäng det här fönstret_Kopiera_Riktningsbaserad utjämning_Leta kanterR_edigera_Arkiv_Hjälp_Bild_Invertera_Ny_Normalisera kontrast_OljemÃ¥la_ÖppnaKlistra _in_PixeliseraS_kriv ut_Kvantifiera färg_Avsluta_Spara_Markera alltGör _skarpare_FönsterombÃ¥gebaserat pÃ¥ xpaint, av David Koblas och Torsten Martinsen Copyright 1992--1996fet textpenselkurvasuddafyllfrihandgpaintkursiv textlassolinjelinjebreddflerlinjerovalpennapolygonmarkeringrektangelrekt. markeringtextunderstruken textnamnlös.pnggpaint-2-0.3.3/po/uk.gmo0000664000076400007640000000724310671211561011640 00000000000000Þ•> SüHIKMOQSUZpŽ – §ÅÝæí ñü  (05 = GTkt {… ˜Ÿ ³ÀÇ Û æð L `jpv| ˆ”š Ÿª¯ ³½Â7Ñ       8" B[ ž ± Ä 3Ñ $ * 8 E P h |  § ¾ Ö è ù  4) *^ ‰ ž µ Î Ü ñ &ÿ & A 6W Ž § Á â ò ù  ’ ª ¹ Ä Ó æ ù  +EN] t#83(">! )&-0 ., *45#/;+ =9:2'  76%<1$123468BoldConvert to _GreyscaleCouldn't find pixmap file: %sDesktopDespeckleEmbossEnter the desired image size:Get Snapshot of DesktopHeight: ItalicNewNew CanvasNew FileOpenOpen FilePrintPrint PreviewS_moothSaveSave AsSave FileSave File AsSet Desktop BackgroundSolarizeSpreadUnderlineWidth: _Add Noise_Blend_Directional Smooth_Edge Detect_Image_Normalize Contrast_Oil Paint_Pixelize_Quantize Color_Sharpenaboutarcbased on xpaint, by David Koblas and Torsten Martinsen Copyright 1992--1996bold textbrushcurveerasefillgpaintitalic textlassolineline widthovalpenrectangletextunderline textProject-Id-Version: gpaint Report-Msgid-Bugs-To: POT-Creation-Date: 2007-09-10 02:50-0700 PO-Revision-Date: 2003-02-24 15:46--500 Last-Translator: Yuriy Syrota Language-Team: Ukrainian MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit 123468ЖирнийПеретворити у _градації ÑірогоÐе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ файл зображеннÑ: %sСтільницÑЗнешумитиРельєфВведіть розміри зображеннÑ:ВзÑти знімок екранаВиÑота:КурÑивÐовийÐове полотноÐовий файлВідкритиВідкрити файлÐадрукуватиЗразок друкуЗ_гладитиЗберегтиЗберегти ÑкЗберегти файлЗберегти файл з іншою назвоюЗробити тлом ÑтільниціОÑвітленнÑРозÑіюваннÑПідкреÑленийШирина:_Додати шумЗ_литтÑЗгладити _напрÑмленоВиділені _краї_ЗображеннÑ_Ðормалізувати контраÑтніÑть_Олійні фарби_ПікÑелізаціÑ_Квантувати колір_ЧіткішепродугазаÑновано на xpaint, авторами Ñкого Ñ” David Koblas Ñ– Torsten Martinsen ÐвторÑьке право © 1992 — 1996жирний текÑтпензелькривавитертизаповнитиМалюваннÑкурÑивний текÑтлаÑолініÑтовщина лініїовалолівецьпрÑмокутниктекÑтпідкреÑлений текÑÑ‚gpaint-2-0.3.3/src/0000777000076400007640000000000010671212061010736 500000000000000gpaint-2-0.3.3/src/Makefile.in0000664000076400007640000003063310671212061012726 00000000000000# 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 = : host_alias = @host_alias@ host_triplet = @host@ AR = @AR@ AS = @AS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CXX = @CXX@ CXXCPP = @CXXCPP@ DATADIRNAME = @DATADIRNAME@ DLLTOOL = @DLLTOOL@ ECHO = @ECHO@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ GCJ = @GCJ@ GCJFLAGS = @GCJFLAGS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GUI_CFLAGS = @GUI_CFLAGS@ GUI_LIBS = @GUI_LIBS@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ 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@ PRINT_CFLAGS = @PRINT_CFLAGS@ PRINT_LIBS = @PRINT_LIBS@ RANLIB = @RANLIB@ RC = @RC@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ INCLUDES = \ -DPACKAGE_DATA_DIR=\""$(datadir)"\" \ -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \ @GUI_CFLAGS@ \ @PRINT_CFLAGS@ bin_PROGRAMS = gpaint-2 gpaint_2_SOURCES = \ about.c \ about.h \ brush.c \ brush.h \ callbacks.c \ callbacks.h \ canvas.c \ canvas.h \ color_palette.c \ color_palette.h \ debug.h \ drawing.c \ drawing.h \ file.c \ file.h \ fill.c \ fill.h \ freehand.c \ freehand.h \ global.h \ gtkscrollframe.c \ gtkscrollframe.h \ image.c \ image.h \ image_processing.c \ image_processing.h \ lasso.c \ lasso.h \ main.c \ menu.c \ paste.c \ paste.h \ pen.c \ pen.h \ pixmaps.c \ pixmaps.h \ polyselect.c \ polyselect.h \ rectselect.c \ rectselect.h \ print.c \ print.h \ selection.c \ selection.h \ shape.c \ shape.h \ util.c \ util.h \ text.c \ text.h \ tool_palette.c \ tool_palette.h \ version.h gpaint_2_CFLAGS = -I$(srcdir) gpaint_2_LDADD = $(GUI_LIBS) $(PRINT_LIBS) gpaint_2_LDFLAGS = -Wl,--export-dynamic mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = bin_PROGRAMS = gpaint-2$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) DEFS = @DEFS@ -I. -I$(srcdir) CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ gpaint_2_OBJECTS = about.$(OBJEXT) brush.$(OBJEXT) callbacks.$(OBJEXT) \ canvas.$(OBJEXT) color_palette.$(OBJEXT) drawing.$(OBJEXT) \ file.$(OBJEXT) fill.$(OBJEXT) freehand.$(OBJEXT) \ gtkscrollframe.$(OBJEXT) image.$(OBJEXT) image_processing.$(OBJEXT) \ lasso.$(OBJEXT) main.$(OBJEXT) menu.$(OBJEXT) paste.$(OBJEXT) \ pen.$(OBJEXT) pixmaps.$(OBJEXT) polyselect.$(OBJEXT) \ rectselect.$(OBJEXT) print.$(OBJEXT) selection.$(OBJEXT) \ shape.$(OBJEXT) util.$(OBJEXT) text.$(OBJEXT) tool_palette.$(OBJEXT) gpaint_2_DEPENDENCIES = CFLAGS = @CFLAGS@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DIST_COMMON = Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = gtar GZIP_ENV = --best SOURCES = $(gpaint_2_SOURCES) OBJECTS = $(gpaint_2_OBJECTS) all: all-redirect .SUFFIXES: .SUFFIXES: .S .c .lo .o .obj .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-binPROGRAMS: clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) distclean-binPROGRAMS: maintainer-clean-binPROGRAMS: install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(bindir) @list='$(bin_PROGRAMS)'; for p in $$list; do \ if test -f $$p; then \ echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ else :; fi; \ done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) list='$(bin_PROGRAMS)'; for p in $$list; do \ rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ done .c.o: $(COMPILE) -c $< # FIXME: We should only use cygpath when building on Windows, # and only if it is available. .c.obj: $(COMPILE) -c `cygpath -w $<` .s.o: $(COMPILE) -c $< .S.o: $(COMPILE) -c $< mostlyclean-compile: -rm -f *.o core *.core -rm -f *.$(OBJEXT) clean-compile: distclean-compile: -rm -f *.tab.c maintainer-clean-compile: .c.lo: $(LIBTOOL) --mode=compile $(COMPILE) -c $< .s.lo: $(LIBTOOL) --mode=compile $(COMPILE) -c $< .S.lo: $(LIBTOOL) --mode=compile $(COMPILE) -c $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: maintainer-clean-libtool: gpaint-2$(EXEEXT): $(gpaint_2_OBJECTS) $(gpaint_2_DEPENDENCIES) @rm -f gpaint-2$(EXEEXT) $(LINK) $(gpaint_2_LDFLAGS) $(gpaint_2_OBJECTS) $(gpaint_2_LDADD) $(LIBS) 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 $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) 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 about.o: about.c version.h about.h global.h brush.o: brush.c brush.h canvas.h image.h selection.h drawing.h debug.h callbacks.o: callbacks.c debug.h canvas.o: canvas.c debug.h canvas.h image.h selection.h drawing.h util.h \ gtkscrollframe.h image_processing.h paste.h text.h global.h color_palette.o: color_palette.c canvas.h image.h selection.h drawing.h \ callbacks.h pixmaps.h util.h debug.h drawing.o: drawing.c drawing.h image.h selection.h image_processing.h \ debug.h file.o: file.c global.h canvas.h image.h selection.h drawing.h debug.h \ util.h fill.o: fill.c fill.h canvas.h image.h selection.h drawing.h util.h \ debug.h freehand.o: freehand.c freehand.h canvas.h image.h selection.h drawing.h \ debug.h gtkscrollframe.o: gtkscrollframe.c gtkscrollframe.h image.o: image.c image.h selection.h debug.h image_processing.o: image_processing.c image.h selection.h debug.h \ image_processing.h lasso.o: lasso.c lasso.h canvas.h image.h selection.h drawing.h debug.h main.o: main.c global.h debug.h canvas.h image.h selection.h drawing.h \ tool_palette.h util.h menu.o: menu.c debug.h canvas.h image.h selection.h drawing.h \ image_processing.h tool_palette.h print.h file.h text.h paste.o: paste.c paste.h canvas.h image.h selection.h drawing.h debug.h pen.o: pen.c pen.h canvas.h image.h selection.h drawing.h debug.h pixmaps.o: pixmaps.c ../pixmaps/about_pict.xpm ../pixmaps/arcOp.xpm \ ../pixmaps/boxOp.xpm ../pixmaps/brushOp.xpm \ ../pixmaps/clineOp.xpm ../pixmaps/curveOp.xpm \ ../pixmaps/eraseOp.xpm ../pixmaps/filled.xpm \ ../pixmaps/fillOp.xpm ../pixmaps/freehandOp.xpm \ ../pixmaps/lassoOp.xpm ../pixmaps/lineOp.xpm \ ../pixmaps/ovalOp.xpm ../pixmaps/pencilOp.xpm \ ../pixmaps/selpolyOp.xpm ../pixmaps/selrectOp.xpm \ ../pixmaps/textOp.xpm ../pixmaps/unfilled.xpm polyselect.o: polyselect.c polyselect.h canvas.h image.h selection.h \ drawing.h debug.h print.o: print.c print.h image.h selection.h debug.h rectselect.o: rectselect.c rectselect.h canvas.h image.h selection.h \ drawing.h debug.h selection.o: selection.c selection.h debug.h shape.o: shape.c shape.h canvas.h image.h selection.h drawing.h debug.h text.o: text.c text.h canvas.h image.h selection.h drawing.h debug.h tool_palette.o: tool_palette.c tool_palette.h canvas.h image.h \ selection.h drawing.h debug.h util.h pixmaps.h pen.h freehand.h \ brush.h shape.h lasso.h polyselect.h rectselect.h fill.h text.h util.o: util.c util.h debug.h global.h 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-binPROGRAMS install-exec: install-exec-am install-data-am: install-data: install-data-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am install: install-am uninstall-am: uninstall-binPROGRAMS uninstall: uninstall-am all-am: Makefile $(PROGRAMS) all-redirect: all-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: $(mkinstalldirs) $(DESTDIR)$(bindir) 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-binPROGRAMS mostlyclean-compile \ mostlyclean-libtool mostlyclean-tags \ mostlyclean-generic mostlyclean: mostlyclean-am clean-am: clean-binPROGRAMS clean-compile clean-libtool clean-tags \ clean-generic mostlyclean-am clean: clean-am distclean-am: distclean-binPROGRAMS distclean-compile distclean-libtool \ distclean-tags distclean-generic clean-am -rm -f libtool distclean: distclean-am maintainer-clean-am: maintainer-clean-binPROGRAMS \ maintainer-clean-compile maintainer-clean-libtool \ 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-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ mostlyclean-compile distclean-compile clean-compile \ maintainer-clean-compile mostlyclean-libtool distclean-libtool \ clean-libtool maintainer-clean-libtool 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: gpaint-2-0.3.3/src/Makefile.am0000664000076400007640000000201510671211751012713 00000000000000## Process this file with automake to produce Makefile.in INCLUDES = \ -DPACKAGE_DATA_DIR=\""$(datadir)"\" \ -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \ @GUI_CFLAGS@ \ @PRINT_CFLAGS@ bin_PROGRAMS = gpaint-2 gpaint_2_SOURCES = \ about.c \ about.h \ brush.c \ brush.h \ callbacks.c \ callbacks.h \ canvas.c \ canvas.h \ color_palette.c \ color_palette.h \ debug.h \ drawing.c \ drawing.h \ file.c \ file.h \ fill.c \ fill.h \ freehand.c \ freehand.h \ global.h \ gtkscrollframe.c \ gtkscrollframe.h \ image.c \ image.h \ image_processing.c \ image_processing.h \ lasso.c \ lasso.h \ main.c \ menu.c \ paste.c \ paste.h \ pen.c \ pen.h \ pixmaps.c \ pixmaps.h \ polyselect.c \ polyselect.h \ rectselect.c \ rectselect.h \ print.c \ print.h \ selection.c \ selection.h \ shape.c \ shape.h \ util.c \ util.h \ text.c \ text.h \ tool_palette.c \ tool_palette.h \ version.h gpaint_2_CFLAGS = -I$(srcdir) gpaint_2_LDADD = $(GUI_LIBS) $(PRINT_LIBS) gpaint_2_LDFLAGS = -Wl,--export-dynamic gpaint-2-0.3.3/src/about.c0000664000076400007640000001122110670465151012140 00000000000000/* $Id: about.c,v 1.4 2004/12/29 02:44:02 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include "version.h" #include "about.h" #include "global.h" #define _(str) gettext(str) static gchar *authors[] = { "Li-Cheng (Andy) Tai ", "Michael A. Meffie III ", NULL } ; static gchar *website = "http://www.gnu.org/software/gpaint"; /* * on_about_menu_activate() [callback] * * Create the about dialog box. */ void on_about_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { gchar *copyright = _("Copyright 2000--2003, 2007 Li-Cheng (Andy) Tai\n" "Copyright 2002 Michael A. Meffie III\n" "\n" "based on xpaint, by David Koblas and Torsten Martinsen\n" "Copyright 1992--1996"); gchar *license = _( "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 3\n" "of the License, or (at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be\n" "useful, but WITHOUT ANY WARRANTY; without even the implied\n" "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" "PURPOSE. See the GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see .\n" ); gchar *comments = _("a small-scale painting program for GNOME," " the GNU Desktop."); GtkWidget *widget, *top_level; widget = gtk_menu_get_attach_widget (GTK_MENU(GTK_WIDGET(menuitem)->parent)); top_level = gtk_widget_get_toplevel(widget); if (top_level && GTK_WIDGET_TOPLEVEL(top_level)) ; else top_level = 0; gtk_show_about_dialog(GTK_WINDOW(top_level), "authors", authors, "license", license, "copyright", copyright, "comments", comments, "name", PROGRAM_TITLE, "version", VERSION, "website", website, NULL); } /* * on_about_dialog_pixmap_realize() [callback] * * Display the gpaint logo graphic in the about dialog. */ void on_about_dialog_pixmap_realize (GtkWidget *widget, gpointer user_data) { gchar **about_pict_xpm = (gchar**)user_data; GdkPixmap *gdkpixmap; GdkBitmap *mask; GtkWidget *dialog; /* Create the logo pixmap */ if (user_data) { dialog = gtk_widget_get_toplevel(widget); g_assert(dialog); gdkpixmap = gdk_pixmap_create_from_xpm_d( dialog->window, &mask, NULL, about_pict_xpm); g_assert(gdkpixmap); /* Load the pixmap into the widget */ gtk_image_set_from_pixmap(GTK_IMAGE(widget), gdkpixmap, mask); gdk_pixmap_unref(gdkpixmap); gdk_pixmap_unref(mask); } } gpaint-2-0.3.3/src/about.h0000664000076400007640000000151510664360255012154 00000000000000/* $Id: about.h,v 1.2 2004/03/13 03:25:32 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __ABOUT_H__ #define __ABOUT_H__ #include #endif gpaint-2-0.3.3/src/brush.c0000664000076400007640000002216410666342241012160 00000000000000/* $Id: brush.c,v 1.3 2004/12/25 04:41:58 meffie Exp $ * * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include "brush.h" #include "debug.h" #include static const double EPSILON = 0.00001; typedef struct _gpaint_brush { gpaint_tool base; void (*draw)(struct _gpaint_brush*,int,int); double spacing; int size; double distance; gpaint_point drag; } gpaint_brush; typedef struct _gpaint_eraser { gpaint_brush base; GdkColor *fgcolor; /* to restore the foreground color */ } gpaint_eraser; #define GPAINT_BRUSH(tool) ((gpaint_brush*)(tool)) #define GPAINT_ERASER(tool) ((gpaint_eraser*)(tool)) static void eraser_select(gpaint_tool *tool); static void eraser_deselect(gpaint_tool *tool); static void eraser_draw(gpaint_brush *brush, int x, int y); static gboolean eraser_attribute(gpaint_tool *tool, gpaint_attribute, gpointer); static void eraser_set_foreground_color(gpaint_eraser *eraser, GdkColor* color); static void eraser_set_background_color(gpaint_eraser *eraser, GdkColor* color); static void paint_brush_draw(gpaint_brush *brush, int x, int y); static void brush_destroy(gpaint_tool *tool); static void brush_select(gpaint_tool *tool); static void brush_button_press(gpaint_tool *tool, int x, int y); static void brush_button_release(gpaint_tool *tool, int x, int y); static void brush_motion(gpaint_tool *tool, int x, int y); static void brush_interpolate(gpaint_brush *brush, int x, int y); /* * Create the erase tool object. */ gpaint_tool * eraser_create(const char *name) { gpaint_eraser *eraser = g_new0(gpaint_eraser,1); GPAINT_TOOL(eraser)->name = name; GPAINT_TOOL(eraser)->cursor = gdk_cursor_new(GDK_X_CURSOR); GPAINT_TOOL(eraser)->destroy = brush_destroy; GPAINT_TOOL(eraser)->select = brush_select; GPAINT_TOOL(eraser)->button_press = brush_button_press; GPAINT_TOOL(eraser)->button_release = brush_button_release; GPAINT_TOOL(eraser)->motion = brush_motion; GPAINT_TOOL(eraser)->select = eraser_select; GPAINT_TOOL(eraser)->deselect = eraser_deselect; GPAINT_TOOL(eraser)->attribute = eraser_attribute; GPAINT_BRUSH(eraser)->draw = eraser_draw; GPAINT_BRUSH(eraser)->spacing = 3.0; GPAINT_BRUSH(eraser)->size = 15; GPAINT_BRUSH(eraser)->distance = 0; return GPAINT_TOOL(eraser); } /* * Set up the eraser tool when selected. Use the current * background color as the foreground to simulate erasing. */ static void eraser_select(gpaint_tool *tool) { GdkGCValues gcvalues; GPAINT_BRUSH(tool)->drag.defined = FALSE; gdk_gc_get_values(tool->drawing->gc, &gcvalues); g_assert(!GPAINT_ERASER(tool)->fgcolor); GPAINT_ERASER(tool)->fgcolor = gdk_color_copy(&(gcvalues.foreground)); gdk_gc_set_foreground(tool->drawing->gc, &(gcvalues.background)); } /* * Restore the foreground color when the eraser is deselect. */ static void eraser_deselect(gpaint_tool *tool) { gdk_gc_set_foreground(tool->drawing->gc, GPAINT_ERASER(tool)->fgcolor); gdk_color_free(GPAINT_ERASER(tool)->fgcolor); GPAINT_ERASER(tool)->fgcolor = NULL; } /* * Erase */ static void eraser_draw(gpaint_brush *brush, int x, int y) { int radius = brush->size / 2; x -= radius; y -= radius; gdk_draw_rectangle( GPAINT_TOOL(brush)->drawing->window, GPAINT_TOOL(brush)->drawing->gc, TRUE, x, y, brush->size, brush->size); gdk_draw_rectangle( GPAINT_TOOL(brush)->drawing->backing_pixmap, GPAINT_TOOL(brush)->drawing->gc, TRUE, x, y, brush->size, brush->size); drawing_modified(GPAINT_TOOL(brush)->drawing); } /* * Save the new foreground/backgound color. */ static gboolean eraser_attribute(gpaint_tool* tool, gpaint_attribute attrib, gpointer data) { gboolean handled = FALSE; gpaint_eraser *eraser = GPAINT_ERASER(tool); debug_fn(); if (attrib == GpaintForegroundColor) { eraser_set_foreground_color(eraser, (GdkColor*)data); handled = TRUE; } else if (attrib == GpaintBackgroundColor) { eraser_set_background_color(eraser, (GdkColor*)data); handled = TRUE; } return handled; } /* * Save the new foreground color. */ static void eraser_set_foreground_color(gpaint_eraser *eraser, GdkColor* color) { debug_fn(); g_assert(eraser->fgcolor); gdk_color_free(eraser->fgcolor); eraser->fgcolor = gdk_color_copy(color); } /* * Set the new background color. */ static void eraser_set_background_color(gpaint_eraser *eraser, GdkColor* color) { gpaint_tool *tool = GPAINT_TOOL(eraser); debug_fn(); gdk_gc_set_background(tool->drawing->gc, color); gdk_gc_set_foreground(tool->drawing->gc, color); } /* * Create the paint brush tool object. */ gpaint_tool * paint_brush_create(const char *name) { gpaint_brush *brush = g_new0(gpaint_brush, 1); g_assert(brush); GPAINT_TOOL(brush)->name = name; GPAINT_TOOL(brush)->cursor = gdk_cursor_new(GDK_CROSSHAIR); GPAINT_TOOL(brush)->destroy = brush_destroy; GPAINT_TOOL(brush)->select = brush_select; GPAINT_TOOL(brush)->button_press = brush_button_press; GPAINT_TOOL(brush)->button_release = brush_button_release; GPAINT_TOOL(brush)->motion = brush_motion; brush->draw = paint_brush_draw; brush->spacing = 3.0; brush->size = 15; brush->distance = 0; return GPAINT_TOOL(brush); } /* * Paint * * TODO: brush styles. */ static void paint_brush_draw(gpaint_brush *brush, int x, int y) { int radius = brush->size / 2; x -= radius; y -= radius; gdk_draw_arc( GPAINT_TOOL(brush)->drawing->window, GPAINT_TOOL(brush)->drawing->gc, TRUE, x, y, brush->size, brush->size, 0, 360 * 64); gdk_draw_arc( GPAINT_TOOL(brush)->drawing->backing_pixmap, GPAINT_TOOL(brush)->drawing->gc, TRUE, x, y, brush->size, brush->size, 0, 360 * 64); drawing_modified(GPAINT_TOOL(brush)->drawing); } /* * Free the brush tool object. */ static void brush_destroy(gpaint_tool *tool) { debug_fn(); gdk_cursor_destroy(tool->cursor); g_free(tool); } /* * Set up the brush tool when selected. */ static void brush_select(gpaint_tool *tool) { GPAINT_BRUSH(tool)->drag.defined = FALSE; } /* * Draw a point where the brush was pressed. */ static void brush_button_press(gpaint_tool *tool, int x, int y) { gpaint_brush *brush = GPAINT_BRUSH(tool); debug_fn(); set_point(&brush->drag, x, y); (*(brush->draw))(brush, x, y); } /* * Handle paint brush motion. */ static void brush_motion(gpaint_tool *tool, int x, int y) { gpaint_brush* brush = GPAINT_BRUSH(tool); if (!is_point_defined(&brush->drag)) { set_point(&brush->drag, x, y); } brush_interpolate(brush, x, y); set_point(&brush->drag, x, y); } /* * Handle paint brush release. */ static void brush_button_release(gpaint_tool *tool, int x, int y) { debug_fn(); clear_point(&(GPAINT_BRUSH(tool)->drag)); } /* * Paint along the mouse movement. * adapted from paint_core.c in the GIMP. */ static void brush_interpolate(gpaint_brush *brush, int x, int y) { double dx; /* delta x */ double dy; /* delta y */ double moved; /* mouse movement */ double initial; /* initial paint distance */ double final; /* final paint distance */ double points; /* number of paint points */ double next; /* distance to the next point */ double percent; /* linear interplotation, 0 to 1.0 */ /* calculate mouse move distance */ dx = (double)(x - brush->drag.x); dy = (double)(y - brush->drag.y); moved = sqrt(dx*dx + dy*dy); initial = brush->distance; final = initial + moved; /* paint along the movement */ while (brush->distance < final) { /* calculate distance to the next point */ points = (int) (brush->distance / brush->spacing + 1.0 + EPSILON); next = points * brush->spacing - brush->distance; brush->distance += next; if (brush->distance <= (final + EPSILON)) { /* calculate interpolation */ percent = (brush->distance - initial) / moved; x = (int)(brush->drag.x + percent * dx); y = (int)(brush->drag.y + percent * dy); (*brush->draw)(brush, x, y); } } brush->distance = final; } gpaint-2-0.3.3/src/brush.h0000664000076400007640000000165510664360255012172 00000000000000/* $Id: brush.h,v 1.2 2004/03/13 03:25:59 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __BRUSH_H__ #define __BRUSH_H__ #include "canvas.h" gpaint_tool* paint_brush_create(const char *name); gpaint_tool* eraser_create(const char *name); #endif gpaint-2-0.3.3/src/callbacks.c0000664000076400007640000000407710667442171012763 00000000000000/* $Id: callbacks.c,v 1.14 2005/01/03 19:33:22 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include "debug.h" #include void on_print_setup_activate (GtkMenuItem *menuitem, gpointer user_data) { } void on_reset_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { } void on_revert_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { } void on_small_label_realize (GtkWidget *widget, gpointer user_data) { } void on_line_width_combo_add (GtkContainer *container, GtkWidget *widget, gpointer user_data) { } void on_line_width_combo_check_resize (GtkContainer *container, gpointer user_data) { } void on_invert_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { } void on_windows_menu_item_activate (GtkMenuItem *menuitem, gpointer user_data) { } gpaint-2-0.3.3/src/callbacks.h0000664000076400007640000007722210667442200012763 00000000000000/* $Id: callbacks.h,v 1.12 2005/01/03 19:33:22 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "pixmaps.h" void on_mainwindow_realize (GtkWidget *widget, gpointer user_data); gboolean on_mainwindow_delete_event (GtkWidget *widget, GdkEvent *event, gpointer user_data); void on_new_file_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_open_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_save_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_save_as_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_print_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_print_setup_activate (GtkMenuItem *menuitem, gpointer user_data); void on_exit_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_cut_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_copy_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_paste_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_clear_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_properties_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_flip_x_axis_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_flip_y_axis_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_rotate_p90_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_rotate_p45_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_rotate_n45_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_rotate_n90_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_rotate_p180_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_rotate_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_crop_to_region_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_reset_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_revert_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_sharpen_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_smooth_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_directional_smooth_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_despeckle_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_edge_detect_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_emboss_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_oil_paint_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_add_noise_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_spread_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_pixelize_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_blend_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_solarize_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_normalize_contrast_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_quantize_color_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_convert_to_greyscale_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_sharpen_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_sharpen_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_fat_bits_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_visible_grid_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_snap_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_snap_spacing_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_change_background_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_change_size1_activate (GtkMenuItem *menuitem, gpointer user_data); void on_undo_levels_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_auto_crop_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_change_zoom_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_about_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_font_button_clicked (GtkButton *button, gpointer user_data); void on_bold_button_clicked (GtkButton *button, gpointer user_data); void on_italic_button_clicked (GtkButton *button, gpointer user_data); void on_underline_button_clicked (GtkButton *button, gpointer user_data); void on_small_label_realize (GtkWidget *widget, gpointer user_data); void on_line_width_combo_add (GtkContainer *container, GtkWidget *widget, gpointer user_data); void on_line_width_combo_check_resize (GtkContainer *container, gpointer user_data); void on_new_button_clicked (GtkButton *button, gpointer user_data); void on_open_button_clicked (GtkButton *button, gpointer user_data); void on_save_button_clicked (GtkButton *button, gpointer user_data); void on_save_as_button_clicked (GtkButton *button, gpointer user_data); void on_print_button_clicked (GtkButton *button, gpointer user_data); void on_erase_button_clicked (GtkToggleButton *button, gpointer user_data); void on_lasso_button_clicked (GtkToggleButton *button, gpointer user_data); void on_line_button_clicked (GtkToggleButton *button, gpointer user_data); void on_rectangle_button_clicked (GtkToggleButton *button, gpointer user_data); void on_freehand_button_clicked (GtkToggleButton *button, gpointer user_data); void on_pen_button_clicked (GtkToggleButton *button, gpointer user_data); void on_polselect_button_clicked (GtkToggleButton *button, gpointer user_data); void on_text_button_clicked (GtkToggleButton *button, gpointer user_data); void on_arc_button_clicked (GtkToggleButton *button, gpointer user_data); void on_oval_button_clicked (GtkToggleButton *button, gpointer user_data); void on_brush_button_clicked (GtkToggleButton *button, gpointer user_data); void on_new_canvas_ok_button_clicked (GtkButton *button, gpointer user_data); void on_new_canvas_cancel_button_clicked (GtkButton *button, gpointer user_data); void on_pen_button_realize (GtkWidget *widget, gpointer user_data); void on_pen_button_realize (GtkWidget *widget, gpointer user_data); void on_pen_button_realize (GtkWidget *widget, gpointer user_data); void on_scroll_frame_realize (GtkWidget *widget, gpointer user_data); void on_scroll_frame_map (GtkWidget *widget, gpointer user_data); void on_fontpicker_font_set (GtkFontButton *gnomefontpicker, gchar *arg1, gpointer user_data); void on_foreground_color_picker_color_set (GtkColorButton *gnomecolorpicker, guint arg1, guint arg2, guint arg3, guint arg4, gpointer user_data); void on_background_color_picker_color_set (GtkColorButton *gnomecolorpicker, guint arg1, guint arg2, guint arg3, guint arg4, gpointer user_data); void on_erase_button_realize (GtkWidget *widget, gpointer user_data); void on_lasso_button_realize (GtkWidget *widget, gpointer user_data); void on_fill_button_realize (GtkWidget *widget, gpointer user_data); void on_fill_button_clicked (GtkToggleButton *button, gpointer user_data); void on_line_button_realize (GtkWidget *widget, gpointer user_data); void on_rectangle_button_realize (GtkWidget *widget, gpointer user_data); void on_freehand_button_realize (GtkWidget *widget, gpointer user_data); void on_pen_button_realize (GtkWidget *widget, gpointer user_data); void on_polselect_button_realize (GtkWidget *widget, gpointer user_data); void on_text_button_realize (GtkWidget *widget, gpointer user_data); void on_arc_button_realize (GtkWidget *widget, gpointer user_data); void on_oval_button_realize (GtkWidget *widget, gpointer user_data); void on_brush_button_realize (GtkWidget *widget, gpointer user_data); void on_erase_button_realize (GtkWidget *widget, gpointer user_data); void on_lasso_button_realize (GtkWidget *widget, gpointer user_data); void on_fill_button_realize (GtkWidget *widget, gpointer user_data); void on_rectangle_button_realize (GtkWidget *widget, gpointer user_data); void on_freehand_button_realize (GtkWidget *widget, gpointer user_data); void on_pen_button_realize (GtkWidget *widget, gpointer user_data); void on_polselect_button_realize (GtkWidget *widget, gpointer user_data); void on_text_button_realize (GtkWidget *widget, gpointer user_data); void on_arc_button_realize (GtkWidget *widget, gpointer user_data); void on_oval_button_realize (GtkWidget *widget, gpointer user_data); void on_brush_button_realize (GtkWidget *widget, gpointer user_data); void on_line_button_realize (GtkWidget *widget, gpointer user_data); void on_about_dialog_pixmap_realize (GtkWidget *widget, gpointer user_data); void on_label8_realize (GtkWidget *widget, gpointer user_data); void on_about_dialog_ok_button_clicked (GtkButton *button, gpointer user_data); void on_about_dialog_version_label_realize (GtkWidget *widget, gpointer user_data); void on_emboss_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_line_width_combo_combo_entry_changed (GtkEditable *editable, gpointer user_data); void on_line_width_combo_combo_entry_changed (GtkEditable *editable, gpointer user_data); void on_background_color_picker_realize (GtkWidget *widget, gpointer user_data); void on_foreground_color_picker_realize (GtkWidget *widget, gpointer user_data); void on_line_button_realize (GtkWidget *widget, gpointer user_data); void on_multiline_button_realize (GtkWidget *widget, gpointer user_data); void on_curve_button_realize (GtkWidget *widget, gpointer user_data); void on_unfilled_button_realize (GtkWidget *widget, gpointer user_data); void on_filled_button_realize (GtkWidget *widget, gpointer user_data); void on_closed_freehand_button_realize (GtkWidget *widget, gpointer user_data); void on_filled_button_realize (GtkWidget *widget, gpointer user_data); gboolean on_mainwindow_focus_in_event (GtkWidget *widget, GdkEventFocus *event, gpointer user_data); gboolean on_mainwindow_focus_out_event (GtkWidget *widget, GdkEventFocus *event, gpointer user_data); void on_mainwindow_set_focus_child (GtkContainer *container, GtkWidget *widget, gpointer user_data); void on_mainwindow_set_focus (GtkWindow *window, GtkWidget *widget, gpointer user_data); void on_fontpicker_map (GtkWidget *widget, gpointer user_data); void on_background_color_picker_map (GtkWidget *widget, gpointer user_data); void on_foreground_color_picker_map (GtkWidget *widget, gpointer user_data); gboolean on_fontpicker_map_event (GtkWidget *widget, GdkEvent *event, gpointer user_data); gboolean on_background_color_picker_map_event (GtkWidget *widget, GdkEvent *event, gpointer user_data); gboolean on_foreground_color_picker_map_event (GtkWidget *widget, GdkEvent *event, gpointer user_data); void on_set_as_background_centered_activate (GtkMenuItem *menuitem, gpointer user_data); void on_set_as_background_titled_activate (GtkMenuItem *menuitem, gpointer user_data); void on_foreground_color_picker_color_clicked (GtkButton *button, gpointer user_data); void on_foreground_color_picker_color_pressed (GtkButton *button, gpointer user_data); void on_foreground_color_picker_color_released (GtkButton *button, gpointer user_data); void on_color_palette_entry_map (GtkWidget *widget, gpointer user_data); void on_color_palette_entry_draw (GtkWidget *widget, GdkRectangle *area, gpointer user_data); gboolean on_color_palette_entry_key_press_event (GtkWidget *widget, GdkEventKey *event, gpointer user_data); gboolean on_color_palette_entry_key_release_event (GtkWidget *widget, GdkEventKey *event, gpointer user_data); void on_color_palette_entry_realize (GtkWidget *widget, gpointer user_data); gboolean on_color_palette_entry_button_press_event (GtkWidget *widget, GdkEventButton *event, gpointer user_data); gboolean on_color_palette_entry_button_release_event (GtkWidget *widget, GdkEventButton *event, gpointer user_data); gboolean on_color_palette_entry_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data); void on_select_all_activate (GtkMenuItem *menuitem, gpointer user_data); void on_print_preview_activate (GtkMenuItem *menuitem, gpointer user_data); void on_get_desktop_activate (GtkMenuItem *menuitem, gpointer user_data); void on_undo_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_about_gnome_activate (GtkMenuItem *menuitem, gpointer user_data); void on_about_gnu_activate (GtkMenuItem *menuitem, gpointer user_data); gboolean on_about_dialog_button_release_event (GtkWidget *widget, GdkEventButton *event, gpointer user_data); gboolean on_about_dialog_button_release_event (GtkWidget *widget, GdkEventButton *event, gpointer user_data); void on_exit_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_tool_button_clicked (GtkButton *button, gpointer user_data); void on_tool_button_realize (GtkWidget *widget, gpointer user_data); void on_tool_button_realize (GtkWidget *widget, gpointer user_data); void on_fille_button_toggled (GtkToggleButton *togglebutton, gpointer user_data); void on_filled_button_toggled (GtkToggleButton *togglebutton, gpointer user_data); GtkWidget* create_drawing_area_in_scroll_frame (gchar *widget_name, gchar *string1, gchar *string2, gint int1, gint int2); void on_tool_palette_realize (GtkWidget *widget, gpointer user_data); void on_image_effect_activate (GtkMenuItem *menuitem, gpointer user_data); void on_image_effect_activate (GtkMenuItem *menuitem, gpointer user_data); void on_image_effect_activate (GtkMenuItem *menuitem, gpointer user_data); void on_new_canvas_window_realize (GtkWidget *widget, gpointer user_data); void on_new_canvas_window_destroy (GtkObject *object, gpointer user_data); void on_fontpicker_realize (GtkWidget *widget, gpointer user_data); void on_rotate_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_create_new_window_activate (GtkMenuItem *menuitem, gpointer user_data); void on_close_this_window_activate (GtkMenuItem *menuitem, gpointer user_data); void on_close_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_close_this_window_activate (GtkMenuItem *menuitem, gpointer user_data); void on_close_this_window_activate (GtkMenuItem *menuitem, gpointer user_data); void on_close_menu_activate (GtkMenuItem *menuitem, gpointer user_data); gboolean on_mainwindow_destroy_event (GtkWidget *widget, GdkEvent *event, gpointer user_data); void on_tool_button_clicked (GtkButton *button, gpointer user_data); void on_toot_button_clicked (GtkButton *button, gpointer user_data); void on_tool_button_realize (GtkWidget *widget, gpointer user_data); void on_tool_freehand_button_realize (GtkWidget *widget, gpointer user_data); void on_image_effect_activate (GtkMenuItem *menuitem, gpointer user_data); void on_image_effect_activate (GtkMenuItem *menuitem, gpointer user_data); gboolean on_color_palette_entry_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data); GtkWidget* create_drawing_area_in_scroll_frame (gchar *widget_name, gchar *string1, gchar *string2, gint int1, gint int2); void on_tool_button_clicked (GtkButton *button, gpointer user_data); void on_tool_button_realize (GtkWidget *widget, gpointer user_data); void on_tool_button_realize (GtkWidget *widget, gpointer user_data); gboolean on_color_palette_entry_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data); void on_tool_button_clicked (GtkButton *button, gpointer user_data); void on_tool_button_realize (GtkWidget *widget, gpointer user_data); void on_tool_button_clicked (GtkButton *button, gpointer user_data); void on_tool_button_realize (GtkWidget *widget, gpointer user_data); void on_tool_button_clicked (GtkButton *button, gpointer user_data); void on_tool_button_realize (GtkWidget *widget, gpointer user_data); void on_mainwindow_destroy (GtkObject *object, gpointer user_data); void on_invert_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_windows_menu_item_activate (GtkMenuItem *menuitem, gpointer user_data); void on_close_this_window_activate (GtkMenuItem *menuitem, gpointer user_data); void on_close_window_activate (GtkMenuItem *menuitem, gpointer user_data); void on_quit_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_create_new_window (GtkMenuItem *menuitem, gpointer user_data); void on_rotate_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_rotate_menu_activate (GtkMenuItem *menuitem, gpointer user_data); void on_rotate_menu_activate (GtkMenuItem *menuitem, gpointer user_data); gpaint-2-0.3.3/src/canvas.c0000664000076400007640000007040010667471220012305 00000000000000/* $Id: canvas.c,v 1.6 2005/01/07 02:50:52 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "debug.h" #include "canvas.h" #include "util.h" #include "gtkscrollframe.h" #include "image.h" #include "image_processing.h" #include "paste.h" #include "selection.h" #include "text.h" #include "global.h" #define GPAINT_CLIPBOARD_KEY "gpaint-clipboard" /* Single clipboard to share selections between canvases. */ static gpaint_clipboard *clipboard = NULL; /* macros to cast user_data in the callbacks */ #define CANVAS(user_data) ((gpaint_canvas*)(user_data)) #define ACTIVE_TOOL(user_data) (((gpaint_canvas*)(user_data))->active_tool) #define DRAWING(user_data) (((gpaint_canvas*)(user_data))->drawing) /* gobject canvas */ #define GPAINT_TYPE_CANVAS (gpaint_canvas_get_type ()) #define GPAINT_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GPAINT_TYPE_CANVAS, gpaint_canvas)) #define GPAINT_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GPAINT_TYPE_CANVAS, gpaint_canvas_class)) #define GPAINT_IS_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GPAINT_TYPE_CANVAS)) #define GPAINT_IS_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GPAINT_TYPE_CANVAS)) #define GPAINT_CANVAS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GPAINT_TYPE_CANVAS, gpaint_canvas_class)) GType gpaint_canvas_get_type (void); /* File to open when starting. */ static gchar** canvas_initial_filenames = 0; static gpaint_canvas* canvas_new(GtkDrawingArea *drawing_area); static void canvas_copy_selection_to_clipboard(gpaint_canvas *canvas); static void canvas_clipboard_free (gpaint_clipboard *clipboard); static gint canvas_clipboard_format_compare (GdkPixbufFormat *a, GdkPixbufFormat *b); static void canvas_clipboard_send_buffer(GtkClipboard *gtk_clipboard, GtkSelectionData *selection_data, guint info, gpaint_canvas *canvas); static void on_drawing_area_realize (GtkWidget *widget, gpointer user_data); static gboolean on_drawing_area_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data); static gboolean on_drawing_area_motion_notify_event (GtkWidget *widget, GdkEventMotion *event, gpointer user_data); static gboolean on_drawing_area_button_press_event (GtkWidget *widget, GdkEventButton *event, gpointer user_data); static gboolean on_drawing_area_button_release_event (GtkWidget *widget, GdkEventButton *event, gpointer user_data); static gboolean on_drawing_area_focus_in_event (GtkWidget *widget, GdkEventFocus *event, gpointer user_data); static gboolean on_drawing_area_focus_out_event (GtkWidget *widget, GdkEventFocus *event, gpointer user_data); static gboolean on_drawing_area_key_release_event (GtkWidget *widget, GdkEventKey *event, gpointer user_data); /* * Create the drawing area widget and place it in a scrolled view port. This * function is called from ui.c when the main application window is created. */ GtkWidget* create_drawing_area_in_scroll_frame ( gchar *widget_name, gchar *string1, gchar *string2, gint width, gint height) { GtkWidget *scrolledwindow; GtkWidget *viewport; GtkWidget *drawing_area; debug_fn(); /* Create the scroll frame, view port, and drawing area widgets. */ scrolledwindow = gtk_scroll_frame_new (NULL, NULL); gtk_scroll_frame_set_policy(GTK_SCROLL_FRAME (scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); viewport = gtk_viewport_new (NULL, NULL); gtk_widget_set_name(viewport, "viewport"); gtk_widget_ref(viewport); gtk_object_set_data_full(GTK_OBJECT (scrolledwindow), "viewport", viewport, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show(viewport); gtk_container_add(GTK_CONTAINER (scrolledwindow), viewport); drawing_area = gtk_drawing_area_new(); gtk_widget_set_name(drawing_area, DRAWING_AREA); gtk_widget_ref(drawing_area); gtk_object_set_data_full(GTK_OBJECT(scrolledwindow), DRAWING_AREA, drawing_area, (GtkDestroyNotify) gtk_widget_unref); gtk_container_add(GTK_CONTAINER(viewport), drawing_area); gtk_widget_set_events(GTK_WIDGET(drawing_area), GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_PROPERTY_CHANGE_MASK); GTK_WIDGET_SET_FLAGS(drawing_area, GTK_CAN_FOCUS); GTK_WIDGET_SET_FLAGS(drawing_area, GTK_CAN_DEFAULT); /* connect the realize event to the function that will initialize * the canvas object. */ gtk_signal_connect(GTK_OBJECT(drawing_area), "realize", GTK_SIGNAL_FUNC(on_drawing_area_realize), NULL); gtk_widget_show(drawing_area); return scrolledwindow; } /* * Initialize the drawing area widget. */ static void on_drawing_area_realize (GtkWidget *drawing_area, gpointer user_data) { /* Create the canvas object and initialize the window objects. */ gpaint_canvas *canvas = canvas_new(GTK_DRAWING_AREA(drawing_area)); g_assert(canvas); debug_fn(); /* attach the application specific data object to the drawing area */ gtk_object_set_data_full(GTK_OBJECT(drawing_area), "user_data", canvas, (GtkDestroyNotify)canvas_destroy); gtk_drawing_area_size(GTK_DRAWING_AREA(drawing_area), canvas->drawing->width, canvas->drawing->height); /* save a reference to the drawing area in the top_level window */ gtk_widget_ref(drawing_area); gtk_object_set_data_full(GTK_OBJECT(canvas->top_level), DRAWING_AREA, drawing_area, (GtkDestroyNotify)gtk_widget_unref); /* Connect the event handlers and pass the canvas object to the * callback functions. */ gtk_signal_connect(GTK_OBJECT(drawing_area), "button_press_event", GTK_SIGNAL_FUNC(on_drawing_area_button_press_event), canvas); gtk_signal_connect(GTK_OBJECT(drawing_area), "button_release_event", GTK_SIGNAL_FUNC(on_drawing_area_button_release_event), canvas); gtk_signal_connect(GTK_OBJECT (drawing_area), "motion_notify_event", GTK_SIGNAL_FUNC(on_drawing_area_motion_notify_event), canvas); gtk_signal_connect(GTK_OBJECT(drawing_area), "expose_event", GTK_SIGNAL_FUNC(on_drawing_area_expose_event), canvas); gtk_signal_connect(GTK_OBJECT(drawing_area), "focus_in_event", GTK_SIGNAL_FUNC(on_drawing_area_focus_in_event), canvas); gtk_signal_connect(GTK_OBJECT(drawing_area), "focus_out_event", GTK_SIGNAL_FUNC(on_drawing_area_focus_out_event), canvas); gtk_signal_connect(GTK_OBJECT(drawing_area), "key_release_event", GTK_SIGNAL_FUNC(on_drawing_area_key_release_event), canvas); } /* * Copy the backing pixmap to the exposed area of the window. */ static gboolean on_drawing_area_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data) { gpaint_canvas *canvas = (gpaint_canvas*)user_data; gpaint_tool *tool = ACTIVE_TOOL(user_data); debug_fn(); gdk_draw_pixmap(widget->window, widget->style->fg_gc[GTK_WIDGET_STATE(widget)], canvas->drawing->backing_pixmap, event->area.x, event->area.y, event->area.x, event->area.y, event->area.width, event->area.height); if (tool && tool->current_draw) tool->current_draw(tool); return FALSE; } /* * Dispatch the motion event to the current tool object. The motion * hint mask is used to collapse motion events. This prevents the * the application from falling behind if events are dispatched by * the X server faster than the application can process them. */ static gboolean on_drawing_area_motion_notify_event (GtkWidget *widget, GdkEventMotion *event, gpointer user_data) { gpaint_tool *tool = ACTIVE_TOOL(user_data); int x, y; GdkModifierType state; if (tool && tool->motion) { if (event->is_hint) { gdk_window_get_pointer (event->window, &x, &y, &state); } else { x = event->x; y = event->y; state = event->state; } if (state & GDK_BUTTON1_MASK) { (*tool->motion)(tool, x, y); } } return TRUE; } /* * Dispatch the mouse button press to the active tool. */ static gboolean on_drawing_area_button_press_event (GtkWidget *widget, GdkEventButton *event, gpointer user_data) { gpaint_tool *tool = ACTIVE_TOOL(user_data); if (event->button==1 && tool && tool->button_press) { (*tool->button_press)(tool, event->x, event->y); } return FALSE; } /* * Dispatch the mouse button release to the active tool. */ static gboolean on_drawing_area_button_release_event (GtkWidget *widget, GdkEventButton *event, gpointer user_data) { gpaint_tool *tool = ACTIVE_TOOL(user_data); if (event->button==1 && tool && tool->button_release) { (*tool->button_release)(tool, event->x, event->y); } return FALSE; } /* * Dispatch the focus in event to the active tool. */ static gboolean on_drawing_area_focus_in_event (GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { gpaint_canvas *canvas = CANVAS(user_data); debug_fn1("canvas=%p", canvas); canvas_focus_gained(canvas); return FALSE; } /* * Dispatch the focus out event to the active tool. */ static gboolean on_drawing_area_focus_out_event (GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { gpaint_canvas *canvas = CANVAS(user_data); debug_fn1("canvas=%p", canvas); canvas_focus_lost(canvas); return FALSE; } /* * Dispatch the key release to the active tool. */ static gboolean on_drawing_area_key_release_event (GtkWidget *widget, GdkEventKey *event, gpointer user_data) { gpaint_tool *tool = ACTIVE_TOOL(user_data); if (tool && tool->key_release) { (*tool->key_release)(tool, event); } return FALSE; } /* * Save the application command line arguments. The first * argument is the filename to be initially opened. A * blank drawing is created if no file name is given. */ void canvas_init_arg(int argc, char* argv[]) { int i; if (argc > 1) { canvas_initial_filenames = calloc(sizeof(char*), argc - 1); for (i = 1; i < argc; i++) canvas_initial_filenames[i - 1] = argv[i]; } return; } /* * Lookup the canvas object from a widget. */ gpaint_canvas* canvas_lookup(GtkWidget *widget) { GtkWidget *cw; gpaint_canvas *canvas; cw = lookup_widget(widget, DRAWING_AREA); g_assert(cw) ; canvas = (gpaint_canvas*)gtk_object_get_data(GTK_OBJECT(cw), "user_data"); g_assert(canvas); return canvas; } /* * Create a new canvas object. The canvas object is created when the drawing * area window is realized. */ gpaint_canvas * canvas_new(GtkDrawingArea *drawing_area) { gpaint_canvas *canvas = 0; gpaint_drawing *drawing = 0; GdkDrawable *d = GTK_WIDGET(drawing_area)->window; GdkGC *gc; GdkColor black; GdkColor white; /* Create the gc from the drawing area window. */ gc = gdk_gc_new(d); g_assert(gc); gdk_gc_ref(gc); gdk_color_black(gdk_colormap_get_system(), &black); gdk_color_white(gdk_colormap_get_system(), &white); gdk_gc_set_foreground(gc, &black); gdk_gc_set_background(gc, &white); gdk_gc_set_line_attributes(gc, 1, GDK_LINE_SOLID, GDK_CAP_ROUND, GDK_JOIN_ROUND); /* Create the canvas object */ // canvas = (gpaint_canvas*)g_new0(gpaint_canvas, 1); canvas = g_object_new (GPAINT_TYPE_CANVAS, NULL); g_assert(canvas); canvas->top_level = gtk_widget_get_toplevel(GTK_WIDGET(drawing_area)); canvas->drawing_area = drawing_area; canvas->gc = gc; canvas->busy_cursor = gdk_cursor_new(GDK_WATCH); canvas->arrow_cursor = gdk_cursor_new(GDK_LEFT_PTR); canvas->cursor = canvas->arrow_cursor; canvas->active_tool = 0; canvas->saved_tool = 0; canvas->paste_tool = paste_create("paste"); canvas->selection = selection_new(drawing_area); /* Create the drawing object */ if (canvas_initial_filenames) { /* only open the first one for now; open additonal ones TO DO */ drawing = drawing_new_from_file(canvas->drawing_area, canvas->gc, canvas_initial_filenames[0]); if (!drawing) { g_message("Failed to open drawing file %s", canvas_initial_filenames[0]); } free(canvas_initial_filenames); canvas_initial_filenames = 0; /* use only in the first window */ } if (!drawing) { drawing = drawing_new_blank(canvas->drawing_area, canvas->gc, DEFAULT_WIDTH, DEFAULT_HEIGHT); } g_assert(drawing); canvas->drawing = drawing; selection_size(canvas->selection, drawing->width, drawing->height); return canvas; } GType gpaint_canvas_get_type (void) { static GType object_type = 0; if (!object_type) { static const GTypeInfo object_info = { sizeof (gpaint_canvas_class), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, NULL, /* class_finalize */ NULL, /* class_data */ sizeof (gpaint_canvas), 0, (GInstanceInitFunc) NULL, }; object_type = g_type_register_static (G_TYPE_OBJECT, "GpaintCanvas", &object_info, 0); } return object_type; } void canvas_destroy(gpaint_canvas *canvas) { debug_fn(); g_assert(canvas); if (canvas->paste_tool) { gpaint_tool *tool = canvas->paste_tool; g_assert(tool->destroy); (*tool->destroy)(tool); } drawing_destroy(canvas->drawing); selection_delete(canvas->selection); gdk_gc_unref(canvas->gc); gdk_cursor_destroy(canvas->arrow_cursor); gdk_cursor_destroy(canvas->busy_cursor); // memset(canvas, 0xBEBE, sizeof(canvas)); /* debugging aid */ // g_free(canvas); g_object_unref(canvas); debug("canvas_destroy() returning"); } /* * Display the new drawing and destroy the current drawing. */ void canvas_set_drawing(gpaint_canvas *canvas, gpaint_drawing *new_drawing) { gpaint_drawing *old_drawing; g_assert(canvas); g_assert(new_drawing); old_drawing = canvas->drawing; canvas->drawing = new_drawing; selection_remove_points(canvas->selection); if (canvas->active_tool) { canvas->active_tool->drawing = canvas->drawing; } gtk_drawing_area_size( GTK_DRAWING_AREA(canvas->drawing_area), canvas->drawing->width, canvas->drawing->height); selection_size(canvas->selection, canvas->drawing->width, canvas->drawing->height); drawing_destroy(old_drawing); canvas_redraw(canvas); } /* * Resize the canvas to the current drawing size. Should be called * when the drawing size has been changed. */ void canvas_resize(gpaint_canvas *canvas) { selection_remove_points(canvas->selection); selection_size(canvas->selection, canvas->drawing->width, canvas->drawing->height); gtk_drawing_area_size( GTK_DRAWING_AREA(canvas->drawing_area), canvas->drawing->width, canvas->drawing->height); canvas_redraw(canvas); } /* * Set the active drawing tool object. */ void canvas_set_tool(gpaint_canvas* canvas, gpaint_tool *new_tool) { gpaint_tool *old_tool = canvas->active_tool; if (old_tool && old_tool->deselect) { (*old_tool->deselect)(old_tool); } canvas->active_tool = new_tool; if (!canvas->active_tool) /* null means remove active tool */ { canvas->cursor = canvas->arrow_cursor; } else { new_tool->drawing = canvas->drawing; new_tool->canvas = canvas; if (new_tool->select) { (*new_tool->select)(new_tool); } canvas->cursor = new_tool->cursor; } gdk_window_set_cursor(canvas->drawing->window, canvas->cursor); } void canvas_begin_busy_cursor(gpaint_canvas *canvas) { canvas_commit_change(canvas); gdk_window_set_cursor(canvas->top_level->window, canvas->busy_cursor); gdk_window_set_cursor(canvas->drawing->window, canvas->busy_cursor); gdk_flush(); } void canvas_end_busy_cursor(gpaint_canvas *canvas) { gdk_window_set_cursor(canvas->top_level->window, canvas->arrow_cursor); if (canvas->cursor) { gdk_window_set_cursor(canvas->drawing->window, canvas->cursor); } else { gdk_window_set_cursor(canvas->drawing->window, canvas->arrow_cursor); } gdk_flush(); } void canvas_focus_gained(gpaint_canvas *canvas) { gpaint_tool *tool = canvas->active_tool; debug_fn1("canvas=%p", canvas); selection_enable_flash(canvas->selection); canvas->has_focus = TRUE; if (tool && tool->change) { (*tool->change)(tool, GpaintFocusIn, NULL); } } void canvas_focus_lost(gpaint_canvas *canvas) { gpaint_tool *tool = canvas->active_tool; debug_fn1("canvas=%p", canvas); selection_disable_flash(canvas->selection); canvas->has_focus = FALSE; if (tool && tool->change) { (*tool->change)(tool, GpaintFocusOut, NULL); } } void canvas_redraw(gpaint_canvas *canvas) { GtkWidget *widget = GTK_WIDGET(canvas->drawing_area); int width; int height; gdk_window_get_size(widget->window, &width, &height); gtk_widget_queue_draw_area(widget, 0, 0, width, height); gtk_widget_queue_draw(widget); } void canvas_begin_paste_mode(gpaint_canvas *canvas) { gpaint_clipboard *clipboard = canvas_clipboard(canvas); canvas_commit_change(canvas); // if (clipboard && point_array_size(clipboard->points)) { if (canvas->active_tool != canvas->paste_tool) { canvas->saved_tool = canvas->active_tool; canvas_set_tool(canvas, canvas->paste_tool); } } } void canvas_end_paste_mode(gpaint_canvas *canvas) { if (canvas->active_tool == canvas->paste_tool) { canvas_set_tool(canvas, canvas->saved_tool); } } void canvas_cut(gpaint_canvas *canvas) { canvas_commit_change(canvas); if (canvas_has_selection(canvas)) { selection_disable_flash(canvas->selection); canvas_copy_selection_to_clipboard(canvas); drawing_clear_selection(canvas->drawing, selection_points(canvas->selection)); selection_enable_flash(canvas->selection); } } void canvas_copy(gpaint_canvas *canvas) { canvas_commit_change(canvas); if (canvas_has_selection(canvas)) { selection_disable_flash(canvas->selection); canvas_copy_selection_to_clipboard(canvas); selection_enable_flash(canvas->selection); } } void canvas_clear(gpaint_canvas *canvas) { if (canvas_has_selection(canvas)) { selection_disable_flash(canvas->selection); drawing_clear_selection(canvas->drawing, selection_points(canvas->selection)); selection_enable_flash(canvas->selection); } else { drawing_clear(canvas->drawing); canvas_redraw(canvas); } } void canvas_select_all(gpaint_canvas *canvas) { GdkRectangle rect; canvas_commit_change(canvas); rect.x = 0; rect.y = 0; rect.width = canvas->drawing->width; rect.height = canvas->drawing->height; selection_set_rectangle(canvas->selection, rect); } gboolean canvas_has_selection(gpaint_canvas *canvas) { return (selection_num_points(canvas->selection) > 2); } gpaint_clipboard * canvas_clipboard(gpaint_canvas *canvas) { /* create the single clipboard */ if (!clipboard) { GSList *list; clipboard = g_new0(gpaint_clipboard, 1); clipboard->image = 0; clipboard->points = point_array_new(); /* create gobject for clipboard notifications */ g_object_set_data_full (G_OBJECT (canvas), GPAINT_CLIPBOARD_KEY, clipboard, (GDestroyNotify) canvas_clipboard_free); /* create list of pixbuf formats for clipboard format negotiation */ clipboard->pixbuf_formats = g_slist_sort (gdk_pixbuf_get_formats(), (GCompareFunc) canvas_clipboard_format_compare); for (list = clipboard->pixbuf_formats; list; list = g_slist_next (list)) { GdkPixbufFormat *format = list->data; if (gdk_pixbuf_format_is_writable (format)) { gchar **mime_types; gchar **type; mime_types = gdk_pixbuf_format_get_mime_types (format); for (type = mime_types; *type; type++) clipboard->n_target_entries++; g_strfreev (mime_types); } } if (clipboard->n_target_entries > 0) { gint i = 0; clipboard->target_entries = g_new0(GtkTargetEntry, clipboard->n_target_entries); clipboard->savers = g_new0(gchar*, clipboard->n_target_entries + 1); for (list = clipboard->pixbuf_formats; list; list = g_slist_next (list)) { GdkPixbufFormat *format = list->data; if (gdk_pixbuf_format_is_writable (format)) { gchar *format_name; gchar **mime_types; gchar **type; format_name = gdk_pixbuf_format_get_name (format); mime_types = gdk_pixbuf_format_get_mime_types (format); for (type = mime_types; *type; type++) { gchar *mime_type = *type; clipboard->target_entries[i].target = g_strdup (mime_type); clipboard->target_entries[i].flags = 0; clipboard->target_entries[i].info = i; clipboard->savers[i] = g_strdup (format_name); i++; } g_strfreev (mime_types); g_free (format_name); } } } } return clipboard; } static void canvas_clipboard_free (gpaint_clipboard *clipboard) { g_slist_free (clipboard->pixbuf_formats); g_free (clipboard->target_entries); g_strfreev (clipboard->savers); g_free (clipboard); } static void canvas_copy_selection_to_clipboard(gpaint_canvas *canvas) { gpaint_clipboard *clipboard = canvas_clipboard(canvas); GtkClipboard *gtk_clipboard; if (clipboard->image) { image_free(clipboard->image); } clipboard->image = image_from_selection( canvas->drawing->backing_pixmap, selection_points(canvas->selection)); point_array_copy(clipboard->points, selection_points(canvas->selection)); gtk_clipboard = gtk_clipboard_get_for_display (gdk_display_get_default(), GDK_SELECTION_CLIPBOARD); if (!gtk_clipboard) return; if (clipboard->image) { gtk_clipboard_set_with_owner (gtk_clipboard, clipboard->target_entries, clipboard->n_target_entries, (GtkClipboardGetFunc) canvas_clipboard_send_buffer, (GtkClipboardClearFunc) NULL, G_OBJECT (canvas)); } else if (gtk_clipboard_get_owner (gtk_clipboard) == G_OBJECT(canvas)) { gtk_clipboard_clear (gtk_clipboard); } } static GdkPixbuf* clipboard_pixbuf(gpaint_clipboard *clipboard) { return image_pixbuf(clipboard->image); } static void canvas_clipboard_send_buffer(GtkClipboard *gtk_clipboard, GtkSelectionData *selection_data, guint info, gpaint_canvas *canvas) { gpaint_clipboard *clipboard = canvas_clipboard(canvas); GdkPixbuf *pixbuf = clipboard_pixbuf(clipboard); if (pixbuf) { GdkAtom atom = gdk_atom_intern (clipboard->target_entries[info].target, FALSE); g_print ("sending pixbuf data as '%s' (%s)\n", clipboard->target_entries[info].target, clipboard->savers[info]); gchar *buffer; gsize buffer_size; GError *error = NULL; g_return_if_fail (selection_data != NULL); g_return_if_fail (atom != GDK_NONE); g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); g_return_if_fail (clipboard->savers[info] != NULL); if (gdk_pixbuf_save_to_buffer (pixbuf, &buffer, &buffer_size, clipboard->savers[info], &error, NULL)) { gtk_selection_data_set (selection_data, atom, 8, (guchar*) buffer, buffer_size); } } } static gint canvas_clipboard_format_compare (GdkPixbufFormat *a, GdkPixbufFormat *b) { gchar *a_name = gdk_pixbuf_format_get_name (a); gchar *b_name = gdk_pixbuf_format_get_name (b); gint retval = 0; #ifdef GDK_WINDOWING_WIN32 /* move BMP to the front of the list */ if (g_ascii_strncasecmp (a_name, "bmp", strlen("bmp")) == 0) retval = -1; else if (g_ascii_strncasecmp (b_name, "bmp", strlen("bmp")) == 0) retval = 1; else #endif /* move PNG to the front of the list */ if (g_ascii_strncasecmp (a_name, "png", strlen("png")) == 0) retval = -1; else if (g_ascii_strncasecmp (b_name, "png", strlen("png")) == 0) retval = 1; /* move JPEG to the end of the list */ else if (g_ascii_strncasecmp (a_name, "jpeg", strlen("jpeg")) == 0) retval = 1; else if (g_ascii_strncasecmp (b_name, "jpeg", strlen("jpeg")) == 0) retval = -1; /* move GIF to the end of the list */ else if (g_ascii_strncasecmp (a_name, "gif", strlen("gif")) == 0) retval = 1; else if (g_ascii_strncasecmp (b_name, "gif", strlen("gif")) == 0) retval = -1; g_free (a_name); g_free (b_name); return retval; } void canvas_commit_change(gpaint_canvas *canvas) { gpaint_tool * tool = canvas->active_tool; if (tool && tool->commit_change) tool->commit_change(tool); } gpaint-2-0.3.3/src/canvas.h0000664000076400007640000001110610666403762012315 00000000000000/* $Id: canvas.h,v 1.4 2005/01/07 02:50:52 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __CANVAS_H__ #define __CANVAS_H__ #include #include "image.h" #include "drawing.h" #include "selection.h" #define DEFAULT_WIDTH 640 #define DEFAULT_HEIGHT 480 typedef struct _gpaint_canvas gpaint_canvas; typedef struct _gpaint_canvas_class gpaint_canvas_class; typedef struct _gpaint_tool gpaint_tool; typedef enum _gpaint_attribute { GpaintForegroundColor, GpaintBackgroundColor, GpaintFillShape, GpaintFont } gpaint_attribute; typedef enum _gpaint_change { GpaintFocusIn, GpaintFocusOut } gpaint_change; /* * Drawing Tool */ typedef gpaint_tool* (*ToolCreate) (const char*); typedef void (*ToolDestroy) (gpaint_tool*); typedef void (*ToolSelect) (gpaint_tool*); typedef void (*ToolDeselect) (gpaint_tool*); typedef gboolean (*ToolAttribute) (gpaint_tool*, gpaint_attribute, gpointer); typedef void (*ToolChange) (gpaint_tool*, gpaint_change, gpointer); typedef void (*ToolButtonPress) (gpaint_tool*, int, int); typedef void (*ToolMotion) (gpaint_tool*, int, int); typedef void (*ToolButtonRelease)(gpaint_tool*, int, int); typedef void (*ToolKeyRelease) (gpaint_tool*, GdkEventKey*); typedef void (*ToolCurrentDraw) (gpaint_tool *); typedef void (*ToolCommitChange) (gpaint_tool *); struct _gpaint_tool { const char *name; gpaint_drawing *drawing; gpaint_canvas *canvas; GdkCursor *cursor; ToolDestroy destroy; ToolSelect select; ToolDeselect deselect; ToolAttribute attribute; ToolChange change; ToolButtonPress button_press; ToolMotion motion; ToolButtonRelease button_release; ToolKeyRelease key_release; ToolCurrentDraw current_draw; ToolCommitChange commit_change; }; /* cast macro */ #define GPAINT_TOOL(object) ((gpaint_tool*)object) typedef struct _gpaint_clipboard { gpaint_image *image; gpaint_point_array *points; GSList *pixbuf_formats; GtkTargetEntry *target_entries; gint n_target_entries; gchar **savers; } gpaint_clipboard; struct _gpaint_canvas_class { GObjectClass parent; }; struct _gpaint_canvas { GObject parent; /* public */ GtkWidget *top_level; GtkDrawingArea *drawing_area; GdkGC *gc; gpaint_tool *active_tool; gpaint_drawing *drawing; gboolean has_focus; gpaint_selection *selection; /* private */ GdkCursor *cursor; GdkCursor *busy_cursor; GdkCursor *arrow_cursor; gpaint_tool *paste_tool; gpaint_tool *saved_tool; }; void canvas_init_arg(int argc, char *argv[]); void canvas_destroy(gpaint_canvas *canvas); gpaint_canvas* canvas_lookup(GtkWidget *widget); void canvas_set_drawing(gpaint_canvas *canvas, gpaint_drawing *drawing); void canvas_resize(gpaint_canvas *canvas); void canvas_set_tool(gpaint_canvas *canvas, gpaint_tool *new_tool); void canvas_commit_change(gpaint_canvas *canvas); void canvas_begin_busy_cursor(gpaint_canvas *canvas); void canvas_end_busy_cursor(gpaint_canvas *canvas); void canvas_focus_gained(gpaint_canvas *canvas); void canvas_focus_lost(gpaint_canvas *canvas); void canvas_redraw(gpaint_canvas *canvas); void canvas_begin_paste_mode(gpaint_canvas *canvas); void canvas_end_paste_mode(gpaint_canvas *canvas); void canvas_cut(gpaint_canvas *canvas); void canvas_copy(gpaint_canvas *canvas); void canvas_clear(gpaint_canvas *canvas); void canvas_select_all(gpaint_canvas *canvas); gboolean canvas_has_selection(gpaint_canvas *canvas); gpaint_clipboard *canvas_clipboard(gpaint_canvas *canvas); #endif gpaint-2-0.3.3/src/color_palette.c0000664000076400007640000003205310671207535013671 00000000000000/* $Id: color_palette.c,v 1.5 2004/12/03 23:06:33 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * Copyright 2003 Michael A. Meffie * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include "canvas.h" #include "callbacks.h" #include "util.h" #include "debug.h" #include /* * Initial Palette colors. Red/Green/Blue values, 0 to 255. */ guint8 init_palette_values[][3] = { /* bottom row, left to right */ {255, 255, 255}, {190, 190, 190}, {255, 0, 0 }, {255, 255, 0 }, {0, 255, 0 }, {0, 255, 255}, {0, 0, 255}, {255, 0, 255}, {255, 255, 121}, {0, 255, 121}, {121, 255, 255}, {134, 125, 255}, {255, 0, 121}, {255, 125, 65 }, /* top row, left to right */ {0, 0, 0 }, {121, 125, 121}, {121, 0, 0 }, {121, 130, 0 }, {0, 125, 0 }, {0, 125, 121}, {0, 0, 121}, {121, 0, 121}, {121, 125, 65 }, {0, 65, 65 }, {0, 130, 255}, {65, 0, 255}, {0, 125, 65 }, {18, 52, 86 } }; const int NUM_PALETTES = sizeof(init_palette_values)/sizeof(*init_palette_values); const int RIGHT_BUTTON = 3; typedef enum { FOREGROUND, BACKGROUND } gpaint_color_mode; /* * Color swatch state data. */ typedef struct _gpaint_color_swatch { GtkWidget *widget; /* the drawing area for this swatch */ GdkColor color; /* current color value */ GdkGC *gc; /* the gc for this swatch */ } gpaint_color_swatch; /* * Color selector dialog state data. */ typedef struct _gpaint_color_selector { GtkWidget *widget; gpaint_color_swatch *swatch; gpaint_color_mode mode; GtkColorSelection *colorsel; GtkColorSelectionDialog *dialog; } gpaint_color_selector; static void color_swatch_destroy(gpaint_color_swatch *swatch); static void on_color_selector_ok_button_clicked(GtkButton *button, gpointer user_data); static void on_color_selector_cancel_button_clicked(GtkButton *button, gpointer user_data); static void change_color(gpaint_color_swatch *swatch, gpaint_color_mode mode); static void change_foreground_color(gpaint_canvas *canvas, GdkColor *color); static void change_background_color(gpaint_canvas *canvas, GdkColor *color); /* * Set the foreground color picker initial color. */ void on_foreground_color_picker_realize (GtkWidget *widget, gpointer user_data) { GdkColor black; gdk_color_black(gdk_colormap_get_system(), &black); gtk_color_button_set_color(GTK_COLOR_BUTTON(widget), &black); } /* * Set the background color picker initial color. */ void on_background_color_picker_realize (GtkWidget *widget, gpointer user_data) { GdkColor white; gdk_color_white(gdk_colormap_get_system(), &white); gtk_color_button_set_color(GTK_COLOR_BUTTON(widget), &white); } /* * Initialize a color swatch on the color palette tool bar. */ void on_color_palette_entry_realize (GtkWidget *widget, gpointer user_data) { int n = 0; int i = 0; const gchar *name; gpaint_color_swatch *swatch = g_new(gpaint_color_swatch, 1); debug_fn2("widget=%s swatch=%p", gtk_widget_get_name(widget), swatch); g_assert(swatch); swatch->widget = widget; swatch->gc = gdk_gc_new(widget->window); g_assert(swatch->gc); /* Get the color for this swatch from the color table. */ name = gtk_widget_get_name(widget); n = sscanf(name, "color_palette_entry%d", &i); g_assert(n==1); g_assert(0<=i && icolor.pixel = 0; swatch->color.red = color16(init_palette_values[i][0]); swatch->color.green = color16(init_palette_values[i][1]); swatch->color.blue = color16(init_palette_values[i][2]); gdk_color_alloc(gdk_colormap_get_system(), &(swatch->color)); gdk_gc_set_foreground(swatch->gc, &(swatch->color)); gtk_object_set_data_full(GTK_OBJECT(widget), "color_swatch", swatch, (GtkDestroyNotify)color_swatch_destroy); } static void color_swatch_destroy(gpaint_color_swatch *swatch) { debug_fn1("swatch=%p", swatch); gdk_gc_unref(swatch->gc); memset(swatch, 0xBEBE, sizeof(gpaint_color_swatch)); g_free(swatch); } /* * Paint the color palette using the gc created in the * realize callback. */ gboolean on_color_palette_entry_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data) { gpaint_color_swatch *swatch = (gpaint_color_swatch*)gtk_object_get_data(GTK_OBJECT(widget), "color_swatch"); debug_fn1("widget=%s", gtk_widget_get_name(widget)); if (swatch == NULL) return FALSE; gdk_draw_rectangle( widget->window, swatch->gc, TRUE, event->area.x, event->area.y, event->area.width, event->area.height ); return FALSE; } /* * Handle mouse clicks in the color swatch. A single left or center * click selects this color to be the foreground color. A single * right click sets this color to be the background color. A double * click creates a color selection dialog to let the user pick a * custom color. */ gboolean on_color_palette_entry_button_press_event (GtkWidget *widget, GdkEventButton *event, gpointer user_data) { gpaint_color_swatch *swatch = (gpaint_color_swatch*)gtk_object_get_data(GTK_OBJECT(widget), "color_swatch"); gpaint_color_mode mode; /* Change the background on right click, foregound on left click * or center click. */ g_assert(swatch); mode = (event->button==RIGHT_BUTTON ? BACKGROUND : FOREGROUND); if (event->type==GDK_BUTTON_PRESS) { change_color(swatch, mode); } else if (event->type==GDK_2BUTTON_PRESS) { /* show color selection dialog on double click */ gdouble color[4]; gpaint_color_selector *selector = g_new(gpaint_color_selector, 1); GtkWidget *toplevel = gtk_widget_get_toplevel(widget); GtkWidget *dialog = gtk_color_selection_dialog_new("Select Color"); g_assert(toplevel); g_assert(selector); g_assert(dialog); selector->swatch = swatch; selector->dialog = GTK_COLOR_SELECTION_DIALOG(dialog); selector->colorsel = GTK_COLOR_SELECTION(selector->dialog->colorsel); selector->mode = mode; gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(toplevel)); gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); gtk_signal_connect( GTK_OBJECT(selector->dialog->ok_button), "clicked", GTK_SIGNAL_FUNC(on_color_selector_ok_button_clicked), (gpointer)selector); gtk_signal_connect( GTK_OBJECT(selector->dialog->cancel_button), "clicked", GTK_SIGNAL_FUNC(on_color_selector_cancel_button_clicked), (gpointer)selector); /* Set initial color to the swatch color. */ color[0] = (gdouble)swatch->color.red / MAX_16_BIT_COLOR; color[1] = (gdouble)swatch->color.green / MAX_16_BIT_COLOR; color[2] = (gdouble)swatch->color.blue / MAX_16_BIT_COLOR; color[3] = 0.0; gtk_color_selection_set_color(selector->colorsel, color); gtk_widget_show(GTK_WIDGET(dialog)); } return FALSE; } /* * Set the custom color to the swatch and the canvas. */ static void on_color_selector_ok_button_clicked (GtkButton *button, gpointer user_data) { gdouble color[4]; gpaint_color_selector *selector = (gpaint_color_selector*)user_data; gpaint_color_swatch *swatch = selector->swatch; /* Get the selected colors: red, green, blue, opacity. * Range 0.0 to 1.0 */ gtk_color_selection_get_color(selector->colorsel, color); /* Set the new swatch color. */ swatch->color.red = (guint16)(color[0] * MAX_16_BIT_COLOR); swatch->color.green = (guint16)(color[1] * MAX_16_BIT_COLOR); swatch->color.blue = (guint16)(color[2] * MAX_16_BIT_COLOR); gdk_color_alloc(gdk_colormap_get_system(), &(swatch->color)); gdk_gc_set_foreground(swatch->gc, &(swatch->color)); gtk_widget_queue_draw(swatch->widget); /* Set picker color and canvas color. */ change_color(swatch, selector->mode); /* clean up */ gtk_widget_destroy(GTK_WIDGET(selector->dialog)); g_free(selector); } /* * Dismiss the custom color selection dialog. */ static void on_color_selector_cancel_button_clicked (GtkButton *button, gpointer user_data) { gpaint_color_selector *selector = (gpaint_color_selector*)user_data; gtk_widget_destroy(GTK_WIDGET(selector->dialog)); g_free(selector); } /* * Set the current foreground or backgound color and the * associated color picker. */ static void change_color(gpaint_color_swatch *swatch, gpaint_color_mode mode) { GtkColorButton *picker; GdkGCValues gcvalues; gpaint_canvas *canvas; GdkColor color = {0, swatch->color.red, swatch->color.green, swatch->color.blue} ; g_assert(swatch); canvas = canvas_lookup(swatch->widget); gdk_gc_get_values(swatch->gc, &gcvalues); if (mode==FOREGROUND) { change_foreground_color(canvas, &(gcvalues.foreground)); picker = (GtkColorButton*)lookup_widget( swatch->widget, "foreground_color_picker"); } else { change_background_color(canvas, &(gcvalues.foreground)); picker = (GtkColorButton*)lookup_widget( swatch->widget, "background_color_picker"); } g_assert(picker); gtk_color_button_set_color( picker, &color); } /* * Set the canvas foreground color from the color picker selection. */ void on_foreground_color_picker_color_set (GtkColorButton *gnomecolorpicker, guint arg1, guint arg2, guint arg3, guint arg4, gpointer user_data) { GdkColor color = {0, arg1, arg2, arg3}; gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(gnomecolorpicker)); gdk_color_alloc(gdk_colormap_get_system(), &color); change_foreground_color(canvas, &color); } /* * Set the canvas background color from the color picker selection. */ void on_background_color_picker_color_set (GtkColorButton *gnomecolorpicker, guint arg1, guint arg2, guint arg3, guint arg4, gpointer user_data) { GdkColor color = {0, arg1, arg2, arg3}; gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(gnomecolorpicker)); gdk_color_alloc(gdk_colormap_get_system(), &color); change_background_color(canvas, &color); } /* * Change the current foreground color. */ static void change_foreground_color(gpaint_canvas *canvas, GdkColor *color) { gpaint_tool *tool = canvas->active_tool; GdkGC *gc = canvas->gc; gboolean changed = FALSE; if (tool && tool->attribute) { changed = (*tool->attribute)(tool, GpaintForegroundColor, (gpointer*)color); } if (!changed) { gdk_gc_set_foreground(gc, color); } } /* * Change the current background color. */ static void change_background_color(gpaint_canvas* canvas, GdkColor* color) { gpaint_tool *tool = canvas->active_tool; GdkGC *gc = canvas->gc; gboolean changed = FALSE; if (tool && tool->attribute) { changed = (*tool->attribute)(tool, GpaintBackgroundColor, (gpointer*)color); } if (!changed) { gdk_gc_set_background(gc, color); } } gpaint-2-0.3.3/src/color_palette.h0000664000076400007640000000142010664360256013672 00000000000000/* $Id: color_palette.h,v 1.2 2004/03/13 03:27:15 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ gpaint-2-0.3.3/src/debug.h0000664000076400007640000000536410664360256012137 00000000000000/* $Id: debug.h,v 1.5 2004/12/10 23:28:51 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /* * Debugging macros. To include the debugging macros in all the * modules, use the debug target on the make command: * * $ make clean debug * * or add #define GPAINT_DEBUG to the top of the module which * includes this file. * * debug_fn() -- print the name of the current function * debug_fn1() -- print the function and one param * debug_fn2() -- print the function and two params * debug_fn3() -- print the function and three params * * debug(msg) -- print the message string * debug1(format,x) -- print one param using the format string * debug2(format,x,y) -- print two params using the format string * debug2(format,x,y,z) -- print three params using the format string */ #ifndef __DEBUG_H__ #define __DEBUG_H__ #include #ifdef GPAINT_DEBUG # define DEBUG_HDR "** Debug : %s (%d) : " # define DEBUG_HDR_FN "** Debug : %s (%d) : %s() : " # define debug(msg) g_print(DEBUG_HDR "%s\n", __FILE__, __LINE__, msg); # define debug1(format,x) g_print(DEBUG_HDR format "\n", __FILE__, __LINE__, (x)); # define debug2(format,x,y) g_print(DEBUG_HDR format "\n", __FILE__, __LINE__, (x),(y)); # define debug3(format,x,y,z) g_print(DEBUG_HDR format "\n", __FILE__, __LINE__, (x),(y),(z)); # define debug_fn() g_print(DEBUG_HDR_FN "\n", __FILE__, __LINE__, __PRETTY_FUNCTION__); # define debug_fn1(format,x) g_print(DEBUG_HDR_FN format "\n", __FILE__, __LINE__, __PRETTY_FUNCTION__, (x)); # define debug_fn2(format,x,y) g_print(DEBUG_HDR_FN format "\n", __FILE__, __LINE__, __PRETTY_FUNCTION__, (x),(y)); # define debug_fn3(format,x,y,z) g_print(DEBUG_HDR_FN format "\n", __FILE__, __LINE__, __PRETTY_FUNCTION__, (x),(y),(z)); #else # define debug(msg) # define debug1(format,x) # define debug2(format,x,y) # define debug3(format,x,y,z) # define debug_fn() # define debug_fn1(format,x) # define debug_fn2(format,x,y) # define debug_fn3(format,x,y,z) #endif #endif gpaint-2-0.3.3/src/drawing.c0000664000076400007640000003502510670641452012471 00000000000000/* $Id: drawing.c,v 1.8 2005/01/27 02:48:45 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #ifdef HAVE_STRING_H # include #endif #include "drawing.h" #include "image.h" #include "image_processing.h" #include "debug.h" #include #include #include /* for gdk_root_parent */ #include #define _(String) gettext (String) /* default filename */ #define UNTITLED _("untitled.png") static void drawing_create_pixmap(gpaint_drawing *drawing, int w, int h); static void drawing_update_title(gpaint_drawing *drawing); void drawing_set_filename(gpaint_drawing *drawing, const gchar *filename); gpaint_drawing* drawing_new_blank(GtkDrawingArea *drawing_area, GdkGC *gc, gint width, gint height) { gpaint_drawing *drawing = (gpaint_drawing*)g_new0(gpaint_drawing, 1); GtkWidget *widget = GTK_WIDGET(drawing_area); g_assert(drawing); g_assert(drawing_area); g_assert(gc); drawing->top_level = gtk_widget_get_toplevel(widget); drawing->window = widget->window; /* reference to the drawing area window */ drawing->gc = gc; /* reference to the gc */ gdk_gc_ref(gc); if (width==0 || height==0) { gdk_window_get_size(widget->window, &width, &height); } drawing->filename = g_string_new(UNTITLED); drawing->untitled = TRUE; /* true until until the file is saved */ drawing_update_title(drawing); /* create pixmap, which is stored in the X server's memory */ drawing_create_pixmap(drawing, width, height); /* initial drawing is filled with white to look like a blank page */ gdk_draw_rectangle( drawing->backing_pixmap, drawing->top_level->style->white_gc, TRUE, 0, 0, drawing->width, drawing->height ); debug1("new drawing=%p", drawing); return drawing; } gpaint_drawing* drawing_new_from_file(GtkDrawingArea *drawing_area, GdkGC *gc, const gchar *filename) { gpaint_drawing *drawing = (gpaint_drawing*)g_new0(gpaint_drawing, 1); GtkWidget *widget = GTK_WIDGET(drawing_area); gpaint_image *image; g_assert(drawing); g_assert(drawing_area); g_assert(gc); g_assert(filename); g_assert(*filename); drawing->top_level = gtk_widget_get_toplevel(widget); drawing->window = widget->window; /* reference to the drawing area window */ drawing->gc = gc; /* reference to the gc */ gdk_gc_ref(gc); /* read the image from the file */ image = image_new_readfile(filename); if (!image) { debug1("cannot open filename %s", filename); return 0; } drawing->filename = g_string_new(UNTITLED); drawing->untitled = TRUE; drawing_set_filename(drawing, filename); /* create pixmap, which is stored in the X server's memory */ drawing_create_pixmap(drawing, image_width(image), image_height(image)); /* render the image on to the backing pixmap */ image_draw_on_pixmap(image, &drawing->backing_pixmap, drawing->gc); image_free(image); /* free the memory buffer */ debug1("new drawing=%p", drawing); return drawing; } gpaint_drawing* drawing_new_from_desktop(GtkDrawingArea *drawing_area, GdkGC *gc) { gpaint_drawing *drawing = (gpaint_drawing*)g_new0(gpaint_drawing, 1); GtkWidget *widget = GTK_WIDGET(drawing_area); gpaint_image *image; g_assert(drawing); g_assert(drawing_area); g_assert(gc); drawing->top_level = gtk_widget_get_toplevel(widget); drawing->window = widget->window; /* reference to the drawing area window */ drawing->gc = gc; /* reference to the gc */ gdk_gc_ref(gc); image = image_new_from_desktop(); if (!image) { debug("cannot create image from desktop"); return 0; } drawing->filename = g_string_new(UNTITLED); drawing->untitled = TRUE; /* true until until the file is saved */ drawing->modified = TRUE; /* true because we grabbed the image and haven't saved yet */ drawing_update_title(drawing); /* create pixmap, which is stored in the X server's memory */ drawing_create_pixmap(drawing, image_width(image), image_height(image)); /* render the image on to the backing pixmap */ image_draw_on_pixmap(image, &drawing->backing_pixmap, drawing->gc); image_free(image); /* free the memory buffer */ debug1("new drawing=%p", drawing); return drawing; } void drawing_destroy(gpaint_drawing *drawing) { g_assert(drawing); debug_fn1("drawing=%p", drawing); gdk_gc_unref(drawing->gc); gdk_pixmap_unref(drawing->backing_pixmap); memset(drawing, 0xBEBE, sizeof(drawing)); /* debugging aid */ g_free(drawing); } int drawing_in_bounds(gpaint_drawing *drawing, int x, int y) { return (0<=x && x<=drawing->width && 0<=y && y<=drawing->height); } void drawing_copy_to_desktop(gpaint_drawing *drawing) { GdkWindow *root = gdk_window_lookup(gdk_x11_get_default_root_xwindow()); int width, height; debug_fn(); gdk_window_get_size(root, &width, &height); gdk_window_set_back_pixmap(root, drawing->backing_pixmap, FALSE); gdk_window_clear(root); } int drawing_save(gpaint_drawing *drawing) { gchar *filename = drawing->filename->str; /* Do not clobber existing file without consent. */ if (drawing->untitled) { if (g_file_test(filename, G_FILE_TEST_EXISTS)) { GtkWidget *dialog; gint result; dialog = gtk_message_dialog_new( GTK_WINDOW(drawing->top_level), GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("The file %s already exists.\n\nDo you want to overwrite it?"), filename); result = gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(GTK_WIDGET(dialog)); if (result==GTK_RESPONSE_NO) { return FALSE; } } } return drawing_save_as(drawing, filename); } int drawing_save_as(gpaint_drawing *drawing, const gchar *filename) { gpaint_image *image = NULL; GError *error = NULL; int saved = FALSE; g_assert(drawing); image = drawing_create_image(drawing); saved = image_write(image, filename, &error); image_free(image); if (saved) { drawing->modified = FALSE; drawing_set_filename(drawing, filename); } else { GtkWidget *dialog = gtk_message_dialog_new( GTK_WINDOW(drawing->top_level), GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, _("Failed to save file %s.\n\n%s"), drawing->filename->str, (error && error->message) ? error->message : ""); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(GTK_WIDGET(dialog)); g_free(error); /* allocated by gdk-pixbuf library */ } return saved; } void drawing_modified(gpaint_drawing *drawing) { if (!drawing->modified) { drawing->modified = TRUE; drawing_update_title(drawing); } } void drawing_set_filename(gpaint_drawing *drawing, const gchar *filename) { g_assert(drawing); g_assert(filename); g_assert(drawing->filename); if (!*filename) { g_warning("refusing to set empty filename."); return; } debug1("filename=[%s]", filename); g_string_assign(drawing->filename, filename); drawing->untitled = FALSE; drawing_update_title(drawing); } static void drawing_update_title(gpaint_drawing *drawing) { GString *title; gchar *basename; /* Display the filename in the title bar. */ title = g_string_new(""); if (drawing->untitled) { g_string_append(title, _("Untitled")); } else { basename = g_strrstr(drawing->filename->str, "/"); if (basename) { g_string_append(title, basename+1); } else { g_string_append(title, drawing->filename->str); } } if (drawing->modified) { g_string_append(title, _(" (modified)")); } g_string_append(title, _(" - gpaint")); gtk_window_set_title(GTK_WINDOW(drawing->top_level), title->str); g_string_free(title, TRUE); } gpaint_image * drawing_create_image(gpaint_drawing *drawing) { GdkRectangle area = {0, 0, drawing->width, drawing->height}; gpaint_image *img = image_new_from_pixmap(drawing->backing_pixmap, area); return img; } void drawing_clear(gpaint_drawing *drawing) { GdkGCValues gcvalues; gdk_gc_get_values(drawing->gc, &gcvalues); gdk_gc_set_foreground(drawing->gc, &(gcvalues.background)); gdk_draw_rectangle( drawing->backing_pixmap, drawing->gc, TRUE, 0, 0, drawing->width, drawing->height ); gdk_gc_set_foreground(drawing->gc, &(gcvalues.foreground)); } void drawing_clear_selection(gpaint_drawing *drawing, gpaint_point_array *points) { GdkGCValues gcvalues; GdkRectangle clientrect; if (point_array_size(points) > 2) { clientrect.x = clientrect.y = 0; clientrect.width = drawing->width; clientrect.height = drawing->height; gdk_gc_get_values(drawing->gc, &gcvalues); gdk_gc_set_clip_origin(drawing->gc, 0, 0); gdk_gc_set_clip_rectangle(drawing->gc, &clientrect); gdk_gc_set_foreground(drawing->gc, &(gcvalues.background)); gdk_draw_polygon( drawing->backing_pixmap, drawing->gc, TRUE, point_array_data(points), point_array_size(points)); gdk_draw_polygon( drawing->window, drawing->gc, TRUE, point_array_data(points), point_array_size(points)); gdk_gc_set_foreground(drawing->gc, &(gcvalues.foreground)); } } static void drawing_create_pixmap(gpaint_drawing *drawing, int w, int h) { GdkRectangle rect; /* create pixmap, which is stored in the X server's memory */ drawing->width = w; drawing->height = h; drawing->backing_pixmap = gdk_pixmap_new( drawing->top_level->window, drawing->width, drawing->height, -1); g_assert(drawing->backing_pixmap); rect.x = 0; rect.y = 0; rect.width = drawing->width; rect.height = drawing->height; gdk_gc_set_clip_origin(drawing->gc, 0, 0); gdk_gc_set_clip_rectangle(drawing->gc, &rect); } gboolean drawing_prompt_to_save(gpaint_drawing *drawing) { gboolean cancel = FALSE; debug_fn(); if (drawing->modified) { GtkWidget *dialog; gint result; dialog = gtk_message_dialog_new( GTK_WINDOW(drawing->top_level), GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, _("Do you want to save the changes you made to \"%s\"?\nYour changes will be lost if you don't save them."), drawing->filename->str); #ifdef GTK_STOCK_DISCARD gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_DISCARD,GTK_RESPONSE_DISCARD); #else gtk_dialog_add_button(GTK_DIALOG(dialog), _("Close _without Saving"), GTK_RESPONSE_NO); #endif /* !GTK_STOCK_DISCARD */ gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_SAVE, GTK_RESPONSE_YES); result = gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(GTK_WIDGET(dialog)); while (gtk_events_pending()) { gtk_main_iteration(); } switch (result) { case GTK_RESPONSE_YES: if (drawing_save(drawing)) { cancel = FALSE; } else { cancel = TRUE; } break; case GTK_RESPONSE_CANCEL: cancel = TRUE; break; } } return cancel; } void drawing_rotate(gpaint_drawing *drawing, double degrees) { gpaint_image *image = drawing_create_image(drawing); if (image) { image_rotate(image, degrees); /* copy rotated image on the pixmap */ gdk_pixmap_unref(drawing->backing_pixmap); drawing_create_pixmap(drawing, image_width(image), image_height(image)); image_draw_on_pixmap(image, &drawing->backing_pixmap, drawing->gc); image_free(image); drawing_modified(drawing); } } inline void drawing_save_undo_pixmap(gpaint_drawing *drawing) { #if 0 debug("Backing up the backing pixmap\n"); gdk_draw_drawable(drawing->undo_pixmap, drawing->gc, drawing->backing_pixmap, 0, 0, 0, 0, -1, -1); #endif } inline void drawing_undo(gpaint_drawing *drawing) { #if 0 debug("Undoing the last backing pixmap operation\n"); gdk_draw_drawable(drawing->backing_pixmap, drawing->gc, drawing->undo_pixmap, 0, 0, 0, 0, -1, -1); #endif } gpaint-2-0.3.3/src/drawing.h0000664000076400007640000000471610667455660012513 00000000000000/* $Id: drawing.h,v 1.5 2005/01/07 02:50:52 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __DRAWING_H__ #define __DRAWING_H__ #include "image.h" #include "selection.h" #include /* * Drawing */ typedef struct _gpaint_drawing { GtkWidget *top_level; /* reference to the top level window */ GdkDrawable *window; /* reference to the drawing area window */ GdkPixmap *backing_pixmap; /* stored in X server memory */ gboolean modified; GdkGC *gc; /* reference to the gc */ GString *filename; gboolean untitled; /* false if the filename has been set by the user */ gint width; gint height; } gpaint_drawing; gpaint_drawing* drawing_new_blank(GtkDrawingArea *drawing_area, GdkGC *gc, gint width, gint height); gpaint_drawing* drawing_new_from_file(GtkDrawingArea *drawing_area, GdkGC *gc, const gchar* filename); gpaint_drawing* drawing_new_from_desktop(GtkDrawingArea *drawing_area, GdkGC *gc); void drawing_destroy(gpaint_drawing *drawing); int drawing_in_bounds(gpaint_drawing *drawing, int x, int y); int drawing_save(gpaint_drawing *drawing); int drawing_save_as(gpaint_drawing *drawing, const gchar *filename); void drawing_modified(gpaint_drawing *drawing); void drawing_copy_to_desktop(gpaint_drawing *drawing); gpaint_image *drawing_create_image(gpaint_drawing *drawing); void drawing_clear(gpaint_drawing *drawing); void drawing_clear_selection(gpaint_drawing *drawing, gpaint_point_array *points); gboolean drawing_prompt_to_save(gpaint_drawing *drawing); void drawing_rotate(gpaint_drawing *drawing, double degrees); #endif gpaint-2-0.3.3/src/file.c0000664000076400007640000002526310671207535011761 00000000000000/* $Id: file.c,v 1.5 2005/01/27 02:54:37 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include #include "global.h" #include "canvas.h" #include "image.h" #include "debug.h" #include "util.h" #define MAX_WIDTH 4096 #define MAX_HEIGHT 4096 typedef struct _gpaint_new_drawing_dialog { GtkWidget *window; GtkWidget *width_entry; GtkWidget *height_entry; gpaint_canvas *canvas; } gpaint_new_drawing_dialog; /* * A filename for the image was selected. Save the name and the file. */ static void on_save_filename_selected(GtkFileSelection *dialog) { gpaint_canvas *canvas; const gchar *filename; debug_fn(); filename = gtk_file_selection_get_filename(GTK_FILE_SELECTION(dialog)); debug1("filename: %s", filename); canvas = (gpaint_canvas*)gtk_object_get_user_data(GTK_OBJECT(dialog)); /* dismiss the dialog. flush gtk events to avoid double select */ gtk_widget_destroy(GTK_WIDGET(dialog)); while (gtk_events_pending()) { gtk_main_iteration(); } /* Do not clobber existing file without consent. */ if (g_file_test(filename, G_FILE_TEST_EXISTS)) { GtkWidget *dialog; gint result; dialog = gtk_message_dialog_new( GTK_WINDOW(canvas->top_level), GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("The file %s already exists.\n\nDo you want to overwrite it?"), filename); result = gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(GTK_WIDGET(dialog)); if (result==GTK_RESPONSE_NO) { return; } } drawing_save_as(canvas->drawing, filename); } /* * Open the image file selected in the open file dialog. */ static void on_open_filename_selected(GtkFileSelection *dialog) { gpaint_canvas *canvas = (gpaint_canvas*)gtk_object_get_user_data(GTK_OBJECT(dialog)); gpaint_drawing *new_drawing; /* save the result before the widget is destroyed */ GString *filename = g_string_new(gtk_file_selection_get_filename(GTK_FILE_SELECTION(dialog))); /* dismiss the dialog. flush gtk events to avoid double select */ gtk_widget_destroy(GTK_WIDGET(dialog)); while (gtk_events_pending()) { gtk_main_iteration(); } new_drawing = drawing_new_from_file(canvas->drawing_area, canvas->gc, filename->str); if (new_drawing) { canvas_set_drawing(canvas, new_drawing); } else { GtkWidget *msgbox; msgbox = gtk_message_dialog_new(GTK_WINDOW(canvas->top_level), GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open file %s."), filename->str); gtk_dialog_run(GTK_DIALOG(msgbox)); gtk_widget_destroy(msgbox); } g_string_free(filename, TRUE); } void file_save_as_dialog(gpaint_canvas *canvas) { GtkWidget *dialog; gpaint_drawing *drawing = canvas->drawing; gpaint_tool * tool = canvas->active_tool; if (tool && tool->commit_change) tool->commit_change(tool); dialog = gtk_file_chooser_dialog_new(_("Save as"), GTK_WINDOW(canvas->top_level), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); g_assert(dialog); gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE); g_assert(drawing); g_assert(drawing->filename); g_assert(drawing->filename->len); gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), drawing->filename->str); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { char *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); debug1("filename: %s", filename); /* dismiss the dialog. flush gtk events to avoid double select */ gtk_widget_destroy(GTK_WIDGET(dialog)); while (gtk_events_pending()) { gtk_main_iteration(); } drawing_save_as(canvas->drawing, filename); } else { gtk_widget_destroy(GTK_WIDGET(dialog)); } } void file_open_dialog(gpaint_canvas *canvas) { GtkWidget *dialog; gchar *dir; GString *filename; gpaint_drawing *drawing; g_assert(canvas); dialog = gtk_file_chooser_dialog_new(_("Open image"), GTK_WINDOW(canvas->top_level), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); g_assert(dialog); drawing = canvas->drawing; if (drawing->untitled) { dir = g_get_current_dir(); } else { g_assert(drawing->filename); g_assert(drawing->filename->str); dir = g_dirname(drawing->filename->str); } gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), dir); g_free(dir); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { gpaint_drawing *new_drawing; /* save the result before the widget is destroyed */ GString *filename = g_string_new(gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog))); /* dismiss the dialog. flush gtk events to avoid double select */ gtk_widget_destroy(GTK_WIDGET(dialog)); while (gtk_events_pending()) { gtk_main_iteration(); } new_drawing = drawing_new_from_file(canvas->drawing_area, canvas->gc, filename->str); if (new_drawing) { canvas_set_drawing(canvas, new_drawing); } else { GtkWidget *msgbox; msgbox = gtk_message_dialog_new(GTK_WINDOW(canvas->top_level), GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot open file %s."), filename->str); gtk_dialog_run(GTK_DIALOG(msgbox)); gtk_widget_destroy(msgbox); } g_string_free(filename, TRUE); } else { gtk_widget_destroy(dialog); } } void on_new_canvas_ok_button_clicked (GtkButton *button, gpointer user_data) { gpaint_new_drawing_dialog *dialog; char *tmp; int width = 0, height = 0; dialog = (gpaint_new_drawing_dialog*)gtk_object_get_user_data(GTK_OBJECT(button)); tmp = gtk_editable_get_chars(GTK_EDITABLE(dialog->width_entry), 0, -1); sscanf(tmp, "%d", &width); g_free(tmp); tmp = gtk_editable_get_chars(GTK_EDITABLE(dialog->height_entry), 0, -1); sscanf(tmp, "%d", &height); g_free(tmp); if (0canvas; gpaint_drawing *new_drawing = drawing_new_blank(canvas->drawing_area, canvas->gc, width, height); if (new_drawing) { canvas_set_drawing(canvas, new_drawing); } gtk_widget_destroy(dialog->window); } else { GtkWidget *msgbox = gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Invalid width or height values"), NULL); gtk_window_set_modal(GTK_WINDOW(msgbox), TRUE); gtk_window_set_transient_for (GTK_WINDOW(msgbox), GTK_WINDOW(dialog->window)); gtk_window_set_position(GTK_WINDOW(msgbox), GTK_WIN_POS_CENTER); gtk_dialog_run(GTK_DIALOG(msgbox)); gtk_widget_destroy(msgbox); } } void on_new_canvas_cancel_button_clicked (GtkButton *button, gpointer user_data) { gpaint_new_drawing_dialog *dialog; dialog = (gpaint_new_drawing_dialog*)gtk_object_get_user_data(GTK_OBJECT(button)); gtk_widget_destroy(dialog->window); } void on_new_canvas_window_destroy (GtkObject *object, gpointer user_data) { gpaint_new_drawing_dialog *dialog; debug_fn(); dialog = (gpaint_new_drawing_dialog*)gtk_object_get_user_data(object); g_free(dialog); } void file_new_dialog(gpaint_canvas *canvas) { gpaint_new_drawing_dialog *dialog; char tmp[100]; gint position = 0; GtkWidget *ok_button; GtkWidget *cancel_button; dialog = g_new0(gpaint_new_drawing_dialog, 1); g_assert(dialog); dialog->window = create_new_canvas_window(); dialog->canvas = canvas; dialog->width_entry = lookup_widget(dialog->window, "new_canvas_width_text_entry"); dialog->height_entry = lookup_widget(dialog->window, "new_canvas_height_text_entry"); sprintf(tmp, "%d", canvas->drawing->width); gtk_editable_insert_text(GTK_EDITABLE(dialog->width_entry), tmp, strlen(tmp), &position); position = 0; sprintf(tmp, "%d", canvas->drawing->height); gtk_editable_insert_text(GTK_EDITABLE(dialog->height_entry), tmp, strlen(tmp), &position); /* Save the dialog state for the button click callbacks. */ ok_button = lookup_widget(dialog->window, "new_canvas_ok_button"); cancel_button = lookup_widget(dialog->window, "new_canvas_cancel_button"); gtk_object_set_user_data(GTK_OBJECT(ok_button), dialog); gtk_object_set_user_data(GTK_OBJECT(cancel_button), dialog); gtk_object_set_user_data(GTK_OBJECT(dialog->window), dialog); gtk_widget_show(dialog->window); } gpaint-2-0.3.3/src/file.h0000664000076400007640000000203310664360256011756 00000000000000/* $Id: file.h,v 1.2 2004/03/13 03:28:17 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __FILE_H__ #define __FILE_H__ void file_save_as_dialog(gpaint_canvas *canvas); void file_open_dialog(gpaint_canvas *canvas); void file_new_dialog(gpaint_canvas *canvas); #endif gpaint-2-0.3.3/src/fill.c0000664000076400007640000001367410671207535011773 00000000000000/* $Id: fill.c,v 1.3 2004/12/25 04:41:58 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include "fill.h" #include "image.h" #include "util.h" #include "debug.h" #define STACKSIZE 10000 typedef struct _gpaint_fill { gpaint_tool tool; } gpaint_fill; struct fillinfo { unsigned char *rgb; int rowstride; int pixelsize; int width; int height; unsigned char or, og, ob, r, g, b; }; struct fillpixelinfo { int y, xl, xr, dy; }; #define GPAINT_FILL(tool) ((gpaint_fill*)(tool)) #define PUSH(py, pxl, pxr, pdy) \ { \ struct fillpixelinfo *p = sp;\ if (((py) + (pdy) >= 0) && ((py) + (pdy) < info->height))\ {\ p->y = (py);\ p->xl = (pxl);\ p->xr = (pxr);\ p->dy = (pdy);\ sp++; \ }\ } #define POP(py, pxl, pxr, pdy) \ {\ sp--;\ (py) = sp->y + sp->dy;\ (pxl) = sp->xl;\ (pxr) = sp->xr;\ (pdy) = sp->dy;\ } static void fill_destroy(gpaint_tool *tool); static void fill_bounded_area(gpaint_tool *tool, int x, int y); static void flood_fill_algo(struct fillinfo *info, int x, int y); static void __inline__ set_new_pixel_value(struct fillinfo *info, int x, int y); static int __inline__ is_old_pixel_value(struct fillinfo *info, int x, int y); gpaint_tool *fill_create(const char *name) { gpaint_fill *fill = g_new0(gpaint_fill, 1); g_assert(fill); GPAINT_TOOL(fill)->name = name; GPAINT_TOOL(fill)->cursor = gdk_cursor_new(GDK_CROSSHAIR); GPAINT_TOOL(fill)->destroy = fill_destroy; GPAINT_TOOL(fill)->button_press = fill_bounded_area; return GPAINT_TOOL(fill); } static void fill_destroy(gpaint_tool *tool) { debug_fn(); gdk_cursor_destroy(tool->cursor); g_free(tool); } static void fill_bounded_area(gpaint_tool* tool, int x, int y) { gpaint_drawing *drawing = tool->drawing; GdkGCValues gcvalues; const GdkColor *color; unsigned char r, g, b; struct fillinfo fillinfo; unsigned char *p ; gpaint_image *img; img = drawing_create_image(drawing); gdk_gc_get_values(tool->drawing->gc, &gcvalues); color = &(gcvalues.foreground); convert_color(color, &r, &g, &b); fillinfo.rgb = image_pixels(img); fillinfo.width = image_width(img); fillinfo.height = image_height(img); fillinfo.rowstride = image_rowstride(img); fillinfo.pixelsize = image_pixelsize(img); fillinfo.r = r; fillinfo.g = g; fillinfo.b = b; p = fillinfo.rgb + y * fillinfo.rowstride + x * fillinfo.pixelsize; fillinfo.or = *p; fillinfo.og = *(p + 1); fillinfo.ob = *(p + 2); flood_fill_algo(&fillinfo, x, y); image_draw_on_pixmap(img, &(drawing->backing_pixmap), drawing->gc); /* TODO: Is it possible to determine the bounding rectangle so we don't have to invalidate the whole drawing? This is wasteful. */ gtk_widget_queue_draw_area(GTK_WIDGET(tool->canvas->drawing_area), 0, 0, drawing->width, drawing->height); image_free(img); drawing_modified(drawing); } static __inline__ int is_old_pixel_value(struct fillinfo *info, int x, int y) { unsigned char *p = info->rgb + y * info->rowstride + x * info->pixelsize; unsigned char or, og, ob; or = *p; og = *(p + 1); ob = *(p + 2); if ((or == info->or) && (og == info->og) && (ob == info->ob)) { return 1; } return 0; } static __inline__ void set_new_pixel_value(struct fillinfo *info, int x, int y) { unsigned char *p = info->rgb + y * info->rowstride + x * info->pixelsize; *p = info->r; *(p + 1) = info->g; *(p + 2) = info->b; } /* * algorithm based on SeedFill.c from GraphicsGems 1 */ static void flood_fill_algo(struct fillinfo *info, int x, int y) { /* TODO: check for stack overflow? */ /* TODO: that's a lot of memory! esp if we never use it */ struct fillpixelinfo stack[STACKSIZE]; struct fillpixelinfo * sp = stack; int l, x1, x2, dy; if ((x >= 0) && (x < info->width) && (y >= 0) && (y < info->height)) { if ((info->or == info->r) && (info->og == info->g) && (info->ob == info->b)) { return; } PUSH(y, x, x, 1); PUSH(y + 1, x, x, -1); while (sp > stack) { POP(y, x1, x2, dy); for (x = x1; (x >= 0) && is_old_pixel_value(info, x, y); x--) { set_new_pixel_value(info, x, y); } if (x >= x1) { goto skip; } l = x + 1; if (l < x1) { PUSH(y, l, x1 - 1, -dy); } x = x1 + 1; do { for (; (x < info->width) && is_old_pixel_value(info, x, y); x++) { set_new_pixel_value(info, x, y); } PUSH(y, l, x - 1, dy); if (x > x2 + 1) { PUSH(y, x2 + 1, x - 1, -dy); } skip: for (x++; x <= x2 && !is_old_pixel_value(info, x, y); x++) { /* empty */ ; } l = x; } while (x <= x2); } } } gpaint-2-0.3.3/src/fill.h0000664000076400007640000000171710664360256011775 00000000000000/* $Id: fill.h,v 1.2 2004/03/13 03:28:32 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __FILL_H__ #define __FILL_H__ #include "canvas.h" gpaint_tool* fill_create(const char *name); #endif gpaint-2-0.3.3/src/freehand.c0000664000076400007640000001206410666342241012607 00000000000000/* $Id: freehand.c,v 1.3 2004/12/25 04:41:58 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include "freehand.h" #include "debug.h" typedef struct _gpaint_closed_freehand { gpaint_tool tool; gpaint_point last; gpaint_point anchor; gpaint_point_array *points; gboolean fill; } gpaint_closed_freehand; #define GPAINT_CFH(tool) ((gpaint_closed_freehand*)(tool)) static void freehand_destroy(gpaint_tool *tool); static void freehand_select(gpaint_tool *tool); static void freehand_deselect(gpaint_tool *tool); static gboolean freehand_attribute(gpaint_tool *tool, gpaint_attribute attribute, gpointer data); static void freehand_draw_line(gpaint_tool* tool, int x, int y); static void freehand_button_release(gpaint_tool *tool, int x, int y); static void freehand_button_press(gpaint_tool* tool, int x, int y); static void freehand_button_release(gpaint_tool *tool, int x, int y); static void freehand_fill_area(gpaint_drawing *drawing, gpaint_point_array *point); /* * Create closed freehand drawing tool. */ gpaint_tool *closed_freehand_create(const char *name) { gpaint_closed_freehand *cfh = g_new0(gpaint_closed_freehand, 1); g_assert(cfh); GPAINT_TOOL(cfh)->name = name; GPAINT_TOOL(cfh)->cursor = gdk_cursor_new(GDK_PENCIL); GPAINT_TOOL(cfh)->destroy = freehand_destroy; GPAINT_TOOL(cfh)->select = freehand_select; GPAINT_TOOL(cfh)->deselect = freehand_deselect; GPAINT_TOOL(cfh)->attribute = freehand_attribute; GPAINT_TOOL(cfh)->button_press = freehand_button_press; GPAINT_TOOL(cfh)->motion = freehand_draw_line; GPAINT_TOOL(cfh)->button_release = freehand_button_release; cfh->points = point_array_new(); return GPAINT_TOOL(cfh); } static void freehand_destroy(gpaint_tool *tool) { debug_fn(); point_array_delete(GPAINT_CFH(tool)->points); gdk_cursor_destroy(tool->cursor); g_free(tool); } static void freehand_select(gpaint_tool *tool) { debug_fn(); } static void freehand_deselect(gpaint_tool *tool) { gpaint_closed_freehand *pen = GPAINT_CFH(tool); debug_fn(); clear_point(&pen->last); point_array_remove_all(pen->points); } static gboolean freehand_attribute(gpaint_tool *tool, gpaint_attribute attribute, gpointer data) { if (attribute==GpaintFillShape) { GPAINT_CFH(tool)->fill = *((gboolean*)data); return TRUE; } return FALSE; } static void freehand_draw_line(gpaint_tool* tool, int x, int y) { gpaint_closed_freehand *pen = GPAINT_CFH(tool); if (!is_point_defined(&pen->last)) { set_point(&pen->last, x, y); } gdk_draw_line(tool->drawing->backing_pixmap, tool->drawing->gc, pen->last.x, pen->last.y, x, y); gdk_draw_line(tool->drawing->window, tool->drawing->gc, pen->last.x, pen->last.y, x, y); drawing_modified(tool->drawing); set_point(&pen->last, x, y); point_array_append(pen->points, x, y); } static void freehand_button_press(gpaint_tool* tool, int x, int y) { set_point(&(GPAINT_CFH(tool)->anchor), x, y); freehand_draw_line(tool, x, y); } static void freehand_button_release(gpaint_tool *tool, int x, int y) { gpaint_closed_freehand *pen = GPAINT_CFH(tool); gdk_draw_line(tool->drawing->backing_pixmap, tool->drawing->gc, x, y, pen->anchor.x, pen->anchor.y); gdk_draw_line(tool->drawing->window, tool->drawing->gc, x, y, pen->anchor.x, pen->anchor.y); drawing_modified(tool->drawing); point_array_append(pen->points, pen->anchor.x, pen->anchor.y); if (pen->fill) { freehand_fill_area(tool->drawing, pen->points); } point_array_remove_all(pen->points); clear_point(&pen->anchor); clear_point(&pen->last); } static void freehand_fill_area(gpaint_drawing *drawing, gpaint_point_array *points) { if (point_array_size(points) > 2) { gdk_draw_polygon( drawing->backing_pixmap, drawing->gc, TRUE, point_array_data(points), point_array_size(points)); gdk_draw_polygon( drawing->window, drawing->gc, TRUE, point_array_data(points), point_array_size(points)); drawing_modified(drawing); } } gpaint-2-0.3.3/src/freehand.h0000664000076400007640000000161410664360256012617 00000000000000/* $Id: freehand.h,v 1.2 2004/03/13 03:28:48 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __FREEHAND_H__ #define __FREEHAND_H__ #include "canvas.h" gpaint_tool* closed_freehand_create(const char *name); #endif gpaint-2-0.3.3/src/global.h0000664000076400007640000000203210667465321012300 00000000000000/* * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __GLOBAL_H__ #define __GLOBAL_H__ #include #define GLADE_DATA_FILE (PACKAGE_DATA_DIR "/gpaint/glade/gpaint.glade") static const char *GLADE_XML = "GLADE_XML"; static const char *DRAWING_AREA = "drawing_area"; GtkWidget* create_about_dialog (void); GtkWidget* create_new_canvas_window (void); #endif gpaint-2-0.3.3/src/gtkscrollframe.c0000664000076400007640000010765410664360255014067 00000000000000/* GTK - The GIMP Toolkit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library 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. */ /* * Modified by the GTK+ Team and others 1997-1999. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include "gtkscrollframe.h" /* scrolled window policy and size requisition handling: * * gtk size requisition works as follows: * a widget upon size-request reports the width and height that it finds * to be best suited to display its contents, including children. * the width and/or height reported from a widget upon size requisition * may be overidden by the user by specifying a width and/or height * other than 0 through gtk_widget_set_usize(). * * a scrolled window needs (for imlementing all three policy types) to * request its width and height based on two different rationales. * 1) the user wants the scrolled window to just fit into the space * that it gets allocated for a specifc dimension. * 1.1) this does not apply if the user specified a concrete value * value for that specific dimension by either specifying usize for the * scrolled window or for its child. * 2) the user wants the scrolled window to take as much space up as * is desired by the child for a specifc dimension (i.e. POLICY_NEVER). * * also, kinda obvious: * 3) a user would certainly not have choosen a scrolled window as a container * for the child, if the resulting allocation takes up more space than the * child would have allocated without the scrolled window. * * conclusions: * A) from 1) follows: the scrolled window shouldn't request more space for a * specifc dimension than is required at minimum. * B) from 1.1) follows: the requisition may be overidden by usize of the scrolled * window (done automatically) or by usize of the child (needs to be checked). * C) from 2) follows: for POLICY_NEVER, the scrolled window simply reports the * child's dimension. * D) from 3) follows: the scrolled window child's minimum width and minimum height * under A) at least correspond to the space taken up by its scrollbars. */ /* Object argument IDs */ enum { ARG_0, ARG_HADJUSTMENT, ARG_VADJUSTMENT, ARG_HSCROLLBAR_POLICY, ARG_VSCROLLBAR_POLICY, ARG_FRAME_PLACEMENT, ARG_SHADOW_TYPE, ARG_SCROLLBAR_SPACING }; /* Private part of the GtkScrollFrame structure */ typedef struct { /* Horizontal and vertical scrollbars */ GtkWidget *hsb; GtkWidget *vsb; /* Space between scrollbars and frame */ guint sb_spacing; /* Allocation for frame */ guint frame_x; guint frame_y; guint frame_w; guint frame_h; /* Scrollbar policy */ guint hsb_policy : 2; guint vsb_policy : 2; /* Whether scrollbars are visible */ guint hsb_visible : 1; guint vsb_visible : 1; /* Placement of frame wrt scrollbars */ guint frame_placement : 2; /* Shadow type for frame */ guint shadow_type : 3; } ScrollFramePrivate; static void gtk_scroll_frame_class_init (GtkScrollFrameClass *class); static void gtk_scroll_frame_init (GtkScrollFrame *sf); static void gtk_scroll_frame_set_arg (GtkObject *object, GtkArg *arg, guint arg_id); static void gtk_scroll_frame_get_arg (GtkObject *object, GtkArg *arg, guint arg_id); static void gtk_scroll_frame_destroy (GtkObject *object); static void gtk_scroll_frame_finalize (GtkObject *object); static void gtk_scroll_frame_map (GtkWidget *widget); static void gtk_scroll_frame_unmap (GtkWidget *widget); static void gtk_scroll_frame_draw (GtkWidget *widget, GdkRectangle *area); static void gtk_scroll_frame_size_request (GtkWidget *widget, GtkRequisition *requisition); static void gtk_scroll_frame_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static gint gtk_scroll_frame_expose (GtkWidget *widget, GdkEventExpose *event); static gint gtk_scroll_frame_button_press (GtkWidget *widget, GdkEventButton *event); static void gtk_scroll_frame_add (GtkContainer *container, GtkWidget *widget); static void gtk_scroll_frame_remove (GtkContainer *container, GtkWidget *widget); static void gtk_scroll_frame_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data); static GtkBinClass *parent_class; /** * gtk_scroll_frame_get_type: * @void: * * Registers the #GtkScrollFrame class if necessary, and returns the type ID * associated to it. * * Return value: The type ID of the #GtkScrollFrame class. **/ GtkType gtk_scroll_frame_get_type (void) { static GtkType scroll_frame_type = 0; if (!scroll_frame_type) { static const GtkTypeInfo scroll_frame_info = { "GtkScrollFrame", sizeof (GtkScrollFrame), sizeof (GtkScrollFrameClass), (GtkClassInitFunc) gtk_scroll_frame_class_init, (GtkObjectInitFunc) gtk_scroll_frame_init, NULL, /* reserved_1 */ NULL, /* reserved_2 */ (GtkClassInitFunc) NULL }; scroll_frame_type = gtk_type_unique (GTK_TYPE_BIN, &scroll_frame_info); } return scroll_frame_type; } /* Class initialization function for the scroll frame widget */ static void gtk_scroll_frame_class_init (GtkScrollFrameClass *class) { GtkObjectClass *object_class; GtkWidgetClass *widget_class; GtkContainerClass *container_class; object_class = (GtkObjectClass *) class; widget_class = (GtkWidgetClass *) class; container_class = (GtkContainerClass *) class; parent_class = gtk_type_class (GTK_TYPE_BIN); gtk_object_add_arg_type ("GtkScrollFrame::hadjustment", GTK_TYPE_ADJUSTMENT, GTK_ARG_READWRITE | GTK_ARG_CONSTRUCT, ARG_HADJUSTMENT); gtk_object_add_arg_type ("GtkScrollFrame::vadjustment", GTK_TYPE_ADJUSTMENT, GTK_ARG_READWRITE | GTK_ARG_CONSTRUCT, ARG_VADJUSTMENT); gtk_object_add_arg_type ("GtkScrollFrame::hscrollbar_policy", GTK_TYPE_POLICY_TYPE, GTK_ARG_READWRITE, ARG_HSCROLLBAR_POLICY); gtk_object_add_arg_type ("GtkScrollFrame::vscrollbar_policy", GTK_TYPE_POLICY_TYPE, GTK_ARG_READWRITE, ARG_VSCROLLBAR_POLICY); gtk_object_add_arg_type ("GtkScrollFrame::frame_placement", GTK_TYPE_CORNER_TYPE, GTK_ARG_READWRITE, ARG_FRAME_PLACEMENT); gtk_object_add_arg_type ("GtkScrollFrame::shadow_type", GTK_TYPE_SHADOW_TYPE, GTK_ARG_READWRITE, ARG_SHADOW_TYPE); gtk_object_add_arg_type ("GtkScrollFrame::scrollbar_spacing", GTK_TYPE_UINT, GTK_ARG_READWRITE, ARG_SCROLLBAR_SPACING); object_class->set_arg = gtk_scroll_frame_set_arg; object_class->get_arg = gtk_scroll_frame_get_arg; object_class->destroy = gtk_scroll_frame_destroy; //object_class->finalize = gtk_scroll_frame_finalize; widget_class->map = gtk_scroll_frame_map; widget_class->unmap = gtk_scroll_frame_unmap; //widget_class->draw = gtk_scroll_frame_draw; widget_class->size_request = gtk_scroll_frame_size_request; widget_class->size_allocate = gtk_scroll_frame_size_allocate; widget_class->expose_event = gtk_scroll_frame_expose; widget_class->button_press_event = gtk_scroll_frame_button_press; container_class->add = gtk_scroll_frame_add; container_class->remove = gtk_scroll_frame_remove; container_class->forall = gtk_scroll_frame_forall; } /* Object initialization function for the scroll frame widget */ static void gtk_scroll_frame_init (GtkScrollFrame *sf) { ScrollFramePrivate *priv; priv = g_new0 (ScrollFramePrivate, 1); sf->priv = priv; GTK_WIDGET_SET_FLAGS (sf, GTK_NO_WINDOW); gtk_container_set_resize_mode (GTK_CONTAINER (sf), GTK_RESIZE_QUEUE); priv->sb_spacing = 3; priv->hsb_policy = GTK_POLICY_ALWAYS; priv->vsb_policy = GTK_POLICY_ALWAYS; priv->frame_placement = GTK_CORNER_TOP_LEFT; priv->shadow_type = GTK_SHADOW_NONE; } /* Set_arg handler for the scroll frame widget */ static void gtk_scroll_frame_set_arg (GtkObject *object, GtkArg *arg, guint arg_id) { GtkScrollFrame *sf; ScrollFramePrivate *priv; sf = GTK_SCROLL_FRAME (object); priv = sf->priv; switch (arg_id) { case ARG_HADJUSTMENT: gtk_scroll_frame_set_hadjustment (sf, GTK_VALUE_POINTER (*arg)); break; case ARG_VADJUSTMENT: gtk_scroll_frame_set_vadjustment (sf, GTK_VALUE_POINTER (*arg)); break; case ARG_HSCROLLBAR_POLICY: gtk_scroll_frame_set_policy (sf, GTK_VALUE_ENUM (*arg), priv->vsb_policy); break; case ARG_VSCROLLBAR_POLICY: gtk_scroll_frame_set_policy (sf, priv->hsb_policy, GTK_VALUE_ENUM (*arg)); break; case ARG_FRAME_PLACEMENT: gtk_scroll_frame_set_placement (sf, GTK_VALUE_ENUM (*arg)); break; case ARG_SHADOW_TYPE: gtk_scroll_frame_set_shadow_type (sf, GTK_VALUE_ENUM (*arg)); break; case ARG_SCROLLBAR_SPACING: gtk_scroll_frame_set_scrollbar_spacing (sf, GTK_VALUE_UINT (*arg)); break; default: break; } } /* Get_arg handler for the scroll frame widget */ static void gtk_scroll_frame_get_arg (GtkObject *object, GtkArg *arg, guint arg_id) { GtkScrollFrame *sf; ScrollFramePrivate *priv; sf = GTK_SCROLL_FRAME (object); priv = sf->priv; switch (arg_id) { case ARG_HADJUSTMENT: GTK_VALUE_POINTER (*arg) = gtk_scroll_frame_get_hadjustment (sf); break; case ARG_VADJUSTMENT: GTK_VALUE_POINTER (*arg) = gtk_scroll_frame_get_vadjustment (sf); break; case ARG_HSCROLLBAR_POLICY: GTK_VALUE_ENUM (*arg) = priv->hsb_policy; break; case ARG_VSCROLLBAR_POLICY: GTK_VALUE_ENUM (*arg) = priv->vsb_policy; break; case ARG_FRAME_PLACEMENT: GTK_VALUE_ENUM (*arg) = priv->frame_placement; break; case ARG_SHADOW_TYPE: GTK_VALUE_ENUM (*arg) = priv->shadow_type; break; case ARG_SCROLLBAR_SPACING: GTK_VALUE_UINT (*arg) = priv->sb_spacing; break; default: arg->type = GTK_TYPE_INVALID; break; } } /* Destroy handler for the scroll frame widget */ static void gtk_scroll_frame_destroy (GtkObject *object) { GtkScrollFrame *sf; ScrollFramePrivate *priv; g_return_if_fail (object != NULL); g_return_if_fail (GTK_IS_SCROLL_FRAME (object)); sf = GTK_SCROLL_FRAME (object); priv = sf->priv; gtk_widget_unparent (priv->hsb); gtk_widget_unparent (priv->vsb); gtk_widget_destroy (priv->hsb); gtk_widget_destroy (priv->vsb); if (GTK_OBJECT_CLASS (parent_class)->destroy) (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); } /* Finalize handler for the scroll frame widget */ static void gtk_scroll_frame_finalize (GtkObject *object) { GtkScrollFrame *sf; ScrollFramePrivate *priv; sf = GTK_SCROLL_FRAME (object); priv = sf->priv; gtk_widget_unref (priv->hsb); gtk_widget_unref (priv->vsb); g_free (priv); //if (GTK_OBJECT_CLASS (parent_class)->finalize) // (* GTK_OBJECT_CLASS (parent_class)->finalize) (object); } /* Map handler for the scroll frame widget */ static void gtk_scroll_frame_map (GtkWidget *widget) { GtkScrollFrame *sf; ScrollFramePrivate *priv; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SCROLL_FRAME (widget)); sf = GTK_SCROLL_FRAME (widget); priv = sf->priv; /* chain parent class handler to map self and child */ if (GTK_WIDGET_CLASS (parent_class)->map) (* GTK_WIDGET_CLASS (parent_class)->map) (widget); if (GTK_WIDGET_VISIBLE (priv->hsb) && !GTK_WIDGET_MAPPED (priv->hsb)) gtk_widget_map (priv->hsb); if (GTK_WIDGET_VISIBLE (priv->vsb) && !GTK_WIDGET_MAPPED (priv->vsb)) gtk_widget_map (priv->vsb); } /* Unmap handler for the scroll frame widget */ static void gtk_scroll_frame_unmap (GtkWidget *widget) { GtkScrollFrame *sf; ScrollFramePrivate *priv; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SCROLL_FRAME (widget)); sf = GTK_SCROLL_FRAME (widget); priv = sf->priv; /* chain parent class handler to unmap self and child */ if (GTK_WIDGET_CLASS (parent_class)->unmap) (* GTK_WIDGET_CLASS (parent_class)->unmap) (widget); if (GTK_WIDGET_MAPPED (priv->hsb)) gtk_widget_unmap (priv->hsb); if (GTK_WIDGET_MAPPED (priv->vsb)) gtk_widget_unmap (priv->vsb); } /* Draws the shadow of a scroll frame widget */ static void draw_shadow (GtkScrollFrame *sf, GdkRectangle *area) { ScrollFramePrivate *priv; g_assert (area != NULL); priv = sf->priv; gtk_paint_shadow (GTK_WIDGET (sf)->style, GTK_WIDGET (sf)->window, GTK_STATE_NORMAL, priv->shadow_type, area, GTK_WIDGET (sf), "scroll_frame", priv->frame_x, priv->frame_y, priv->frame_w, priv->frame_h); } /* Draw handler for the scroll frame widget */ static void gtk_scroll_frame_draw (GtkWidget *widget, GdkRectangle *area) { GtkScrollFrame *sf; ScrollFramePrivate *priv; GtkBin *bin; GdkRectangle child_area; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SCROLL_FRAME (widget)); g_return_if_fail (area != NULL); sf = GTK_SCROLL_FRAME (widget); priv = sf->priv; bin = GTK_BIN (widget); if (GTK_WIDGET_DRAWABLE (widget)) draw_shadow (sf, area); if (bin->child && GTK_WIDGET_VISIBLE (bin->child) && gtk_widget_intersect (bin->child, area, &child_area)) gtk_widget_draw (bin->child, &child_area); if (GTK_WIDGET_VISIBLE (priv->hsb) && gtk_widget_intersect (priv->hsb, area, &child_area)) gtk_widget_draw (priv->hsb, &child_area); if (GTK_WIDGET_VISIBLE (priv->vsb) && gtk_widget_intersect (priv->vsb, area, &child_area)) gtk_widget_draw (priv->vsb, &child_area); } /* Forall handler for the scroll frame widget */ static void gtk_scroll_frame_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data) { GtkScrollFrame *sf; ScrollFramePrivate *priv; g_return_if_fail (container != NULL); g_return_if_fail (GTK_IS_SCROLL_FRAME (container)); g_return_if_fail (callback != NULL); sf = GTK_SCROLL_FRAME (container); priv = sf->priv; if (GTK_CONTAINER_CLASS (parent_class)->forall) (* GTK_CONTAINER_CLASS (parent_class)->forall) ( container, include_internals, callback, callback_data); if (include_internals) { if (priv->vsb) (* callback) (priv->vsb, callback_data); if (priv->hsb) (* callback) (priv->hsb, callback_data); } } /* Size_request handler for the scroll frame widget */ static void gtk_scroll_frame_size_request (GtkWidget *widget, GtkRequisition *requisition) { GtkScrollFrame *sf; ScrollFramePrivate *priv; GtkBin *bin; int extra_width; int extra_height; GtkRequisition hsb_requisition; GtkRequisition vsb_requisition; GtkRequisition child_requisition; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SCROLL_FRAME (widget)); g_return_if_fail (requisition != NULL); sf = GTK_SCROLL_FRAME (widget); priv = sf->priv; bin = GTK_BIN (widget); extra_width = 0; extra_height = 0; requisition->width = GTK_CONTAINER (widget)->border_width * 2; requisition->height = GTK_CONTAINER (widget)->border_width * 2; if (priv->shadow_type != GTK_SHADOW_NONE) { //requisition->width += 2 * widget->style->klass->xthickness; //requisition->height += 2 * widget->style->klass->ythickness; } gtk_widget_size_request (priv->hsb, &hsb_requisition); gtk_widget_size_request (priv->vsb, &vsb_requisition); if (bin->child && GTK_WIDGET_VISIBLE (bin->child)) { static guint quark_aux_info; if (!quark_aux_info) quark_aux_info = g_quark_from_static_string ("gtk-aux-info"); gtk_widget_size_request (bin->child, &child_requisition); if (priv->hsb_policy == GTK_POLICY_NEVER) requisition->width += child_requisition.width; else { GtkWidgetAuxInfo *aux_info; aux_info = gtk_object_get_data_by_id (GTK_OBJECT (bin->child), quark_aux_info); if (aux_info && aux_info->width > 0) { requisition->width += aux_info->width; extra_width = -1; } else requisition->width += vsb_requisition.width; } if (priv->vsb_policy == GTK_POLICY_NEVER) requisition->height += child_requisition.height; else { GtkWidgetAuxInfo *aux_info; aux_info = gtk_object_get_data_by_id (GTK_OBJECT (bin->child), quark_aux_info); if (aux_info && aux_info->height > 0) { requisition->height += aux_info->height; extra_height = -1; } else requisition->height += hsb_requisition.height; } } if (priv->hsb_policy == GTK_POLICY_AUTOMATIC || GTK_WIDGET_VISIBLE (priv->hsb)) { requisition->width = MAX (requisition->width, hsb_requisition.width); if (!extra_height || GTK_WIDGET_VISIBLE (priv->hsb)) extra_height = priv->sb_spacing + hsb_requisition.height; } if (priv->vsb_policy == GTK_POLICY_AUTOMATIC || GTK_WIDGET_VISIBLE (priv->vsb)) { requisition->height = MAX (requisition->height, vsb_requisition.height); if (!extra_width || GTK_WIDGET_VISIBLE (priv->vsb)) extra_width = priv->sb_spacing + vsb_requisition.width; } requisition->width += MAX (0, extra_width); requisition->height += MAX (0, extra_height); } /* Computes the relative allocation for the scroll frame widget */ static void compute_relative_allocation (GtkWidget *widget, GtkAllocation *allocation) { GtkScrollFrame *sf; ScrollFramePrivate *priv; g_assert (widget != NULL); g_assert (GTK_IS_SCROLL_FRAME (widget)); g_assert (allocation != NULL); sf = GTK_SCROLL_FRAME (widget); priv = sf->priv; allocation->x = GTK_CONTAINER (widget)->border_width; allocation->y = GTK_CONTAINER (widget)->border_width; allocation->width = MAX (1, (int) widget->allocation.width - (int) allocation->x * 2); allocation->height = MAX (1, (int) widget->allocation.height - (int) allocation->y * 2); if (priv->vsb_visible) { GtkRequisition vsb_requisition; gtk_widget_get_child_requisition (priv->vsb, &vsb_requisition); if (priv->frame_placement == GTK_CORNER_TOP_RIGHT || priv->frame_placement == GTK_CORNER_BOTTOM_RIGHT) allocation->x += vsb_requisition.width + priv->sb_spacing; allocation->width = MAX (1, ((int) allocation->width - (int) (vsb_requisition.width + priv->sb_spacing))); } if (priv->hsb_visible) { GtkRequisition hsb_requisition; gtk_widget_get_child_requisition (priv->hsb, &hsb_requisition); if (priv->frame_placement == GTK_CORNER_BOTTOM_LEFT || priv->frame_placement == GTK_CORNER_BOTTOM_RIGHT) allocation->y += hsb_requisition.height + priv->sb_spacing; allocation->height = MAX (1, ((int) allocation->height - (int) (hsb_requisition.height + priv->sb_spacing))); } } /* Size_allocate handler for the scroll frame widget */ static void gtk_scroll_frame_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { GtkScrollFrame *sf; ScrollFramePrivate *priv; GtkBin *bin; GtkAllocation relative_allocation; GtkAllocation child_allocation; int xthickness, ythickness; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SCROLL_FRAME (widget)); g_return_if_fail (allocation != NULL); sf = GTK_SCROLL_FRAME (widget); priv = sf->priv; bin = GTK_BIN (widget); widget->allocation = *allocation; if (priv->hsb_policy == GTK_POLICY_ALWAYS) priv->hsb_visible = TRUE; else if (priv->hsb_policy == GTK_POLICY_NEVER) priv->hsb_visible = FALSE; if (priv->vsb_policy == GTK_POLICY_ALWAYS) priv->vsb_visible = TRUE; else if (priv->vsb_policy == GTK_POLICY_NEVER) priv->vsb_visible = FALSE; if (priv->shadow_type == GTK_SHADOW_NONE) { xthickness = 0; ythickness = 0; } else { //xthickness = widget->style->klass->xthickness; //ythickness = widget->style->klass->ythickness; } if (bin->child && GTK_WIDGET_VISIBLE (bin->child)) { gboolean previous_hvis; gboolean previous_vvis; guint count = 0; do { compute_relative_allocation (widget, &relative_allocation); priv->frame_x = relative_allocation.x + allocation->x; priv->frame_y = relative_allocation.y + allocation->y; priv->frame_w = relative_allocation.width; priv->frame_h = relative_allocation.height; child_allocation.x = priv->frame_x + xthickness; child_allocation.y = priv->frame_y + ythickness; child_allocation.width = MAX ((int) priv->frame_w - 2 * xthickness, 0); child_allocation.height = MAX ((int) priv->frame_h - 2 * ythickness, 0); previous_hvis = priv->hsb_visible; previous_vvis = priv->vsb_visible; gtk_widget_size_allocate (bin->child, &child_allocation); /* If, after the first iteration, the hscrollbar and the * vscrollbar flip visiblity, then we need both. */ if (count && previous_hvis != priv->hsb_visible && previous_vvis != priv->vsb_visible) { priv->hsb_visible = TRUE; priv->vsb_visible = TRUE; /* a new resize is already queued at this point, * so we will immediatedly get reinvoked */ return; } count++; } while (previous_hvis != priv->hsb_visible || previous_vvis != priv->vsb_visible); } else compute_relative_allocation (widget, &relative_allocation); if (priv->hsb_visible) { GtkRequisition hscrollbar_requisition; gtk_widget_get_child_requisition (priv->hsb, &hscrollbar_requisition); if (!GTK_WIDGET_VISIBLE (priv->hsb)) gtk_widget_show (priv->hsb); child_allocation.x = relative_allocation.x; if (priv->frame_placement == GTK_CORNER_TOP_LEFT || priv->frame_placement == GTK_CORNER_TOP_RIGHT) child_allocation.y = (relative_allocation.y + relative_allocation.height + priv->sb_spacing); else child_allocation.y = GTK_CONTAINER (sf)->border_width; child_allocation.width = relative_allocation.width; child_allocation.height = hscrollbar_requisition.height; child_allocation.x += allocation->x; child_allocation.y += allocation->y; gtk_widget_size_allocate (priv->hsb, &child_allocation); } else if (GTK_WIDGET_VISIBLE (priv->hsb)) gtk_widget_hide (priv->hsb); if (priv->vsb_visible) { GtkRequisition vscrollbar_requisition; if (!GTK_WIDGET_VISIBLE (priv->vsb)) gtk_widget_show (priv->vsb); gtk_widget_get_child_requisition (priv->vsb, &vscrollbar_requisition); if (priv->frame_placement == GTK_CORNER_TOP_LEFT || priv->frame_placement == GTK_CORNER_BOTTOM_LEFT) child_allocation.x = (relative_allocation.x + relative_allocation.width + priv->sb_spacing); else child_allocation.x = GTK_CONTAINER (sf)->border_width; child_allocation.y = relative_allocation.y; child_allocation.width = vscrollbar_requisition.width; child_allocation.height = relative_allocation.height; child_allocation.x += allocation->x; child_allocation.y += allocation->y; gtk_widget_size_allocate (priv->vsb, &child_allocation); } else if (GTK_WIDGET_VISIBLE (priv->vsb)) gtk_widget_hide (priv->vsb); } /* Button press handler for the scroll framw diget */ static gint gtk_scroll_frame_button_press (GtkWidget *widget, GdkEventButton *event) { g_return_val_if_fail (widget != NULL, FALSE); g_return_val_if_fail (GTK_IS_SCROLL_FRAME (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); /* This is to handle mouse wheel scrolling */ if (event->button == 4 || event->button == 5) { GtkAdjustment *adj; gfloat new_value; gtk_object_get (GTK_OBJECT (widget), (event->state & GDK_CONTROL_MASK) ? "hadjustment" : "vadjustment", &adj, NULL); new_value = adj->value + ((event->button == 4) ? -adj->page_increment / 2: adj->page_increment / 2); new_value = CLAMP (new_value, adj->lower, adj->upper - adj->page_size); gtk_adjustment_set_value (adj, new_value); return TRUE; } return FALSE; } /* Expose handler for the scroll frame widget */ static gint gtk_scroll_frame_expose (GtkWidget *widget, GdkEventExpose *event) { GtkScrollFrame *sf; g_return_val_if_fail (widget != NULL, FALSE); g_return_val_if_fail (GTK_IS_SCROLL_FRAME (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); sf = GTK_SCROLL_FRAME (widget); if (GTK_WIDGET_DRAWABLE (widget)) draw_shadow (sf, &event->area); if (GTK_WIDGET_CLASS (parent_class)->expose_event) (* GTK_WIDGET_CLASS (parent_class)->expose_event) (widget, event); return FALSE; } /* Add handler for the scroll frame widget */ static void gtk_scroll_frame_add (GtkContainer *container, GtkWidget *child) { GtkScrollFrame *sf; ScrollFramePrivate *priv; GtkBin *bin; sf = GTK_SCROLL_FRAME (container); priv = sf->priv; bin = GTK_BIN (container); g_return_if_fail (bin->child == NULL); bin->child = child; gtk_widget_set_parent (child, GTK_WIDGET (bin)); /* this is a temporary message */ if (!gtk_widget_set_scroll_adjustments (child, gtk_range_get_adjustment (GTK_RANGE (priv->hsb)), gtk_range_get_adjustment (GTK_RANGE (priv->vsb)))) g_warning ("gtk_scroll_frame_add(): cannot add non scrollable widget " "use gtk_scroll_frame_add_with_viewport() instead"); if (GTK_WIDGET_REALIZED (child->parent)) gtk_widget_realize (child); if (GTK_WIDGET_VISIBLE (child->parent) && GTK_WIDGET_VISIBLE (child)) { if (GTK_WIDGET_MAPPED (child->parent)) gtk_widget_map (child); gtk_widget_queue_resize (child); } } /* Remove method for the scroll frame widget */ static void gtk_scroll_frame_remove (GtkContainer *container, GtkWidget *child) { g_return_if_fail (container != NULL); g_return_if_fail (GTK_IS_SCROLL_FRAME (container)); g_return_if_fail (child != NULL); g_return_if_fail (GTK_BIN (container)->child == child); gtk_widget_set_scroll_adjustments (child, NULL, NULL); /* chain parent class handler to remove child */ if (GTK_CONTAINER_CLASS (parent_class)->remove) (* GTK_CONTAINER_CLASS (parent_class)->remove) (container, child); } /** * gtk_scroll_frame_new: * @hadj: If non-NULL, the adjustment to use for horizontal scrolling. * @vadj: If non-NULL, the adjustment to use for vertical scrolling. * * Creates a new scroll frame widget. * * Return value: The newly-created scroll frame widget. **/ GtkWidget * gtk_scroll_frame_new (GtkAdjustment *hadj, GtkAdjustment *vadj) { if (hadj) g_return_val_if_fail (GTK_IS_ADJUSTMENT (hadj), NULL); if (vadj) g_return_val_if_fail (GTK_IS_ADJUSTMENT (vadj), NULL); return gtk_widget_new (GTK_TYPE_SCROLL_FRAME, "hadjustment", hadj, "vadjustment", vadj, NULL); } /* Callback used when one of the scroll frame widget's adjustments changes */ static void adjustment_changed (GtkAdjustment *adj, gpointer data) { GtkScrollFrame *sf; ScrollFramePrivate *priv; g_return_if_fail (adj != NULL); g_return_if_fail (GTK_IS_ADJUSTMENT (adj)); g_return_if_fail (data != NULL); sf = GTK_SCROLL_FRAME (data); priv = sf->priv; if (adj == gtk_range_get_adjustment (GTK_RANGE (priv->hsb))) { if (priv->hsb_policy == GTK_POLICY_AUTOMATIC) { gboolean visible; visible = priv->hsb_visible; priv->hsb_visible = (adj->upper - adj->lower > adj->page_size); if (priv->hsb_visible != visible) gtk_widget_queue_resize (GTK_WIDGET (sf)); } } else if (adj == gtk_range_get_adjustment (GTK_RANGE (priv->vsb))) { if (priv->vsb_policy == GTK_POLICY_AUTOMATIC) { gboolean visible; visible = priv->vsb_visible; priv->vsb_visible = (adj->upper - adj->lower > adj->page_size); if (priv->vsb_visible != visible) gtk_widget_queue_resize (GTK_WIDGET (sf)); } } } /** * gtk_scroll_frame_set_hadjustment: * @sf: A scroll frame widget. * @adj: An adjustment. * * Sets the adjustment to be used for horizontal scrolling in a scroll frame * widget. **/ void gtk_scroll_frame_set_hadjustment (GtkScrollFrame *sf, GtkAdjustment *adj) { ScrollFramePrivate *priv; g_return_if_fail (sf != NULL); g_return_if_fail (GTK_IS_SCROLL_FRAME (sf)); priv = sf->priv; if (adj) g_return_if_fail (GTK_IS_ADJUSTMENT (adj)); else adj = GTK_ADJUSTMENT (gtk_object_new (GTK_TYPE_ADJUSTMENT, NULL)); if (!priv->hsb) { gtk_widget_push_composite_child (); priv->hsb = gtk_hscrollbar_new (adj); gtk_widget_set_composite_name (priv->hsb, "hscrollbar"); gtk_widget_pop_composite_child (); gtk_widget_set_parent (priv->hsb, GTK_WIDGET (sf)); gtk_widget_ref (priv->hsb); gtk_widget_show (priv->hsb); } else { GtkAdjustment *old_adj; old_adj = gtk_range_get_adjustment (GTK_RANGE (priv->hsb)); if (old_adj == adj) return; gtk_signal_disconnect_by_func (GTK_OBJECT (old_adj), GTK_SIGNAL_FUNC (adjustment_changed), sf); gtk_range_set_adjustment (GTK_RANGE (priv->hsb), adj); } adj = gtk_range_get_adjustment (GTK_RANGE (priv->hsb)); gtk_signal_connect (GTK_OBJECT (adj), "changed", GTK_SIGNAL_FUNC (adjustment_changed), sf); adjustment_changed (adj, sf); if (GTK_BIN (sf)->child) gtk_widget_set_scroll_adjustments ( GTK_BIN (sf)->child, gtk_range_get_adjustment (GTK_RANGE (priv->hsb)), gtk_range_get_adjustment (GTK_RANGE (priv->vsb))); } /** * gtk_scroll_frame_set_vadjustment: * @sf: A scroll frame widget. * @adj: An adjustment. * * Sets the adjustment to be used for vertical scrolling in a scroll frame * widget. **/ void gtk_scroll_frame_set_vadjustment (GtkScrollFrame *sf, GtkAdjustment *adj) { ScrollFramePrivate *priv; g_return_if_fail (sf != NULL); g_return_if_fail (GTK_IS_SCROLL_FRAME (sf)); priv = sf->priv; if (adj) g_return_if_fail (GTK_IS_ADJUSTMENT (adj)); else adj = GTK_ADJUSTMENT (gtk_object_new (GTK_TYPE_ADJUSTMENT, NULL)); if (!priv->vsb) { gtk_widget_push_composite_child (); priv->vsb = gtk_vscrollbar_new (adj); gtk_widget_set_composite_name (priv->vsb, "vscrollbar"); gtk_widget_pop_composite_child (); gtk_widget_set_parent (priv->vsb, GTK_WIDGET (sf)); gtk_widget_ref (priv->vsb); gtk_widget_show (priv->vsb); } else { GtkAdjustment *old_adj; old_adj = gtk_range_get_adjustment (GTK_RANGE (priv->vsb)); if (old_adj == adj) return; gtk_signal_disconnect_by_func (GTK_OBJECT (old_adj), GTK_SIGNAL_FUNC (adjustment_changed), sf); gtk_range_set_adjustment (GTK_RANGE (priv->vsb), adj); } adj = gtk_range_get_adjustment (GTK_RANGE (priv->vsb)); gtk_signal_connect (GTK_OBJECT (adj), "changed", GTK_SIGNAL_FUNC (adjustment_changed), sf); adjustment_changed (adj, sf); if (GTK_BIN (sf)->child) gtk_widget_set_scroll_adjustments ( GTK_BIN (sf)->child, gtk_range_get_adjustment (GTK_RANGE (priv->hsb)), gtk_range_get_adjustment (GTK_RANGE (priv->vsb))); } /** * gtk_scroll_frame_get_hadjustment: * @sf: A scroll frame widget. * * Queries the horizontal adjustment of a scroll frame widget. * * Return value: The horizontal adjustment of the scroll frame, or NULL if none. **/ GtkAdjustment * gtk_scroll_frame_get_hadjustment (GtkScrollFrame *sf) { ScrollFramePrivate *priv; g_return_val_if_fail (sf != NULL, NULL); g_return_val_if_fail (GTK_IS_SCROLL_FRAME (sf), NULL); priv = sf->priv; return priv->hsb ? gtk_range_get_adjustment (GTK_RANGE (priv->hsb)) : NULL; } /** * gtk_scroll_frame_get_vadjustment: * @sf: A scroll frame widget. * * Queries the vertical adjustment of a scroll frame widget. * * Return value: The vertical adjustment of the scroll frame, or NULL if none. **/ GtkAdjustment * gtk_scroll_frame_get_vadjustment (GtkScrollFrame *sf) { ScrollFramePrivate *priv; g_return_val_if_fail (sf != NULL, NULL); g_return_val_if_fail (GTK_IS_SCROLL_FRAME (sf), NULL); priv = sf->priv; return priv->vsb ? gtk_range_get_adjustment (GTK_RANGE (priv->vsb)) : NULL; } /** * gtk_scroll_frame_set_policy: * @sf: A scroll frame widget. * @hsb_policy: Policy for the horizontal scrollbar. * @vsb_policy: Policy for the vertical scrollbar. * * Sets the scrollbar policies of a scroll frame widget. These determine when * the scrollbars are to be shown or hidden. **/ void gtk_scroll_frame_set_policy (GtkScrollFrame *sf, GtkPolicyType hsb_policy, GtkPolicyType vsb_policy) { ScrollFramePrivate *priv; g_return_if_fail (sf != NULL); g_return_if_fail (GTK_IS_SCROLL_FRAME (sf)); priv = sf->priv; if (priv->hsb_policy == hsb_policy && priv->vsb_policy == vsb_policy) return; priv->hsb_policy = hsb_policy; priv->vsb_policy = vsb_policy; gtk_widget_queue_resize (GTK_WIDGET (sf)); } /** * gtk_scroll_frame_get_policy: * @sf: A scroll frame widget. * @hsb_policy: Return value for the horizontal scrollbar's policy. * @vsb_policy: Return value for the vertical scrollbar's policy. * * Queries the scrollbar policies of a scroll frame widget. **/ void gtk_scroll_frame_get_policy (GtkScrollFrame *sf, GtkPolicyType *hsb_policy, GtkPolicyType *vsb_policy) { ScrollFramePrivate *priv; g_return_if_fail (sf != NULL); g_return_if_fail (GTK_IS_SCROLL_FRAME (sf)); priv = sf->priv; if (hsb_policy) *hsb_policy = priv->hsb_policy; if (vsb_policy) *vsb_policy = priv->vsb_policy; } /** * gtk_scroll_frame_set_placement: * @sf: A scroll frame widget. * @frame_placement: Placement for the frame. * * Sets the placement of a scroll frame widget's frame with respect to its * scrollbars. **/ void gtk_scroll_frame_set_placement (GtkScrollFrame *sf, GtkCornerType frame_placement) { ScrollFramePrivate *priv; g_return_if_fail (sf != NULL); g_return_if_fail (GTK_IS_SCROLL_FRAME (sf)); priv = sf->priv; if (priv->frame_placement == frame_placement) return; priv->frame_placement = frame_placement; gtk_widget_queue_resize (GTK_WIDGET (sf)); } /** * gtk_scroll_frame_set_shadow_type: * @sf: A scroll frame widget. * @shadow_type: A shadow type. * * Sets the shadow type of a scroll frame widget. You can use this when you * insert a child that does not paint a frame on its own. **/ void gtk_scroll_frame_set_shadow_type (GtkScrollFrame *sf, GtkShadowType shadow_type) { ScrollFramePrivate *priv; g_return_if_fail (sf != NULL); g_return_if_fail (GTK_IS_SCROLL_FRAME (sf)); g_return_if_fail (shadow_type >= GTK_SHADOW_NONE && shadow_type <= GTK_SHADOW_ETCHED_OUT); priv = sf->priv; if (priv->shadow_type == shadow_type) return; priv->shadow_type = shadow_type; gtk_widget_queue_resize (GTK_WIDGET (sf)); } /** * gtk_scroll_frame_get_shadow_type: * @sf: A scroll frame widget. * * Queries the shadow type of a scroll frame widget. * * Return value: Shadow type. **/ GtkShadowType gtk_scroll_frame_get_shadow_type (GtkScrollFrame *sf) { ScrollFramePrivate *priv; g_return_val_if_fail (sf != NULL, GTK_SHADOW_NONE); g_return_val_if_fail (GTK_IS_SCROLL_FRAME (sf), GTK_SHADOW_NONE); priv = sf->priv; return priv->shadow_type; } /** * gtk_scroll_frame_set_scrollbar_spacing: * @sf: A scroll frame widget. * @spacing: Desired spacing in pixels. * * Sets the spacing between the frame and the scrollbars of a scroll frame * widget. **/ void gtk_scroll_frame_set_scrollbar_spacing (GtkScrollFrame *sf, guint spacing) { ScrollFramePrivate *priv; g_return_if_fail (sf != NULL); g_return_if_fail (GTK_IS_SCROLL_FRAME (sf)); priv = sf->priv; if (priv->sb_spacing == spacing) return; priv->sb_spacing = spacing; gtk_widget_queue_resize (GTK_WIDGET (sf)); } /** * gtk_scroll_frame_add_with_viewport: * @sf: A scroll frame widget. * @child: A widget. * * Creates a #GtkViewport and puts the specified child inside it, thus allowing * the viewport to be scrolled by the scroll frame widget. This is meant to be * used only when a child does not support the scrolling interface. **/ void gtk_scroll_frame_add_with_viewport (GtkScrollFrame *sf, GtkWidget *child) { ScrollFramePrivate *priv; GtkBin *bin; GtkWidget *viewport; g_return_if_fail (sf != NULL); g_return_if_fail (GTK_IS_SCROLL_FRAME (sf)); g_return_if_fail (child != NULL); g_return_if_fail (GTK_IS_WIDGET (child)); g_return_if_fail (child->parent == NULL); priv = sf->priv; bin = GTK_BIN (sf); if (bin->child != NULL) { g_return_if_fail (GTK_IS_VIEWPORT (bin->child)); g_return_if_fail (GTK_BIN (bin->child)->child == NULL); viewport = bin->child; } else { viewport = gtk_viewport_new (gtk_scroll_frame_get_hadjustment (sf), gtk_scroll_frame_get_vadjustment (sf)); gtk_container_add (GTK_CONTAINER (sf), viewport); } gtk_widget_show (viewport); gtk_container_add (GTK_CONTAINER (viewport), child); } gpaint-2-0.3.3/src/gtkscrollframe.h0000664000076400007640000000614710664360256014070 00000000000000/* GTK - The GIMP Toolkit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library 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. */ /* * Modified by the GTK+ Team and others 1997-1999. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #ifndef __GTK_SCROLL_FRAME_H__ #define __GTK_SCROLL_FRAME_H__ #include #include #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #define GTK_TYPE_SCROLL_FRAME (gtk_scroll_frame_get_type ()) #define GTK_SCROLL_FRAME(obj) (GTK_CHECK_CAST ((obj), \ GTK_TYPE_SCROLL_FRAME, GtkScrollFrame)) #define GTK_SCROLL_FRAME_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), \ GTK_TYPE_SCROLL_FRAME, GtkScrollFrameClass)) #define GTK_IS_SCROLL_FRAME(obj) (GTK_CHECK_TYPE ((obj), \ GTK_TYPE_SCROLL_FRAME)) #define GTK_IS_SCROLL_FRAME_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), \ GTK_TYPE_SCROLL_FRAME)) typedef struct _GtkScrollFrame GtkScrollFrame; typedef struct _GtkScrollFrameClass GtkScrollFrameClass; struct _GtkScrollFrame { GtkBin bin; /* Private data */ gpointer priv; }; struct _GtkScrollFrameClass { GtkBinClass parent_class; }; GtkType gtk_scroll_frame_get_type (void); GtkWidget *gtk_scroll_frame_new (GtkAdjustment *hadj, GtkAdjustment *vadj); void gtk_scroll_frame_set_hadjustment (GtkScrollFrame *sf, GtkAdjustment *adj); void gtk_scroll_frame_set_vadjustment (GtkScrollFrame *sf, GtkAdjustment *adj); GtkAdjustment *gtk_scroll_frame_get_hadjustment (GtkScrollFrame *sf); GtkAdjustment *gtk_scroll_frame_get_vadjustment (GtkScrollFrame *sf); void gtk_scroll_frame_set_policy (GtkScrollFrame *sf, GtkPolicyType hsb_policy, GtkPolicyType vsb_policy); void gtk_scroll_frame_get_policy (GtkScrollFrame *sf, GtkPolicyType *hsb_policy, GtkPolicyType *vsb_policy); void gtk_scroll_frame_set_placement (GtkScrollFrame *sf, GtkCornerType frame_placement); void gtk_scroll_frame_set_shadow_type (GtkScrollFrame *sf, GtkShadowType shadow_type); GtkShadowType gtk_scroll_frame_get_shadow_type (GtkScrollFrame *sf); void gtk_scroll_frame_set_scrollbar_spacing (GtkScrollFrame *sf, guint spacing); void gtk_scroll_frame_add_with_viewport (GtkScrollFrame *sf, GtkWidget *child); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __GTK_SCROLL_FRAME_H__ */ gpaint-2-0.3.3/src/image.c0000664000076400007640000004215010664360255012117 00000000000000/* $Id: image.c,v 1.7 2005/02/01 02:42:50 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #ifdef HAVE_STDLIB_H # include #endif #include "image.h" #include "debug.h" #include #include #include /* for gdk_root_parent */ #include static int cmp_int(const void *a, const void *b); static void fill_polygon( unsigned char *data, int pixelsize, int rowstride, unsigned char value[4], unsigned char mask[4], GdkPoint *pts, int num_pts, int xoffset, int yoffset); const int BITS_PER_SAMPLE = 8; struct _gpaint_image { GdkPixbuf *pixbuf; /* X client side image for processing */ }; typedef struct { int rowstride; int pixelsize; unsigned char value[4]; unsigned char mask[4]; unsigned char * data; } GdkSpanFillData; gpaint_image* image_new(int width, int height) { gpaint_image *image = g_new(gpaint_image, 1); g_assert(image); image->pixbuf = gdk_pixbuf_new( GDK_COLORSPACE_RGB, TRUE, BITS_PER_SAMPLE, width, height); g_assert(image->pixbuf); return image; } gpaint_image* image_new_copy(const gpaint_image *source) { gpaint_image *image = g_new(gpaint_image, 1); g_assert(image); g_assert(source); image->pixbuf = gdk_pixbuf_copy(source->pixbuf); return image; } gpaint_image* image_new_from_pixmap(GdkPixmap* pixmap, GdkRectangle source) { gpaint_image *image = image_new(source.width, source.height); gdk_pixbuf_get_from_drawable( image->pixbuf, pixmap, gdk_rgb_get_cmap(), source.x, source.y, 0, 0, /* destination x, y */ source.width, source.height); g_assert(image->pixbuf); return image; } gpaint_image* image_new_from_desktop() { gpaint_image *image; GdkWindow *root = gdk_window_lookup(gdk_x11_get_default_root_xwindow()); int width, height; gdk_window_get_size(root, &width, &height); image = image_new(width, height); gdk_pixbuf_get_from_drawable(image->pixbuf, root, 0, 0, 0, 0, 0, width, height); g_assert(image->pixbuf); return image; } void image_free(gpaint_image* image) { g_assert(image); gdk_pixbuf_unref(image->pixbuf); g_free(image); } int image_draw_on_pixmap(gpaint_image* image, GdkPixmap** ppixmap, GdkGC *gc) { int width; int height; g_assert(image && image->pixbuf); g_assert(ppixmap && &ppixmap); g_assert(gc); width = image_width(image); height = image_height(image); gdk_pixbuf_render_to_drawable( image->pixbuf, *ppixmap, gc, 0, 0, 0, 0, width, height, GDK_RGB_DITHER_NORMAL, 0, 0); return 0; } int image_draw_region_on_pixmap( gpaint_image* image, GdkRectangle rect, GdkPixmap** ppixmap, GdkGC *gc) { g_assert(image && image->pixbuf); g_assert(ppixmap && &ppixmap); g_assert(gc); gdk_pixbuf_render_to_drawable( image->pixbuf, *ppixmap, gc, rect.x, rect.y, rect.x, rect.y, rect.width, rect.height, GDK_RGB_DITHER_NORMAL, 0, 0); return 0; } int image_render(gpaint_image *image, GdkPixmap *pixmap, gint x, gint y, GdkRectangle rect) { gdk_pixbuf_render_to_drawable_alpha( image->pixbuf, pixmap, x, y, rect.x, rect.y, rect.width, rect.height, GDK_PIXBUF_ALPHA_BILEVEL, 255 / 2, GDK_RGB_DITHER_MAX, 0, 0); return 0; } gpaint_image* image_new_readfile(const gchar* filename) { GdkPixbuf *pixbuf = NULL; gpaint_image *image = NULL; pixbuf = gdk_pixbuf_new_from_file(filename,0); if (pixbuf) { image = g_new(gpaint_image, 1); image->pixbuf = gdk_pixbuf_new_from_file(filename,0); } return image; } int image_write(gpaint_image* image, const gchar* filename, GError **perror) { gboolean saved = FALSE; gchar *ext = NULL; gchar *type = NULL; ext = g_strrstr(filename, "."); if (!ext) { ext = ".png"; /* default is PNG */ } debug1("extension=[%s]", ext); if (!g_strcasecmp(ext,".jpg") || !g_strcasecmp(ext,".jpeg")) { debug("saving jpeg"); saved = gdk_pixbuf_save(image->pixbuf, filename, "jpeg", perror, "quality", "100", NULL); } else { type = g_ascii_strdown(ext+1,-1); debug1("type=[%s]",type); saved = gdk_pixbuf_save(image->pixbuf, filename, type, perror, NULL); g_free(type); } if (!saved && *perror) { g_warning("Could not save image %s: %s\n", filename, (*perror)->message); } return saved; } int image_print(gpaint_image* image) { return 0; } int image_width(gpaint_image* image) { return gdk_pixbuf_get_width(image->pixbuf); } int image_height(gpaint_image* image) { return gdk_pixbuf_get_height(image->pixbuf); } guchar *image_pixels(gpaint_image* image) { return gdk_pixbuf_get_pixels(image->pixbuf); } int image_rowstride(gpaint_image *image) { return gdk_pixbuf_get_rowstride(image->pixbuf); } int image_pixelsize(gpaint_image *image) { return gdk_pixbuf_get_n_channels(image->pixbuf) * gdk_pixbuf_get_bits_per_sample(image->pixbuf) / BITS_PER_SAMPLE; } gpaint_image * image_from_selection(GdkPixmap *pixmap, gpaint_point_array *pa) { gpaint_image *image = g_new0(gpaint_image, 1); GdkPixbuf *pixbuf = 0; GdkRectangle pixmap_rect; GdkRectangle sel_rect; GdkRectangle rect; unsigned char alphaonly[4] = {0, 0, 0, 1}; unsigned char *data = 0, *c, *d; unsigned char default_pixel[4] = {0, 0, 0, 255}; int width, height; int x, y; int pixel_size; GdkPixbuf *temp_pixbuf; GdkPoint *pts = point_array_data(pa); int num_pts = point_array_size(pa); const int BITS_PER_SAMPLE = 8; point_array_bounding_rectangle(pa, &sel_rect); gdk_window_get_size((GdkWindow*)pixmap, &width, &height); pixmap_rect.x = 0; pixmap_rect.y = 0; pixmap_rect.width = width; pixmap_rect.height = height; if (!gdk_rectangle_intersect(&pixmap_rect, &sel_rect, &rect)) { g_warning("selection does not intersect the drawing"); return 0; } debug1("rect.x=%d", rect.x); debug1("rect.y=%d", rect.y); debug1("rect.width=%d", rect.width); debug1("rect.height=%d", rect.height); temp_pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, BITS_PER_SAMPLE, rect.width, rect.height); gdk_pixbuf_get_from_drawable(temp_pixbuf, pixmap, gdk_rgb_get_cmap(), rect.x, rect.y, 0, 0, rect.width, rect.height); pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, rect.width, rect.height); g_assert(pixbuf); pixel_size = gdk_pixbuf_get_n_channels(pixbuf) * gdk_pixbuf_get_bits_per_sample(pixbuf) / 8; gdk_pixbuf_copy_area(temp_pixbuf, 0, 0, rect.width, rect.height, pixbuf, 0, 0); gdk_pixbuf_unref(temp_pixbuf); data = gdk_pixbuf_get_pixels(pixbuf); for (y = 0, c = data; y < rect.height; y++, c += gdk_pixbuf_get_rowstride(pixbuf)) { d = c; for (x = 0; x < rect.width; x++, d += pixel_size) { *(d + 3) = 0;/* default everything is transparent */ } } fill_polygon(data, pixel_size, gdk_pixbuf_get_rowstride(pixbuf), default_pixel, alphaonly, pts, num_pts, rect.x, rect.y); debug("fill_polygon() done"); image->pixbuf = pixbuf; return image; } /* taken from gd.c in gd 1.8.3 */ static int cmp_int(const void *a, const void *b) { return (*(const int *)a) - (*(const int *)b); } static void gdk_span_fill(GdkSpan *span, gpointer data) { GdkSpanFillData *fill_data = (GdkSpanFillData *) data; unsigned char *c = fill_data->data + (fill_data->rowstride * span->y) + (fill_data->pixelsize * span->x); int i; int j; for (i = 0; i width; ++i) { for (j = 0; j < fill_data->pixelsize; ++j, ++c) { if (fill_data->mask[j]) { *c = fill_data->value[j]; } } } } static void fill_polygon( unsigned char *data, int pixelsize, int rowstride, unsigned char value[4], unsigned char mask[4], GdkPoint *pts, int num_pts, int xoffset, int yoffset) { /* this assumes the data is in RGBA format, each channel takes 1 bytes (thus 4 bytes per pixel) */ int i; GdkRegion *region; GdkRectangle bbox; GdkSpan *spans; GdkSpanFillData fill_data; g_assert(xoffset >= 0); g_assert(yoffset >= 0); debug_fn(); if (!num_pts) return; region = gdk_region_polygon(pts, num_pts, GDK_EVEN_ODD_RULE); fill_data.rowstride = rowstride; fill_data.pixelsize = pixelsize; fill_data.data = data; for (i = 0; i < 4; ++i) { fill_data.value[i] = value[i]; fill_data.mask[i] = mask[i]; } gdk_region_offset(region, -xoffset, -yoffset); gdk_region_get_clipbox(region, &bbox); spans = (GdkSpan *) g_new0(GdkSpan, bbox.height); for(i = 0; i < bbox.height; ++i) { spans[i].x = bbox.x; spans[i].width = bbox.width; spans[i].y = bbox.y + i; } gdk_region_spans_intersect_foreach(region, spans, bbox.height, TRUE, gdk_span_fill, &fill_data); g_free(spans); gdk_region_destroy(region); } int image_flip_x(gpaint_image *image) { int width, height; GdkPixbuf *newpixbuf = gdk_pixbuf_new( GDK_COLORSPACE_RGB, TRUE, gdk_pixbuf_get_bits_per_sample(image->pixbuf), width = gdk_pixbuf_get_width(image->pixbuf), height = gdk_pixbuf_get_height(image->pixbuf)); int rowstride = gdk_pixbuf_get_rowstride(newpixbuf); int x, y; int j; unsigned char *p, *p2, *p3, *p4; int pixel_size = gdk_pixbuf_get_bits_per_sample(image->pixbuf) * gdk_pixbuf_get_n_channels(image->pixbuf) / 8; g_assert(newpixbuf); for (p = gdk_pixbuf_get_pixels(newpixbuf), p2 = gdk_pixbuf_get_pixels(image->pixbuf), y = 0; y < height; y++, p += rowstride, p2 += rowstride) { p4 = p2 + pixel_size * (width - 1); p3 = p; for (x = 0; x < width; x++) { for (j = 0; j < pixel_size; j++) { *(p3 + j) = *(p4 + j); } p3 += pixel_size; p4 -= pixel_size; } } gdk_pixbuf_unref(image->pixbuf); image->pixbuf = newpixbuf; return 0; } int image_flip_y(gpaint_image *image) { int width, height; GdkPixbuf *newpixbuf = gdk_pixbuf_new( GDK_COLORSPACE_RGB, TRUE, gdk_pixbuf_get_bits_per_sample(image->pixbuf), width = gdk_pixbuf_get_width(image->pixbuf), height = gdk_pixbuf_get_height(image->pixbuf)); int rowstride = gdk_pixbuf_get_rowstride(newpixbuf); int x, y; int j; unsigned char *p, *p2, *p3, *p4; int pixel_size = gdk_pixbuf_get_bits_per_sample(image->pixbuf) * gdk_pixbuf_get_n_channels(image->pixbuf) / 8; g_assert(newpixbuf); for (p = gdk_pixbuf_get_pixels(newpixbuf), p2 = gdk_pixbuf_get_pixels(image->pixbuf) + rowstride * (height - 1), y = 0; y < height; y++, p += rowstride, p2 -= rowstride) { p3 = p; p4 = p2; for (x = 0; x < width; x++) { for (j = 0; j < pixel_size; j++) { *(p3 + j) = *(p4 + j); } p3 += pixel_size; p4 += pixel_size; } } gdk_pixbuf_unref(image->pixbuf); image->pixbuf = newpixbuf; return 0; } /* the below 2d transform routine contains code taken from xpaint, with the following copyright notice */ /* +-------------------------------------------------------------------+ */ /* | Copyright 1992, 1993, David Koblas (koblas@netcom.com) | */ /* | Copyright 1995, 1996 Torsten Martinsen (bullestock@dk-online.dk) | */ /* | | */ /* | Permission to use, copy, modify, and to distribute 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. There is no | */ /* | representations about the suitability of this software for | */ /* | any purpose. this software is provided "as is" without express | */ /* | or implied warranty. | */ /* | | */ /* +-------------------------------------------------------------------+ */ #define XFORM(x,y,mat,nx,ny) nx = mat[0][0] * x + mat[0][1] * y; \ ny = mat[1][0] * x + mat[1][1] * y #define COPY_MAT(s,d) d[0][0] = s[0][0]; d[0][1] = s[0][1]; \ d[1][0] = s[1][0]; d[1][1] = s[1][1] #define INVERT_MAT(mat, inv) do { \ float _d = 1.0 / (mat[0][0] * mat[1][1] \ - mat[0][1] * mat[1][0]); \ (inv)[0][0] = (mat)[1][1] * _d; \ (inv)[1][1] = (mat)[0][0] * _d; \ (inv)[0][1] = -(mat)[0][1] * _d; \ (inv)[1][0] = -(mat)[1][0] * _d; \ } while (0) #define ROUND(x) ((int)(x + 0.5)) int image_rotate(gpaint_image *image, double degrees) { double matrix[2][2]; GdkPixbuf *newpixbuf; double invmatrix[2][2]; int x, y, width, height, i, j; int rowstride1, rowstride2, pixel_size; unsigned char *p1, *p2, *p3, *p4; double tx[4], ty[4], minx, miny, maxx, maxy, nx, ny, width2, height2; double radians; radians = degrees * M_PI / 180; matrix[0][0] = cos(radians); matrix[0][1] = -sin(radians); matrix[1][0] = sin(radians); matrix[1][1] = cos(radians); /* find the new bounding box */ width = gdk_pixbuf_get_width(image->pixbuf); height = gdk_pixbuf_get_height(image->pixbuf); if (width < height) { g_warning("TODO: cannot rotate if width is less than height."); return 1; } XFORM(-width / 2, -height / 2, matrix, tx[0], ty[0]); XFORM(-width / 2, height / 2, matrix, tx[1], ty[1]); XFORM(width / 2, -height / 2, matrix, tx[2], ty[2]); XFORM(width / 2, height / 2, matrix, tx[3], ty[3]); minx = INT_MAX; miny = INT_MAX; maxx = -INT_MAX; maxy = -INT_MAX; for (i = 0; i < 4; i++) { if (minx > tx[i]) minx = tx[i]; if (maxx < tx[i]) maxx = tx[i]; if (miny > ty[i]) miny = ty[i]; if (maxy < ty[i]) maxy = ty[i]; } width2 = maxx - minx; height2 = maxy - miny; INVERT_MAT(matrix, invmatrix); p1 = gdk_pixbuf_get_pixels(image->pixbuf); newpixbuf = gdk_pixbuf_new( GDK_COLORSPACE_RGB, TRUE, gdk_pixbuf_get_bits_per_sample(image->pixbuf), ROUND(width2), ROUND(height2)); g_assert(newpixbuf); p2 = gdk_pixbuf_get_pixels(newpixbuf); rowstride1 = gdk_pixbuf_get_rowstride(image->pixbuf); rowstride2 = gdk_pixbuf_get_rowstride(newpixbuf); pixel_size = gdk_pixbuf_get_bits_per_sample(image->pixbuf) * gdk_pixbuf_get_n_channels(image->pixbuf) / 8; #define PIXEL(x, y) (p1 + ROUND(y) * rowstride1 + ROUND(x) * pixel_size) for (y = miny; y < maxy; y++, p2 += rowstride2) { p4 = p2; for (x = minx; x < maxx; x++, p4 += pixel_size) { XFORM(x, y, invmatrix, nx, ny); if (nx<0) nx = 0.0; if (ny<0) ny = 0.0; nx += width / 2.0; ny += height / 2.0; g_return_val_if_fail(nx >= 0, 1); g_return_val_if_fail(ny >= 0, 1); g_return_val_if_fail(nx <= gdk_pixbuf_get_width(image->pixbuf), 1); g_return_val_if_fail(ny <= gdk_pixbuf_get_height(image->pixbuf), 1); p3 = PIXEL(nx, ny); for (j = 0; j < pixel_size; j++) { *(p4 + j) = *(p3 + j); } } } gdk_pixbuf_unref(image->pixbuf); image->pixbuf = newpixbuf; return 0; } GdkPixbuf* image_pixbuf(gpaint_image* image) { return image->pixbuf; }; gpaint-2-0.3.3/src/image.h0000664000076400007640000000421310664360256012123 00000000000000/* $Id: image.h,v 1.3 2004/12/29 02:44:02 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __IMAGE_H__ #define __IMAGE_H__ #include "selection.h" #include typedef struct _gpaint_image gpaint_image; gpaint_image* image_new(int,int); gpaint_image* image_new_readfile(const gchar* filename); gpaint_image* image_new_copy(const gpaint_image*); gpaint_image* image_new_from_pixmap(GdkPixmap *pixmap, GdkRectangle source); gpaint_image* image_new_from_desktop(); void image_free(gpaint_image*); int image_draw_on_pixmap(gpaint_image*, GdkPixmap**, GdkGC*); int image_draw_region_on_pixmap(gpaint_image* image, GdkRectangle rect, GdkPixmap** ppixmap, GdkGC *gc); int image_render(gpaint_image *image, GdkPixmap *pixmap, gint x, gint y, GdkRectangle rect); int image_write(gpaint_image*, const gchar* filename, GError **error); int image_print(gpaint_image*); int image_width(gpaint_image* image); int image_height(gpaint_image* image); guchar* image_pixels(gpaint_image* image); int image_rowstride(gpaint_image *image); int image_pixelsize(gpaint_image *image); gpaint_image* image_from_selection(GdkPixmap *pixmap, gpaint_point_array *pa); int image_flip_x(gpaint_image *image); int image_flip_y(gpaint_image *image); int image_rotate(gpaint_image *image, double radians); GdkPixbuf* image_pixbuf(gpaint_image *image); #endif gpaint-2-0.3.3/src/image_processing.c0000664000076400007640000014437110664360255014363 00000000000000/* $Id: image_processing.c,v 1.4 2004/03/13 03:49:19 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /* Based on iprocess.c of xpaint, by David Koblas and Torsten Martinsen, * whose original copyright notice follows * * Copyright 1993, David Koblas (koblas@netcom.com) * Copyright 1995, 1996 Torsten Martinsen (bullestock@dk-online.dk) * * Permission to use, copy, modify, and to distribute 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. There is no * representations about the suitability of this software for any * purpose. this software is provided "as is" without express or * implied warranty. */ #ifdef HAVE_CONFIG_H # include #endif #ifdef HAVE_STRING_H # include #endif #include #include #include #include "image.h" #include "debug.h" #ifndef False #define False 0 #endif #ifndef True #define True 1 #endif #include "image_processing.h" #define ImagePixel(i, x, y) (image_pixels((i)) + (y) * image_rowstride((i)) + (x) * image_pixelsize((i))) void ImageSmooth (gpaint_image * input, gpaint_image * output); void ImageSharpen (gpaint_image * input, gpaint_image * output); void ImageEdge (gpaint_image * input, gpaint_image * output); void ImageEmbose (gpaint_image * input, gpaint_image * output); void ImageInvert (gpaint_image * input, gpaint_image * output); void ImageOilPaint (gpaint_image * input, gpaint_image * output); void ImageAddNoise (gpaint_image * input, gpaint_image * output); void ImageSpread (gpaint_image * input, gpaint_image * output); void ImageBlend (gpaint_image * input, gpaint_image * output); void ImagePixelize (gpaint_image * input, gpaint_image * output); void ImageDespeckle (gpaint_image * input, gpaint_image * output); void ImageNormContrast (gpaint_image * input, gpaint_image * output); void ImageHistogram (gpaint_image * input, gpaint_image * output); void ImageSolarize (gpaint_image * input, gpaint_image * output); void ImageQuantize (gpaint_image * input, gpaint_image * output); void ImageGrey (gpaint_image * input, gpaint_image * output); void ImageTilt (gpaint_image * input, gpaint_image * output); void ImageDirectionalFilter (gpaint_image * input, gpaint_image * output); typedef struct _gpaint_image_effect { const gchar *name; ImageEffect effect; } gpaint_image_effect; const gpaint_image_effect effect_table[] = { {"sharpen", ImageSharpen}, {"smooth", ImageSmooth}, {"directional_smooth", ImageDirectionalFilter}, {"despeckle", ImageDespeckle}, {"edge_detect", ImageEdge}, {"emboss", ImageEmbose}, {"oil_paint", ImageOilPaint}, {"add_noise", ImageAddNoise}, {"spread", ImageSpread}, {"pixelize", ImagePixelize}, {"blend", ImageBlend}, {"solarize", ImageSolarize}, {"normalize_contrast", ImageNormContrast}, {"quantize_color", ImageQuantize}, {"convert_to_greyscale", ImageGrey}, {0, NULL} /* end sentinel */ /* * TODO: Add the following functions. * ImageInvert * ImageTilt * ImageThicken */ }; /* * image_lookup_effect() * * Lookup the image processing function by name. */ ImageEffect image_lookup_effect (const gchar * name) { const gpaint_image_effect *p = effect_table; while (p->name) { if (strcmp (p->name, name) == 0 && p->effect) { debug1 ("Found image processing function for %s", name); return p->effect; } p++; } debug1 ("Unexpected image effect name: %s", name); return NULL; } void StateTimeStep() { /* TODO */ } struct imageprocessinfo { int oilArea; int noiseDelta; int spreadDistance; int pixelizeXSize; int pixelizeYSize; int despeckleMask; int smoothMaskSize; int tilt; int solarizeThreshold; int contrastW; int contrastB; int quantizeColors; int tiltX1; int tiltY1; int tiltX2; int tiltY2; }; /* Global data */ struct imageprocessinfo ImgProcessInfo = { 7, /* oilArea */ 20, /* noiseDelta */ 2, /* spreadDistance */ 4, /* pixelizeXSize */ 4, /* pixelizeYSize */ 3, /* despeckleMask */ 3, /* smoothMaskSize */ 20, /* tilt */ 50, /* solarizeThreshold */ 99, /* contrastW */ 2, /* contrastB */ 16, /* quantizeColors */ 0, 0, 0, 0 }; #define RANGE 0x0fffffff #define RANDOMI() random() #define RANDOMI2(s, f) (((double)(random() % RANGE) / \ (double)RANGE) * ((f) - (s)) + (s)) #define SRANDOM(seed) srandom((unsigned) (seed)) #define ICLAMP(low, value, high) \ if (value < low) value = low; else if (value > high) value = high #define DEG2RAD (M_PI/180.0) #define ConvMatrixSize 3 typedef float ConvMatrix[ConvMatrixSize * ConvMatrixSize]; static int *histogram (gpaint_image * input); /* * Return a Gaussian (aka normal) random variable. * * Adapted from ppmforge.c, which is part of PBMPLUS. * The algorithm comes from: * 'The Science Of Fractal Images'. Peitgen, H.-O., and Saupe, D. eds. * Springer Verlag, New York, 1988. */ static double gauss (void) { int i; double sum = 0.0; for (i = 0; i < 4; i++) sum += RANDOMI () & 0x7FFF; return sum * 5.28596089837e-5 - 3.46410161514; } static void convolve (gpaint_image * input, gpaint_image * output, float *mat, int n, unsigned char *basePixel, gboolean absFlag) { /* input and output must have been allocated */ int x, y, xx, yy, xv, yv; float sum; unsigned char *p; unsigned char *op; float r, g, b; int ir, ig, ib; int width = image_width (input); int height = image_height (input); const int xy = -n / 2; const int ye = height + xy; const int xe = width + xy; const int hh = height * 2; const int ww = width * 2; op = image_pixels (output); sum = 0; for (yy = 0; yy < n; yy++) { for (xx = 0; xx < n; xx++) { sum += mat[xx + n * yy]; } } if (sum <= 0) sum = 1; for (y = xy; y < ye; y++) { for (x = xy; x < xe; x++) { r = g = b = 0; for (yy = 0; yy < n; yy++) { for (xx = 0; xx < n; xx++) { xv = x + xx; yv = y + yy; if (xv < 0) xv = -xv; if (yv < 0) yv = -yv; if (xv >= width) { xv = xv % ww; if (xv >= width) xv = ww - xv - 1; } if (yv >= height) { yv = yv % hh; if (yv >= height) yv = hh - yv - 1; } p = ImagePixel (input, xv, yv); r += (float) *p++ * mat[xx + n * yy]; g += (float) *p++ * mat[xx + n * yy]; b += (float) *p * mat[xx + n * yy]; } } if (absFlag) { if (r < 0) r = -r; if (g < 0) g = -g; if (b < 0) b = -b; } ir = r / sum; ig = g / sum; ib = b / sum; if (basePixel) { ir += basePixel[0]; ig += basePixel[1]; ib += basePixel[2]; } ICLAMP (0, ir, 255); ICLAMP (0, ig, 255); ICLAMP (0, ib, 255); *op++ = ir; *op++ = ig; *op++ = ib; op += image_pixelsize (output) - 3; } if (y % 16 == 0) StateTimeStep (); op += image_rowstride (output) - width * image_pixelsize (output); } } /* ** rescale values from 0..255 */ static void normalize (gpaint_image * image) { int i, count; unsigned char *sp; unsigned char *ip; int maxval = 0; int width = image_width (image); int height = image_height (image); { sp = image_pixels (image); count = width * height * image_pixelsize (image); } for (ip = sp, i = 0; i < count; i++, ip++) if (*ip > maxval) maxval = *ip; if (maxval == 0) return; for (ip = sp, i = 0; i < count; i++, ip++) *ip = ((int) *ip * 255) / maxval; } /* ** Convert image into a monochrome image */ static void monochrome (gpaint_image * image) { int i, count; unsigned char *sp; unsigned char *ip; int v; int width = image_width (image); int height = image_height (image); { sp = image_pixels (image); count = width * height; } for (ip = sp, i = 0; i < count; i++) { v = (ip[0] * 11 + ip[1] * 16 + ip[2] * 5) >> 5; /* pp = .33R+.5G+.17B */ *ip++ = v; *ip++ = v; *ip++ = v; ip += image_pixelsize (image) - 3; } } void ImageSmooth (gpaint_image * input, gpaint_image * output) { float *mat; int n, i; /* * Build n x n convolution matrix (all 1's) */ n = ImgProcessInfo.smoothMaskSize; mat = malloc (n * n * sizeof (float)); for (i = 0; i < n * n; ++i) mat[i] = 1.0; convolve (input, output, mat, n, NULL, False); free (mat); } void ImageSharpen (gpaint_image * input, gpaint_image * output) { static ConvMatrix mat = { -1, -2, -1, -2, 20, -2, -1, -2, -1 }; convolve (input, output, mat, ConvMatrixSize, NULL, False); } void ImageEdge (gpaint_image * input, gpaint_image * output) { static ConvMatrix mat = { -1, -2, 0, -2, 0, 2, 0, 2, 1 }; convolve (input, output, mat, ConvMatrixSize, NULL, True); normalize (output); } void ImageEmbose (gpaint_image * input, gpaint_image * output) { static ConvMatrix mat = { -1, -2, 0, -2, 0, 2, 0, 2, 1 }; static unsigned char base[3] = { 128, 128, 128 }; convolve (input, output, mat, ConvMatrixSize, base, False); monochrome (output); normalize (output); } void ImageInvert (gpaint_image * input, gpaint_image * output) { unsigned char *op; int x, y; unsigned char *p; int width = image_width (input); int height = image_height (input); op = image_pixels (output); for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { p = ImagePixel (input, x, y); *op++ = 255 - *p++; *op++ = 255 - *p++; *op++ = 255 - *p; op += image_pixelsize (output) - 3; } op += image_rowstride (output) - width * image_pixelsize (output); } } void ImageOilPaint (gpaint_image * input, gpaint_image * output) { unsigned char *op = image_pixels (output); int x, y, xx, yy, i; int rVal, gVal, bVal; int rCnt, gCnt, bCnt; int rHist[256], gHist[256], bHist[256]; int oilArea_2; int width = image_width (input); int height = image_height (input); oilArea_2 = ImgProcessInfo.oilArea / 2; for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { /* ** compute histogram of (on-screen hunk of) n*n ** region centered plane */ rCnt = gCnt = bCnt = 0; rVal = gVal = bVal = 0; for (i = 0; i < sizeof (rHist) / sizeof (int); i++) rHist[i] = gHist[i] = bHist[i] = 0; for (yy = y - oilArea_2; yy < y + oilArea_2; yy++) { if (yy < 0 || yy >= height) continue; for (xx = x - oilArea_2; xx < x + oilArea_2; xx++) { int c, p; unsigned char *rgb; if (xx < 0 || xx >= width) continue; rgb = ImagePixel (input, xx, yy); if ((c = ++rHist[(p = rgb[0]) / 4]) > rCnt) { rVal = p; rCnt = c; } if ((c = ++gHist[(p = rgb[1]) / 4]) > gCnt) { gVal = p; gCnt = c; } if ((c = ++bHist[(p = rgb[2]) / 4]) > bCnt) { bVal = p; bCnt = c; } } } *op++ = rVal; *op++ = gVal; *op++ = bVal; op += image_pixelsize (output) - 3; } if (y % 16 == 0) StateTimeStep (); op += image_rowstride (output) - width * image_pixelsize (output); } } /* * Add random noise to an image. */ void ImageAddNoise (gpaint_image * input, gpaint_image * output) { unsigned char *p; int x, y, r, g, b, ddelta; unsigned char *op = image_pixels (output); int width = image_width (input); int height = image_height (input); ddelta = ImgProcessInfo.noiseDelta * 2; for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { p = ImagePixel (input, x, y); r = p[0] + ddelta * gauss (); ICLAMP (0, r, 255); g = p[1] + ddelta * gauss (); ICLAMP (0, g, 255); b = p[2] + ddelta * gauss (); ICLAMP (0, b, 255); *op++ = r; *op++ = g; *op++ = b; op += image_pixelsize (output) - 3; } op += image_rowstride (output) - width * image_pixelsize (output); } } /* * This function works in-place. * Because it swaps pixels in the input image, which may be colour mapped * or not, is has knowledge about the Image format that should probably * have stayed in image.h. Too bad. */ void ImageSpread (gpaint_image * input, gpaint_image * output) { int width = image_width (input); int height = image_height (input); int w = width, h = height; unsigned char *p, *np; int x, y, minx, miny, maxx, maxy, xn, yn, dist; unsigned char *in, *out; int size; /* make a copy of the input, then work on the copy */ /* input and output are the exact same size */ g_assert (image_pixelsize (input) == image_pixelsize (output)); g_assert (image_width (input) == image_width (output)); g_assert (image_height (input) == image_height (output)); size = image_pixelsize (input); in = image_pixels (input); out = image_pixels (output); debug3 ("width %d, height %d, pixel size %d", width, height, size); memcpy (out, in, sizeof (unsigned char) * width * height * size); dist = ImgProcessInfo.spreadDistance; for (y = 0; y < h; y++) { for (x = 0; x < w; x++) { p = ImagePixel (output, x, y); /* find random neighbour pixel within +- dist */ minx = x - dist; if (minx < 0) minx = 0; maxx = x + dist; if (maxx >= w) maxx = w - 1; xn = RANDOMI2 (minx, maxx); miny = y - dist; if (miny < 0) miny = 0; maxy = y + dist; if (maxy >= h) maxy = h - 1; yn = RANDOMI2 (miny, maxy); /* swap pixel with neighbour */ np = ImagePixel (output, xn, yn); { unsigned char rn, gn, bn; rn = np[0]; gn = np[1]; bn = np[2]; np[0] = p[0]; np[1] = p[1]; np[2] = p[2]; p[0] = rn; p[1] = gn; p[2] = bn; } } } } void ImageBlend (gpaint_image * input, gpaint_image * output) { int width = image_width (input); int height = image_height (input); int w = width, h = height; unsigned char *op = image_pixels (output); unsigned char *rgb; int x, y, n, ox, oy, px, py, dx, dy; int rSum, gSum, bSum, r, g, b; float diagonal, gradient, ap; ox = w / 2; oy = h / 2; diagonal = ((double) h) / w; /* * Compute average of pixels on edge of region. While we are * at it, we copy the edge to the output as well. */ rSum = gSum = bSum = 0; for (x = 0; x < w; ++x) { rgb = ImagePixel (input, x, 0); r = rgb[0]; g = rgb[1]; b = rgb[2]; rSum += r; gSum += g; bSum += b; *op++ = r; *op++ = g; *op++ = b; op += image_pixelsize (output) - 3; } op = ImagePixel (output, 0, h - 1); for (x = 0; x < w; ++x) { rgb = ImagePixel (input, x, h - 1); r = rgb[0]; g = rgb[1]; b = rgb[2]; rSum += r; gSum += g; bSum += b; *op++ = r; *op++ = g; *op++ = b; op += image_pixelsize (output) - 3; } for (y = 1; y < h - 1; ++y) { rgb = ImagePixel (input, 0, y); r = rgb[0]; g = rgb[1]; b = rgb[2]; rSum += r; gSum += g; bSum += b; op = ImagePixel (output, 0, y); *op++ = r; *op++ = g; *op++ = b; rgb = ImagePixel (input, w - 1, y); r = rgb[0]; g = rgb[1]; b = rgb[2]; rSum += r; gSum += g; bSum += b; op = ImagePixel (output, w - 1, y); *op++ = r; *op++ = g; *op++ = b; } n = 2 * (w + h - 2); /* total # of pixels on edge */ rSum /= n; gSum /= n; bSum /= n; op = ImagePixel (output, 1, 1); /* compute colour of each point in the interior */ for (y = 1; y < h - 1; y++) { op = ImagePixel (output, 1, y); for (x = 1; x < w - 1; x++) { dx = x - ox; dy = y - oy; if (dx == 0 && dy == 0) { /* this is the centre point */ r = rSum; g = gSum; b = bSum; } else { if (dx == 0) { /* special case 1 */ px = ox; py = (dy > 0) ? h - 1 : 0; } else if (dy == 0) { /* special case 2 */ py = oy; px = (dx > 0) ? w - 1 : 0; } else { /* general case */ gradient = ((double) dy) / dx; if (fabs (gradient) < fabs (diagonal)) { px = (dx > 0) ? w - 1 : 0; py = oy + ((px - ox) * dy) / dx; } else { py = (dy > 0) ? h - 1 : 0; px = ox + ((py - oy) * dx) / dy; } } /* * given O(ox,oy), P(px,py), and A(x,y), compute * |AO|/|PO| */ ap = sqrt ((double) (dx * dx) + (double) (dy * dy)) / sqrt ((double) ((px - ox) * (px - ox)) + (double) ((py - oy) * (py - oy))); rgb = ImagePixel (input, px, py); r = (1 - ap) * rSum + ap * rgb[0]; g = (1 - ap) * gSum + ap * rgb[1]; b = (1 - ap) * bSum + ap * rgb[2]; } *op++ = r; *op++ = g; *op++ = b; op += image_pixelsize (output) - 3; } /*op += 2 * image_pixelsize(output); *//* skip last on this line and first on next */ } } void ImagePixelize (gpaint_image * input, gpaint_image * output) { int width = image_width (input); int height = image_height (input); unsigned char *op, *rgb; int x, y, xx, yy, n; int rSum, gSum, bSum; int xsize, ysize; xsize = ImgProcessInfo.pixelizeXSize; ysize = ImgProcessInfo.pixelizeYSize; if (xsize > width) xsize = width; if (ysize > height) ysize = height; n = xsize * ysize; for (y = 0; y < height; y += ysize) { for (x = 0; x < width; x += xsize) { /* * compute average of pixels inside megapixel */ rSum = gSum = bSum = 0; for (yy = y; yy < y + ysize; yy++) { if (yy >= height) continue; for (xx = x; xx < x + xsize; xx++) { if (xx >= width) continue; rgb = ImagePixel (input, xx, yy); rSum += rgb[0]; gSum += rgb[1]; bSum += rgb[2]; } } rSum /= n; gSum /= n; bSum /= n; /* * replace each pixel in megapixel with average */ for (yy = y; yy < y + ysize; yy++) { if (yy >= height) continue; for (xx = x; xx < x + xsize; xx++) { if (xx >= width) continue; op = ImagePixel (output, xx, yy); *op++ = rSum; *op++ = gSum; *op = bSum; } } } if (y % 16 == 0) StateTimeStep (); } /* if any incomplete megapixels are left, copy them to the output */ for (x = (width / xsize) * xsize; x < width; ++x) for (y = 0; y < height; ++y) { rgb = ImagePixel (input, x, y); op = ImagePixel (output, x, y); *op++ = *rgb++; *op++ = *rgb++; *op = *rgb; } for (y = (height / ysize) * ysize; y < height; ++y) for (x = 0; x < width; ++x) { rgb = ImagePixel (input, x, y); op = ImagePixel (output, x, y); *op++ = *rgb++; *op++ = *rgb++; *op = *rgb; } } #define SWAP(a, b) { int t = (a); (a) = (b); (b) = t; } void ImageDespeckle (gpaint_image * input, gpaint_image * output) { int width = image_width (input); int height = image_height (input); unsigned char *op, *rgb; int x, y, xx, yy, mask, mask2, i, j, k, l; int *ra, *ga, *ba; mask = ImgProcessInfo.despeckleMask; if (mask > width) mask = width; if (mask > height) mask = height; mask2 = mask / 2; /* arrays for storing pixels inside mask */ ra = malloc (mask * mask * sizeof (int)); ga = malloc (mask * mask * sizeof (int)); ba = malloc (mask * mask * sizeof (int)); op = image_pixels (output); for (y = 0; y < height; ++y) { for (x = 0; x < width; ++x) { i = 0; for (yy = MAX (0, y - mask2); yy < MIN (height, y + mask2); ++yy) for (xx = MAX (0, x - mask2); xx < MIN (width, x + mask2); ++xx) { rgb = ImagePixel (input, xx, yy); ra[i] = *rgb++; ga[i] = *rgb++; ba[i] = *rgb; ++i; } /* * now find median by (shell-)sorting the arrays and * picking the center value */ for (j = i / 2; j > 0; j = j / 2) for (k = j; k < i; k++) { for (l = k - j; l >= 0 && ra[l] > ra[l + j]; l -= j) SWAP (ra[l], ra[l + j]); for (l = k - j; l >= 0 && ga[l] > ga[l + j]; l -= j) SWAP (ga[l], ga[l + j]); for (l = k - j; l >= 0 && ba[l] > ba[l + j]; l -= j) SWAP (ba[l], ba[l + j]); } if (i & 1) { /* uneven number of data points */ *op++ = ra[i / 2]; *op++ = ga[i / 2]; *op++ = ba[i / 2]; } else { /* even, take average */ *op++ = (ra[i / 2 - 1] + ra[i / 2]) / 2; *op++ = (ga[i / 2 - 1] + ga[i / 2]) / 2; *op++ = (ba[i / 2 - 1] + ba[i / 2]) / 2; } op += image_pixelsize (output) - 3; } if (y % 16 == 0) StateTimeStep (); op += image_rowstride (output) - width * image_pixelsize (output); } free (ra); free (ga); free (ba); } /* * Normalize the contrast of an image. */ void ImageNormContrast (gpaint_image * input, gpaint_image * output) { int width = image_width (input); int height = image_height (input); unsigned char *p; int *hist; int x, y, w, h, i, max = 0, cumsum, limit; unsigned char *op = image_pixels (output); int blackpcnt, blackval, whitepcnt, whiteval; blackpcnt = ImgProcessInfo.contrastB; whitepcnt = 100 - ImgProcessInfo.contrastW; hist = histogram (input); w = width; h = height; /* Find lower knee point in histogram to determine 'black' threshold. */ cumsum = 0; limit = w * h * blackpcnt / 100; for (i = 0; i < 256; ++i) if ((cumsum += hist[i]) > limit) break; blackval = i; /* Likewise for 'white' threshold. */ cumsum = 0; limit = w * h * whitepcnt / 100; for (i = 256; i > 0; --i) { if ((max == 0) && hist[i]) max = i + 1; /* max is index of highest non-zero entry */ if ((cumsum += hist[i]) > limit) break; } whiteval = i; /* * Now create a histogram with a linear ramp * from (blackval, 0) to (whiteval, max) */ for (i = 0; i < blackval; ++i) hist[i] = 0; for (; i <= whiteval; ++i) hist[i] = max * (i - blackval) / (whiteval - blackval); for (; i < 256; ++i) hist[i] = max; for (y = 0; y < h; y++) { for (x = 0; x < w; x++) { p = ImagePixel (input, x, y); *op++ = hist[*p++]; *op++ = hist[*p++]; *op++ = hist[*p]; op += image_pixelsize (output) - 3; } op += image_rowstride (output) - width * image_pixelsize (output); } free (hist); } /* * Build histogram data for the image. */ static int * histogram (gpaint_image * input) { int width = image_width (input); int height = image_height (input); unsigned char *p; int x, y, w, h, i, r, g, b, *hist; w = width; h = height; /* Make a table of 256 zeros plus one sentinel */ hist = malloc (257 * sizeof (int)); for (i = 0; i <= 256; ++i) hist[i] = 0; /* * Build histogram of intensity values. */ for (y = 0; y < h; y++) { for (x = 0; x < w; x++) { p = ImagePixel (input, x, y); r = *p++; g = *p++; b = *p; i = (r * 169 + g * 256 + b * 87) / 512; /* i = .33R+.5G+.17B */ ++hist[i]; } } return hist; } #if 0 #define HIST_H 120 /* Height of histogram */ #define HIST_W 256 /* Width of histogram */ #define HIST_B 2 /* Horizontal border width for histogram */ #define HIST_R 12 /* Height of ruler below histogram */ #define HIST_T 9 /* Height of tick marks on ruler */ #define LIGHTGREY 200 /* Greyscale level used for bars */ #define MIDGREY 255 /* Greyscale level used for ruler */ #define DARKGREY 120 /* Greyscale level used for background */ /* * Create an image (width 256, height HIST_H) depicting the histogram data. */ void HistogramImage (char *hist, gpaint_image * output) { unsigned char *p; int x, y, i; int max, e:unsigned char *ihist; max = 0; ihist = malloc (128 * sizeof (int)); for (i = 0; i < 128; ++i) { e = ihist[i] = hist[i * 2] + hist[i * 2 + 1]; if (e > max) max = e; } /* * Now create histogram image. * Only display 128 bins to make the histogram easier to read. * Leave a border of a few pixels in each side. */ memset (image_pixels (output), DARKGREY, (HIST_W + 2 * HIST_B) * (HIST_H + HIST_R)); for (x = 0; x < 128; ++x) { i = ihist[x] * (HIST_H - 1) / max; for (y = HIST_H - 1 - i; y < HIST_H - 1; y++) { p = image_pixels (output) + y * (HIST_W + 2 * HIST_B) + x * 2 + HIST_B; *p++ = LIGHTGREY; *p = LIGHTGREY; } } /* Ruler */ memset (image_pixels (output) + HIST_H * (HIST_W + 2 * HIST_B) + HIST_B, MIDGREY, HIST_W); for (x = 0; x < 5; ++x) { int tick[] = { 0, HIST_W / 4, HIST_W / 2, HIST_W * 3 / 4, HIST_W - 1 }; for (y = 0; y < HIST_T; y++) { p = image_pixels (output) + (y + HIST_H + 1) * (HIST_W + 2 * HIST_B) + tick[x] + HIST_B; *p = MIDGREY; } } free (ihist); } #endif #ifdef FEATURE_TILT /* * Tilt an image. */ /* * Compute the interpolated RGB values of a 1 x 1 pixel centered * at (x,y) and store these values in op[0] trough op[2]. * The interpolation is based on weighting the RGB values proportionally * to the overlapping areas. */ static void interpol (float x, float y, gpaint_image * input, unsigned char *op) { int xl, xh, yl, yh; float a, b, c, d, A, B, C, D; unsigned char *plh, *phh, *pll, *phl; xl = floor (x); xh = ceil (x); yl = floor (y); yh = ceil (y); pll = ImagePixel (input, xl, yl); if (xh == xl) { if (yh == yl) { /* pixel coincides with one pixel */ *op++ = *pll++; *op++ = *pll++; *op++ = *pll++; } else { /* pixel overlaps with two pixels on top of each other */ plh = ImagePixel (input, xl, yh); A = y - yl; B = yh - y; *op++ = A * *plh++ + B * *pll++; *op++ = A * *plh++ + B * *pll++; *op++ = A * *plh++ + B * *pll++; } } else if (yh == yl) { /* pixel overlaps with two side-by-side pixels */ phl = ImagePixel (input, xh, yl); A = x - xl; B = xh - x; *op++ = A * *phl++ + B * *pll++; *op++ = A * *phl++ + B * *pll++; *op++ = A * *phl++ + B * *pll++; } else { /* general case: pixel overlaps all four neighbour pixels */ a = xh - x; b = y - yl; c = x - xl; d = yh - y; A = a * b; B = b * c; C = a * d; D = c * d; plh = ImagePixel (input, xl, yh); phl = ImagePixel (input, xh, yl); phh = ImagePixel (input, xh, yh); *op++ = A * *plh++ + B * *phh++ + C * *pll++ + D * *phl++; *op++ = A * *plh++ + B * *phh++ + C * *pll++ + D * *phl++; *op++ = A * *plh++ + B * *phh++ + C * *pll++ + D * *phl++; } } void ImageTilt (gpaint_image * input, gpaint_image * output) { int x, y, br, bg, bb; int width = image_width (input); int height = image_height (input); Image *output; unsigned char *op; float xt, yt; float X1, Y1, X2, Y2; X1 = width * ImgProcessInfo.tiltX1 / 100; Y1 = height * ImgProcessInfo.tiltY1 / 100; X2 = width * ImgProcessInfo.tiltX2 / 100; Y2 = height * ImgProcessInfo.tiltY2 / 100; if (((Y1 >= 0) && (Y1 < height)) || ((X2 >= 0) && (X2 < width))) return input; /* Get RGB values of background colour */ br = ImgProcessInfo.background->red / 256; bg = ImgProcessInfo.background->green / 256; bb = ImgProcessInfo.background->blue / 256; op = image_pixels (output); for (x = 0; x < width * height; ++x) { *op++ = br; *op++ = bg; *op++ = bb; op += image_pixelsize (output) - 3; } for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { op = ImagePixel (output, x, y); /* find the input coords corresponding to output coords (x,y) */ xt = (X1 * y - Y1 * x) / (y - Y1); yt = (-X2 * y + x * Y2) / (x - X2); if ((xt >= 0) && (xt < width) && (yt >= 0) && (yt < height)) { #if 0 unsigned char *p; /* rounding */ p = ImagePixel (input, (int) (xt + 0.5), (int) (yt + 0.5)); *op++ = *p++; *op++ = *p++; *op = *p; #else interpol (xt, yt, input, op); #endif } } } } #endif /* * Produce the 'solarization' effect seen when exposing a * photographic film to light during the development process. * Done here by inverting all pixels above threshold level. */ void ImageSolarize (gpaint_image * input, gpaint_image * output) { int width = image_width (input); int height = image_height (input); int i; unsigned char *ip, *op; int count, limit; limit = ImgProcessInfo.solarizeThreshold * 255 / 100; { ip = image_pixels (input); op = image_pixels (output); count = width * height; } for (i = 0; i < count; i++) { *op++ = (*ip > limit) ? 255 - *ip++ : *ip++; *op++ = (*ip > limit) ? 255 - *ip++ : *ip++; *op++ = (*ip > limit) ? 255 - *ip++ : *ip++; op += image_pixelsize (output) - 3; } } /* * Colourmap quantization. Hacked from ppmqvga.c, which is part of Netpbm and * was originally written by Lyle Rains (lrains@netcom.com) and Bill Davidsen * (davidsen@crd.ge.com). * You are probably not supposed to understand this. */ #define RED_BITS 5 #define GREEN_BITS 6 #define BLUE_BITS 5 #define MAX_RED (1 << RED_BITS) #define MAX_GREEN (1 << GREEN_BITS) #define MAX_BLUE (1 << BLUE_BITS) #define MAXWEIGHT 128 #define STDWEIGHT_DIV (2 << 8) #define STDWEIGHT_MUL (2 << 10) #define GAIN 4 static int r, g, b, clutx, rep_threshold, rep_weight, dr, dg, db; static int *color_cube, ncolors; static unsigned char *clut; #define CUBEINDEX(r,g,b) (r)*(MAX_GREEN*MAX_BLUE) + (g)*MAX_BLUE + (b) static void diffuse (void) { int _7_32nds, _3_32nds, _1_16th; if (clutx < ncolors) { if (color_cube[CUBEINDEX (r, g, b)] > rep_threshold) { clut[clutx * 4 + 0] = ((2 * r + 1) * 256) / (2 * MAX_RED); clut[clutx * 4 + 1] = ((2 * g + 1) * 256) / (2 * MAX_GREEN); clut[clutx * 4 + 2] = ((2 * b + 1) * 256) / (2 * MAX_BLUE); ++clutx; color_cube[CUBEINDEX (r, g, b)] -= rep_weight; } _7_32nds = (7 * color_cube[CUBEINDEX (r, g, b)]) / 32; _3_32nds = (3 * color_cube[CUBEINDEX (r, g, b)]) / 32; _1_16th = color_cube[CUBEINDEX (r, g, b)] - 3 * (_7_32nds + _3_32nds); color_cube[CUBEINDEX (r, g, b)] = 0; /* spread error evenly in color space. */ color_cube[CUBEINDEX (r, g, b + db)] += _7_32nds; color_cube[CUBEINDEX (r, g + dg, b)] += _7_32nds; color_cube[CUBEINDEX (r + dr, g, b)] += _7_32nds; color_cube[CUBEINDEX (r, g + dg, b + db)] += _3_32nds; color_cube[CUBEINDEX (r + dr, g, b + db)] += _3_32nds; color_cube[CUBEINDEX (r + dr, g + dg, b)] += _3_32nds; color_cube[CUBEINDEX (r + dr, g + dg, b + db)] += _1_16th; /* * Conserve the error at edges if possible * (which it is, except the last pixel) */ if (color_cube[CUBEINDEX (r, g, b)] != 0) { if (dg != 0) color_cube[CUBEINDEX (r, g + dg, b)] += color_cube[CUBEINDEX (r, g, b)]; else if (dr != 0) color_cube[CUBEINDEX (r + dr, g, b)] += color_cube[CUBEINDEX (r, g, b)]; else if (db != 0) color_cube[CUBEINDEX (r, g, b) + db] += color_cube[CUBEINDEX (r, g, b)]; else fprintf (stderr, "lost error term\n"); } } color_cube[CUBEINDEX (r, g, b)] = -1; } /* ** Find representative color nearest to requested color. Check color cube ** for a cached color index. If not cached, compute nearest and cache result. */ static int nearest_color (unsigned char *p) { register unsigned char *test; register unsigned i; unsigned long min_dist_sqd, dist_sqd; int nearest = 0; int *cache; int r, g, b; r = *p++; g = *p++; b = *p; cache = &(color_cube[CUBEINDEX ((r << RED_BITS) / 256, (g << GREEN_BITS) / 256, (b << BLUE_BITS) / 256)]); if (*cache >= 0) return *cache; min_dist_sqd = ~0; for (i = 0; i < ncolors; ++i) { test = &clut[i * 4]; dist_sqd = 3 * (r - test[0]) * (r - test[0]) + 4 * (g - test[1]) * (g - test[1]) + 2 * (b - test[2]) * (b - test[2]); if (dist_sqd < min_dist_sqd) { nearest = i; min_dist_sqd = dist_sqd; } } return (*cache = nearest); } void ImageQuantize (gpaint_image * input, gpaint_image * output) { int width = image_width (input); int height = image_height (input); int w = width, h = height; unsigned char *op = image_pixels (output); int *weight_convert; int k, x, y, i, j, nearest; int total_weight, cum_weight[MAX_GREEN]; int *erropt; int *errP; unsigned char *p, *clutP; ncolors = ImgProcessInfo.quantizeColors; /* Make a color cube, initialized to zeros */ color_cube = calloc (MAX_RED * MAX_GREEN * MAX_BLUE, sizeof (int)); clut = calloc (ncolors * 4, sizeof (int)); erropt = calloc (ncolors * 4, sizeof (int)); clutx = 0; /* Count all occurrances of each color */ for (y = 0; y < h; ++y) for (x = 0; x < w; ++x) { p = ImagePixel (input, x, y); r = p[0] / (256 / MAX_RED); g = p[1] / (256 / MAX_GREEN); b = p[2] / (256 / MAX_BLUE); ++color_cube[CUBEINDEX (r, g, b)]; } /* Initialize logarithmic weighting table */ weight_convert = malloc (MAXWEIGHT * sizeof (int)); weight_convert[0] = 0; for (i = 1; i < MAXWEIGHT; ++i) { weight_convert[i] = (int) (100.0 * log ((double) i)); } k = w * h; if ((k /= STDWEIGHT_DIV) == 0) k = 1; total_weight = i = 0; for (g = 0; g < MAX_GREEN; ++g) { for (r = 0; r < MAX_RED; ++r) { for (b = 0; b < MAX_BLUE; ++b) { register int weight; /* Normalize the weights, independent of picture size. */ weight = color_cube[CUBEINDEX (r, g, b)] * STDWEIGHT_MUL; weight /= k; if (weight) ++i; if (weight >= MAXWEIGHT) weight = MAXWEIGHT - 1; total_weight += (color_cube[CUBEINDEX (r, g, b)] = weight_convert[weight]); } } cum_weight[g] = total_weight; } rep_weight = total_weight / ncolors; /* Magic foo-foo dust here. What IS the correct way to select threshold? */ rep_threshold = total_weight * (28 + 110000 / i) / 95000; /* * Do a 3-D error diffusion dither on the data in the color cube * to select the representative colors. Do the dither back and forth in * such a manner that all the error is conserved (none lost at the edges). */ dg = 1; for (g = 0; g < MAX_GREEN; ++g) { dr = 1; for (r = 0; r < MAX_RED; ++r) { db = 1; for (b = 0; b < MAX_BLUE - 1; ++b) diffuse (); db = 0; diffuse (); ++b; if (++r == MAX_RED - 1) dr = 0; db = -1; while (--b > 0) diffuse (); db = 0; diffuse (); } /* Modify threshold to keep rep points proportionally distributed */ if ((j = clutx - (ncolors * cum_weight[g]) / total_weight) != 0) rep_threshold += j * GAIN; if (++g == MAX_GREEN - 1) dg = 0; dr = -1; while (r-- > 0) { db = 1; for (b = 0; b < MAX_BLUE - 1; ++b) diffuse (); db = 0; diffuse (); ++b; if (--r == 0) dr = 0; db = -1; while (--b > 0) diffuse (); db = 0; diffuse (); } /* Modify threshold to keep rep points proportionally distributed */ if ((j = clutx - (ncolors * cum_weight[g]) / total_weight) != 0) rep_threshold += j * GAIN; } /* * Check the error associated with the use of each color, and * change the value of the color to minimize the error. */ for (y = 0; y < h; ++y) { for (x = 0; x < w; ++x) { p = ImagePixel (input, x, y); nearest = nearest_color (p); errP = &erropt[nearest * 4]; clutP = &clut[nearest * 4]; errP[0] += *p++ - clutP[0]; errP[1] += *p++ - clutP[1]; errP[2] += *p - clutP[2]; ++errP[3]; } } for (i = 0; i < ncolors; ++i) { clutP = &clut[i * 4]; errP = &erropt[i * 4]; j = errP[3]; if (j > 0) j *= 4; else if (j == 0) j = 1; clutP[0] += (errP[0] / j) * 4; clutP[1] += (errP[1] / j) * 4; clutP[2] += (errP[2] / j) * 4; } /* Reset the color cache. */ for (i = 0; i < MAX_RED * MAX_GREEN * MAX_BLUE; ++i) color_cube[i] = -1; /* * Map the colors in the image to their closest match in the new colormap. */ for (y = 0; y < h; ++y) { for (x = 0; x < w; ++x) { p = ImagePixel (input, x, y); nearest = nearest_color (p); clutP = &clut[nearest * 4]; *op++ = *clutP++; *op++ = *clutP++; *op++ = *clutP; op += image_pixelsize (output) - 3; } op += image_rowstride (output) - width * image_pixelsize (output); } free (clut); free (erropt); free (weight_convert); } /* * Convert an image to grey scale. */ void ImageGrey (gpaint_image * input, gpaint_image * output) { int width = image_width (input); int height = image_height (input); unsigned char *p, *op = image_pixels (output); int x, y, v; for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { p = ImagePixel (input, x, y); v = (p[0] * 11 + p[1] * 16 + p[2] * 5) >> 5; /* .33R + .5G + .17B */ *op++ = v; *op++ = v; *op++ = v; op += image_pixelsize (output) - 3; } op += image_rowstride (output) - width * image_pixelsize (output); } } #define GRAY(p) (((p)[0]*169 + (p)[1]*256 + (p)[2]*87)/512) #define SQ(x) ((x)*(x)) /* * Directional filter, according to the algorithm described on p. 60 of: * _Algorithms_for_Graphics_and_Image_Processing_. Theo Pavlidis. * Computer Science Press, 1982. * For each pixel, detect the most prominent edge and apply a filter that * does not degrade that edge. */ void ImageDirectionalFilter (gpaint_image * input, gpaint_image * output) { int width = image_width (input); int height = image_height (input); unsigned char *p00, *p10, *p_0, *p11, *p__, *p01, *p0_, *p_1, *p1_; int g00, g10, g_0, g11, g__, g01, g0_, g_1, g1_; int v0, v45, v90, v135, vmin, theta; int x, y; unsigned char *op = image_pixels (output); /* * We don't process the border of the image tto avoid the hassle * of having do deal with boundary conditions. Hopefully no one * will notice. */ /* copy first row unchanged */ for (x = 0; x < width; x++) { p00 = ImagePixel (input, x, 0); *op++ = *p00++; *op++ = *p00++; *op++ = *p00++; op += image_pixelsize (output) - 3; } op += image_rowstride (output) - width * image_pixelsize (output); for (y = 1; y < height - 1; y++) { /* copy first column unchanged */ p00 = ImagePixel (input, 0, y); *op++ = *p00++; *op++ = *p00++; *op++ = *p00++; op += image_pixelsize (output) - 3; for (x = 1; x < width - 1; x++) { /* find values of pixel and all neighbours */ p00 = ImagePixel (input, x, y); p10 = ImagePixel (input, x + 1, y); p_0 = ImagePixel (input, x - 1, y); p11 = ImagePixel (input, x + 1, y + 1); p__ = ImagePixel (input, x - 1, y - 1); p01 = ImagePixel (input, x, y + 1); p0_ = ImagePixel (input, x, y - 1); p_1 = ImagePixel (input, x - 1, y + 1); p1_ = ImagePixel (input, x + 1, y - 1); /* get grayscale values */ g00 = GRAY (p00); g01 = GRAY (p01); g10 = GRAY (p10); g11 = GRAY (p11); g0_ = GRAY (p0_); g_0 = GRAY (p_0); g__ = GRAY (p__); g_1 = GRAY (p_1); g1_ = GRAY (p1_); /* estimate direction of edge, if any */ v0 = SQ (g00 - g10) + SQ (g00 - g_0); v45 = SQ (g00 - g11) + SQ (g00 - g__); v90 = SQ (g00 - g01) + SQ (g00 - g0_); v135 = SQ (g00 - g_1) + SQ (g00 - g1_); vmin = MIN (MIN (v0, v45), MIN (v90, v135)); theta = 0; if (vmin == v45) theta = 1; else if (vmin == v90) theta = 2; else if (vmin == v135) theta = 3; /* apply filtering according to direction of edge */ switch (theta) { case 0: /* 0 degrees */ *op++ = (*p_0++ + *p00++ + *p10++) / 3; *op++ = (*p_0++ + *p00++ + *p10++) / 3; *op++ = (*p_0++ + *p00++ + *p10++) / 3; op += image_pixelsize (output) - 3; break; case 1: /* 45 degrees */ *op++ = (*p__++ + *p00++ + *p11++) / 3; *op++ = (*p__++ + *p00++ + *p11++) / 3; *op++ = (*p__++ + *p00++ + *p11++) / 3; op += image_pixelsize (output) - 3; break; case 2: /* 90 degrees */ *op++ = (*p0_++ + *p00++ + *p01++) / 3; *op++ = (*p0_++ + *p00++ + *p01++) / 3; *op++ = (*p0_++ + *p00++ + *p01++) / 3; op += image_pixelsize (output) - 3; break; case 3: /* 135 degrees */ *op++ = (*p1_++ + *p00++ + *p_1++) / 3; *op++ = (*p1_++ + *p00++ + *p_1++) / 3; *op++ = (*p1_++ + *p00++ + *p_1++) / 3; op += image_pixelsize (output) - 3; break; } } /* copy last column unchanged */ p00 = ImagePixel (input, x, y); *op++ = *p00++; *op++ = *p00++; *op++ = *p00++; op += image_pixelsize (output) - 3; op += image_rowstride (output) - width * image_pixelsize (output); } /* copy last row unchanged */ for (x = 0; x < width; x++) { p00 = ImagePixel (input, x, y); *op++ = *p00++; *op++ = *p00++; *op++ = *p00++; op += image_pixelsize (output) - 3; } } #if 0 #define ISFOREGND(p) ((p) ? \ (deltaR-deltaRV <= p[0]) && (p[0] <= deltaR+deltaRV) && \ (deltaG-deltaGV <= p[1]) && (p[1] <= deltaG+deltaGV) && \ (deltaB-deltaBV <= p[2]) && (p[2] <= deltaB+deltaBV) : 1) /* * Thicken an image. */ void ImageThicken (gpaint_image * input, gpaint_image * output) { int width = image_width (input); int height = image_height (input); unsigned char *p00, *p10, *p_0, *p01, *p0_; int x, y, br, bg, bb; int deltaR, deltaRV, deltaG, deltaGV, deltaB, deltaBV; Image *output; unsigned char *op; op = image_pixels (output); /* Get RGB values of background colour */ br = ImgProcessInfo.background->red / 256; bg = ImgProcessInfo.background->green / 256; bb = ImgProcessInfo.background->blue / 256; for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { /* find values of pixel and all d-neighbours */ p00 = ImagePixel (input, x, y); p10 = x < width - 1 ? ImagePixel (input, x + 1, y) : NULL; p_0 = x > 0 ? ImagePixel (input, x - 1, y) : NULL; p01 = y < height - 1 ? ImagePixel (input, x, y + 1) : NULL; p0_ = y > 0 ? ImagePixel (input, x, y - 1) : NULL; if (ISFOREGND (p00)) { *op++ = *p00++; *op++ = *p00++; *op++ = *p00++; } else { *op++ = br; *op++ = bg; *op++ = bb; } op += image_pixelsize (output) - 3; } op += image_rowstride (output) - width * image_pixelsize (output); } } #endif gpaint-2-0.3.3/src/image_processing.h0000664000076400007640000000173410664360256014364 00000000000000/* $Id: image_processing.h,v 1.3 2004/03/13 03:49:19 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __IMAGE_PROCESSING_H__ #define __IMAGE_PROCESSING_H__ #include "image.h" typedef void (*ImageEffect)(gpaint_image*,gpaint_image*); ImageEffect image_lookup_effect(const gchar*); #endif gpaint-2-0.3.3/src/lasso.c0000664000076400007640000000717410664360255012165 00000000000000/* $Id: lasso.c,v 1.2 2004/03/13 03:29:27 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include "lasso.h" #include "selection.h" #include "debug.h" typedef struct _gpaint_lasso { gpaint_tool tool; gpaint_selection *selection; } gpaint_lasso; #define GPAINT_LASSO(tool) ((gpaint_lasso*)(tool)) static void lasso_destroy(gpaint_tool * tool); static void lasso_select(gpaint_tool * tool); static void lasso_deselect(gpaint_tool * tool); static void lasso_button_press(gpaint_tool * tool, int x, int y); static void lasso_motion(gpaint_tool * tool, int x, int y); static void lasso_button_release(gpaint_tool * tool, int x, int y); gpaint_tool * lasso_select_create(const char *name) { gpaint_lasso *lasso = g_new0(gpaint_lasso, 1); gpaint_tool *tool = GPAINT_TOOL(lasso); tool->name = name; tool->cursor = gdk_cursor_new(GDK_CROSSHAIR); tool->destroy = lasso_destroy; tool->select = lasso_select; tool->deselect = lasso_deselect; tool->button_press = lasso_button_press; tool->button_release = lasso_button_release; tool->motion = lasso_motion; return tool; } static void lasso_destroy(gpaint_tool *tool) { debug_fn(); gdk_cursor_destroy(tool->cursor); g_free(tool); } static void lasso_select(gpaint_tool *tool) { gpaint_lasso *lasso = GPAINT_LASSO(tool); lasso->selection = tool->canvas->selection; selection_enable_flash(lasso->selection); } static void lasso_deselect(gpaint_tool *tool) { gpaint_lasso *lasso = GPAINT_LASSO(tool); selection_disable_flash(lasso->selection); selection_remove_points(lasso->selection); } static void lasso_focus_change(gpaint_tool *tool) { gpaint_lasso *lasso = GPAINT_LASSO(tool); debug_fn(); if (tool->canvas->has_focus) { selection_enable_flash(lasso->selection); } else { selection_disable_flash(lasso->selection); } } static void lasso_button_press(gpaint_tool * tool, int x, int y) { gpaint_lasso *lasso = GPAINT_LASSO(tool); debug_fn(); if (drawing_in_bounds(tool->drawing, x, y)) { selection_remove_points(lasso->selection); selection_add_point(lasso->selection, x, y); } } static void lasso_motion(gpaint_tool * tool, int x, int y) { gpaint_lasso *lasso = GPAINT_LASSO(tool); debug_fn(); if (drawing_in_bounds(tool->drawing, x, y)) { selection_add_point(lasso->selection, x, y); selection_draw_flash(lasso->selection); } } static void lasso_button_release(gpaint_tool * tool, int x, int y) { gpaint_lasso *lasso = GPAINT_LASSO(tool); debug_fn(); if (drawing_in_bounds(tool->drawing, x, y)) { selection_add_point(lasso->selection, x, y); selection_close_loop(lasso->selection); selection_draw_flash(lasso->selection); } } gpaint-2-0.3.3/src/lasso.h0000664000076400007640000000175110664360256012166 00000000000000/* $Id: lasso.h,v 1.2 2004/03/13 03:30:01 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __LASSO_H__ #define __LASSO_H__ #include "canvas.h" gpaint_tool* lasso_select_create(const char *name); #endif gpaint-2-0.3.3/src/main.c0000664000076400007640000002236310671207750011763 00000000000000/* * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /* * Initial main.c file generated by Glade. Edit as required. * Glade will not overwrite this file. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include "global.h" #include "debug.h" #include "canvas.h" #include "tool_palette.h" #include "util.h" static GList *window_list = 0; static void create_window(void); #define WIDTH 740 #define HEIGHT 680 int main (int argc, char *argv[]) { debug_fn(); #ifdef ENABLE_NLS bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); #endif gtk_init(&argc, &argv); glade_init(); canvas_init_arg(argc, argv); create_window(); gtk_main(); debug("main() returning"); return 0; } static void main_window_ui_initial_adjustment(GtkWidget *main_window) { GtkWidget *widget; tool_palette_set_active_button(main_window, "pen_button"); /* make the pen tool the default initial tool so the user can draw right away */ #if (!defined(HAVE_GTK_PRINT) && !defined(HAVE_GNOME_PRINT)) /* disable print menus and buttons if no print support available*/ widget = lookup_widget(main_window, "print_button"); g_assert(widget); gtk_widget_set_sensitive(widget, FALSE); widget = lookup_widget(main_window, "print_menu"); g_assert(widget); gtk_widget_set_sensitive(widget, FALSE); widget = lookup_widget(main_window, "print_preview_menu"); if (widget) gtk_widget_set_sensitive(widget, FALSE); #endif } static void create_window(void) { GladeXML *glade_xml = glade_xml_new(GLADE_DATA_FILE, NULL, NULL); GtkWidget *main_window ; g_assert(glade_xml); glade_xml_signal_autoconnect(glade_xml); main_window = glade_xml_get_widget(glade_xml, "main_window"); debug_fn1("main_window = %p", main_window); g_object_set_data_full((gpointer) main_window, GLADE_XML, (gpointer) glade_xml, g_object_unref); gtk_window_set_default_size(GTK_WINDOW(main_window), WIDTH, HEIGHT); gtk_widget_show_all(main_window); main_window_ui_initial_adjustment(main_window); } void on_mainwindow_realize (GtkWidget *widget, gpointer user_data) { debug_fn1("widget = %p", widget); gtk_widget_ref(widget); window_list = g_list_prepend(window_list, (gpointer*)widget); } gboolean on_mainwindow_delete_event (GtkWidget *widget, GdkEvent *event, gpointer user_data) { gpaint_canvas *canvas; gboolean cancel_exit; /* The window is about to be destroyed. Give the user a * chance to save their changes before the program exits! */ debug_fn(); canvas = canvas_lookup(widget); canvas_commit_change(canvas); cancel_exit = drawing_prompt_to_save(canvas->drawing); debug1("cancel_exit is %d", cancel_exit); /* When this function returns FALSE, the delete-event signal * generates a destroy signal. */ return cancel_exit; } void on_mainwindow_destroy (GtkObject *object, gpointer user_data) { GtkWidget *widget = GTK_WIDGET(object); debug_fn(); window_list = g_list_remove(window_list, (gpointer)widget); gtk_widget_unref(widget); /* removed from list */ gtk_widget_destroy(widget); /* cleanup window and child objects */ if (!window_list) /* if window list is empty */ { debug("window list is empty, exiting application..."); gtk_main_quit(); } } gboolean on_mainwindow_focus_in_event (GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(widget); GtkWidget *drawing_area = GTK_WIDGET(canvas->drawing_area); debug_fn(); canvas_focus_gained(canvas); gtk_widget_grab_focus(drawing_area); gtk_widget_grab_default(drawing_area); return FALSE; } gboolean on_mainwindow_focus_out_event (GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(widget); debug_fn(); canvas_focus_lost(canvas); return FALSE; } void on_mainwindow_set_focus_child (GtkContainer *container, GtkWidget *widget, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(container)); GtkWidget *drawing_area = GTK_WIDGET(canvas->drawing_area); if (widget != drawing_area) { canvas_focus_lost(canvas); } } void on_mainwindow_set_focus (GtkWindow *window, GtkWidget *widget, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(window)); GtkWidget *drawing_area = GTK_WIDGET(canvas->drawing_area); if (widget != drawing_area) { canvas_focus_lost(canvas); } } /* todo: move to menu handlers to menu.c */ void on_create_new_window(GtkMenuItem *menuitem, gpointer user_data) { create_window(); } /* todo: move to menu handlers to menu.c */ void on_close_window_activate(GtkMenuItem *menuitem, gpointer user_data) { gpaint_canvas *canvas; GtkWidget *top_level_widget; gboolean cancel_exit; debug_fn(); /* Give the user a chance to save their changes before the program exits! */ canvas = canvas_lookup(GTK_WIDGET(menuitem)); top_level_widget = GTK_WIDGET(canvas->top_level); debug1("top_level_widget=%p", top_level_widget); canvas_commit_change(canvas); cancel_exit = drawing_prompt_to_save(canvas->drawing); debug1("cancel_exit is %d", cancel_exit); if (!cancel_exit) { gtk_widget_destroy(top_level_widget); } } /* todo: move to menu handlers to menu.c */ static gboolean main_prompt_to_quit(GtkWidget *widget) { gpaint_canvas *canvas = canvas_lookup(widget); GtkWidget *dialog; gint result; gboolean quit = FALSE; dialog = gtk_message_dialog_new( GTK_WINDOW(canvas->drawing->top_level), GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, "You have more than one window open.\nDo you really want to quit?"); gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_NO, GTK_RESPONSE_NO); gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_YES, GTK_RESPONSE_YES); result = gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(GTK_WIDGET(dialog)); while (gtk_events_pending()) { gtk_main_iteration(); } switch (result) { case GTK_RESPONSE_YES: quit = TRUE; break; case GTK_RESPONSE_NO: quit = FALSE; } return quit; } /* todo: move to menu handlers to menu.c */ void on_quit_menu_activate(GtkMenuItem *menuitem, gpointer user_data) { GList *list = NULL; GList *node = NULL; GtkWidget *widget = NULL; gpaint_canvas *canvas = NULL; debug_fn(); /* Make a local copy of the list so elements can be removed * from the window_list as windows are destroyed. */ list = g_list_copy(window_list); if (g_list_length(list)>1) { if (!main_prompt_to_quit(GTK_WIDGET(menuitem))) { return; } } node = g_list_first(list); debug1("first node => %p", node); while (node) { g_assert(node->data); widget = GTK_WIDGET(node->data); canvas = canvas_lookup(widget); canvas_commit_change(canvas); if (!drawing_prompt_to_save(canvas->drawing)) { gtk_widget_destroy(widget); } node = g_list_next(node); debug1("next node => %p", node); } } GtkWidget* create_new_canvas_window (void) { GladeXML *glade_xml = 0; GtkWidget *widget; if (glade_xml == 0) { glade_xml = glade_xml_new(GLADE_DATA_FILE, NULL, NULL); glade_xml_signal_autoconnect(glade_xml); } g_assert(glade_xml); widget = glade_xml_get_widget(glade_xml, "new_canvas_window"); g_object_set_data_full((gpointer) widget, GLADE_XML, (gpointer) glade_xml, g_object_unref); return widget; } gpaint-2-0.3.3/src/menu.c0000664000076400007640000003344510671062303011777 00000000000000/* $Id: menu.c,v 1.10 2005/01/27 02:54:21 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include "debug.h" #include "canvas.h" #include "image.h" #include "image_processing.h" #include "tool_palette.h" #include "menu.h" #include "print.h" #include "file.h" #include "text.h" #include /* * Save the image to a file. Show the file selection dialog if the * image is untitled. */ void on_save_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem)); gpaint_drawing *drawing = canvas->drawing; canvas_begin_busy_cursor(canvas); if (drawing->untitled) { file_save_as_dialog(canvas); } else { drawing_save(drawing); } canvas_end_busy_cursor(canvas); } /* * Same as the Save menu item. */ void on_save_button_clicked (GtkButton *button, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(button)); gpaint_drawing *drawing = canvas->drawing; canvas_begin_busy_cursor(canvas); if (drawing->untitled) { file_save_as_dialog(canvas); } else { drawing_save(drawing); } canvas_end_busy_cursor(canvas); } /* * Select a filename to save the image. */ void on_save_as_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem)); canvas_begin_busy_cursor(canvas); file_save_as_dialog(canvas); canvas_end_busy_cursor(canvas); } /* * Same as save as menu item. */ void on_save_as_button_clicked (GtkButton *button, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(button)); canvas_begin_busy_cursor(canvas); file_save_as_dialog(canvas); canvas_end_busy_cursor(canvas); } void on_new_file_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem)); /* Give the user a chance to save their work before we create * a new drawing! */ if (!drawing_prompt_to_save(canvas->drawing)) { file_new_dialog(canvas); } } void on_open_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem)); canvas_begin_busy_cursor(canvas); if (!drawing_prompt_to_save(canvas->drawing)) { file_open_dialog(canvas); } canvas_end_busy_cursor(canvas); } void on_open_button_clicked (GtkButton *button, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(button)); canvas_begin_busy_cursor(canvas); if (!drawing_prompt_to_save(canvas->drawing)) { file_open_dialog(canvas); } canvas_end_busy_cursor(canvas); } void on_cut_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem)); canvas_cut(canvas); } void on_copy_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem)); canvas_copy(canvas); } void on_paste_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { canvas_begin_paste_mode(canvas_lookup(GTK_WIDGET(menuitem))); } void on_clear_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem)); canvas_clear(canvas); } void on_select_all_activate (GtkMenuItem *menuitem, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem)); canvas_select_all(canvas); } static void on_print(GtkWidget *widget, gboolean preview) { gpaint_canvas *canvas = canvas_lookup(widget); gpaint_drawing *drawing = canvas->drawing; gpaint_image *image; debug_fn(); canvas_begin_busy_cursor(canvas); image = drawing_create_image(drawing); if (preview) { debug("starting do_print_preview()"); do_print_preview(image, drawing->filename->str); debug("done do_print_preview()"); } else { do_print(image, drawing->filename->str); } image_free(image); canvas_end_busy_cursor(canvas); } void on_print_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { on_print(GTK_WIDGET(menuitem), FALSE); } void on_print_button_clicked (GtkButton *button, gpointer user_data) { on_print(GTK_WIDGET(button), FALSE); } void on_print_preview_activate (GtkMenuItem *menuitem, gpointer user_data) { on_print(GTK_WIDGET(menuitem), TRUE); } void on_new_button_clicked (GtkButton *button, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(button)); /* Give the user a chance to save their work before we create * a new drawing! */ if (!drawing_prompt_to_save(canvas->drawing)) { file_new_dialog(canvas); } } /* * Create an X client side image from the backing pixmap and * pass it to the named image processing function, then * render the processed image. This function is called for each * image effect menu item. The name of the menu item widget * is used to select the image processing function. */ void on_image_effect_activate (GtkMenuItem *menuitem, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem)); const gchar *name = gtk_widget_get_name(GTK_WIDGET(menuitem)); gpaint_drawing *drawing = canvas->drawing; gpaint_image *input; gpaint_image *output; ImageEffect effect; effect = image_lookup_effect(name); g_assert(effect); input = drawing_create_image(drawing); output = image_new(drawing->width, drawing->height); (*effect)(input, output); image_draw_on_pixmap(output, &drawing->backing_pixmap, drawing->gc); drawing_modified(drawing); image_free(input); image_free(output); canvas_redraw(canvas); } void on_line_width_combo_combo_entry_changed(GtkEditable *editable, gpointer user_data) { char *tmp; int t; GdkGCValues gcvalues; gpaint_canvas *canvas; gpaint_drawing *drawing; int position = 0; debug_fn(); canvas = canvas_lookup(GTK_WIDGET(editable)); drawing = canvas->drawing; tmp = gtk_editable_get_chars(editable, 0, -1); g_assert(tmp); if (strlen(tmp) > 0) { sscanf(tmp, "%d", &t); g_free(tmp); if (t > 0) { gdk_gc_get_values(drawing->gc, &gcvalues); gdk_gc_set_line_attributes(drawing->gc, t, gcvalues.line_style, gcvalues.cap_style, gcvalues.join_style); /* force the line width entry widget to give up focus */ gtk_widget_grab_focus(GTK_WIDGET(canvas->drawing_area)); } else { gdk_gc_get_values(drawing->gc, &gcvalues); tmp = g_strdup_printf("%d", gcvalues.line_width); gtk_editable_delete_text(editable, 0, -1); gtk_editable_insert_text(editable, tmp, strlen(tmp), &position); gtk_editable_set_position(editable, -1); g_free(tmp); } } else { g_free(tmp); } } void on_fontpicker_realize (GtkWidget *widget, gpointer user_data) { } void on_fontpicker_font_set (GtkFontButton *fontpicker, gchar *arg1, gpointer user_data) { gpaint_tool *tool = tool_palette_get_tool(GTK_WIDGET(fontpicker), "text"); const gchar* name = gtk_font_button_get_font_name(fontpicker); debug1("font name = %s", name); if (tool && tool->attribute) { (*tool->attribute)(tool, GpaintFont, (gpointer*)name); } } void on_fontpicker_map (GtkWidget *widget, gpointer user_data) { } gboolean on_fontpicker_map_event (GtkWidget *widget, GdkEvent *event, gpointer user_data) { /* GtkWidget *window = widget_get_toplevel_parent(GTK_WIDGET(widget)); image_buf *ibuf = widget_get_image(widget); gtk_window_set_transient_for(GTK_WINDOW(window), GTK_WINDOW(ibuf->window)); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_modal (GTK_WINDOW(window), TRUE); */ return FALSE; } void on_font_button_clicked (GtkButton *button, gpointer user_data) { } void on_bold_button_clicked (GtkButton *button, gpointer user_data) { } void on_italic_button_clicked (GtkButton *button, gpointer user_data) { } void on_underline_button_clicked (GtkButton *button, gpointer user_data) { } void on_get_desktop_activate (GtkMenuItem *menuitem, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem)); /* Give the user a chance to save their work before we create * a new drawing! */ if (!drawing_prompt_to_save(canvas->drawing)) { gpaint_drawing *drawing = drawing_new_from_desktop(canvas->drawing_area, canvas->gc); if (drawing) { canvas_set_drawing(canvas, drawing); } } } void on_change_background_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem)); drawing_copy_to_desktop(canvas->drawing); } void on_set_as_background_centered_activate (GtkMenuItem *menuitem, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem)); drawing_copy_to_desktop(canvas->drawing); } void on_set_as_background_titled_activate (GtkMenuItem *menuitem, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem)); drawing_copy_to_desktop(canvas->drawing); } void on_flip_x_axis_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem)); gpaint_drawing *drawing = canvas->drawing; gpaint_image *image; canvas_focus_lost(canvas); image = drawing_create_image(drawing); image_flip_x(image); image_draw_on_pixmap(image, &drawing->backing_pixmap, drawing->gc); image_free(image); canvas_redraw(canvas); canvas_focus_gained(canvas); } void on_flip_y_axis_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem)); gpaint_drawing *drawing = canvas->drawing; gpaint_image *image; canvas_focus_lost(canvas); image = drawing_create_image(drawing); image_flip_y(image); image_draw_on_pixmap(image, &drawing->backing_pixmap, drawing->gc); image_free(image); canvas_redraw(canvas); canvas_focus_gained(canvas); } void on_rotate_menu_activate (GtkMenuItem *menuitem, gpointer user_data) { const gchar *name = gtk_widget_get_name(GTK_WIDGET(menuitem)); gpaint_canvas *canvas = canvas_lookup(GTK_WIDGET(menuitem)); char sign; int degrees; sscanf(name, "rotate_%c%d_menu", &sign, °rees); debug2("sign = %c degrees = %d", sign, degrees); if (sign=='n') { degrees *= -1; } canvas_focus_lost(canvas); drawing_rotate(canvas->drawing, degrees); canvas_resize(canvas); canvas_focus_gained(canvas); } gpaint-2-0.3.3/src/paste.c0000664000076400007640000003161510664360255012155 00000000000000/* $Id: paste.c,v 1.4 2005/01/27 02:50:09 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include "paste.h" #include "debug.h" #include "selection.h" #include #include typedef struct _gpaint_paste { gpaint_tool tool; gpaint_image *backup_image; gpaint_image *overlay_image; gpaint_point last_position; gint offset_x; gint offset_y; } gpaint_paste; #define GPAINT_PASTE(tool) ((gpaint_paste*)(tool)) static void paste_destroy(gpaint_tool * tool); static void paste_select(gpaint_tool * tool); static void paste_deselect(gpaint_tool * tool); static void paste_button_press(gpaint_tool * tool, int x, int y); static void paste_motion(gpaint_tool * tool, int x, int y); static void paste_button_release(gpaint_tool * tool, int x, int y); static void paste_key_release(gpaint_tool *tool, GdkEventKey *keyevent); static void paste_move_overlay(gpaint_paste *paste, int x, int y); static void paste_draw_overlay(gpaint_paste *paste, int x, int y); static void paste_erase_overlay(gpaint_paste *paste); gpaint_tool * paste_create(const char *name) { gpaint_paste *paste = g_new0(gpaint_paste, 1); gpaint_tool *tool = GPAINT_TOOL(paste); debug_fn(); tool->name = name; tool->cursor = gdk_cursor_new(GDK_X_CURSOR); tool->destroy = paste_destroy; tool->select = paste_select; tool->deselect = paste_deselect; tool->button_press = paste_button_press; tool->button_release = paste_button_release; tool->motion = paste_motion; tool->key_release = paste_key_release; return tool; } static void paste_destroy(gpaint_tool *tool) { debug_fn(); gdk_cursor_destroy(tool->cursor); g_free(tool); } static GdkAtom* paste_clipboard_wait_for_targets (gint *n_targets) { GtkClipboard *gtk_clipboard; gtk_clipboard = gtk_clipboard_get_for_display (gdk_display_get_default (), GDK_SELECTION_CLIPBOARD); if (gtk_clipboard) { GtkSelectionData *data; data = gtk_clipboard_wait_for_contents (gtk_clipboard, gdk_atom_intern ("TARGETS", FALSE)); if (data) { GdkAtom *targets; gboolean success; success = gtk_selection_data_get_targets (data, &targets, n_targets); gtk_selection_data_free (data); if (success) { gint i; for (i = 0; i < *n_targets; i++) g_print ("offered type: %s\n", gdk_atom_name (targets[i])); g_print ("\n"); return targets; } } } return NULL; } static GdkAtom paste_clipboard_wait_for_buffer (gpaint_canvas *canvas) { gpaint_clipboard *clipboard = canvas_clipboard(canvas); GdkAtom *targets; gint n_targets; GdkAtom result = GDK_NONE; targets = paste_clipboard_wait_for_targets (&n_targets); if (targets) { GSList *list; for (list = clipboard->pixbuf_formats; list; list = g_slist_next (list)) { GdkPixbufFormat *format = list->data; gchar **mime_types; gchar **type; g_print ("checking pixbuf format '%s'\n", gdk_pixbuf_format_get_name (format)); mime_types = gdk_pixbuf_format_get_mime_types (format); for (type = mime_types; *type; type++) { gchar *mime_type = *type; GdkAtom atom = gdk_atom_intern (mime_type, FALSE); gint i; g_print (" - checking mime type '%s'\n", mime_type); for (i = 0; i < n_targets; i++) { if (targets[i] == atom) { result = atom; break; } } if (result != GDK_NONE) break; } g_strfreev (mime_types); if (result != GDK_NONE) break; } g_free (targets); } return result; } GdkPixbuf* paste_selection_data_get_pixbuf (GtkSelectionData *selection) { GdkPixbufLoader *loader; GdkPixbuf *pixbuf = NULL; GError *error = NULL; g_return_val_if_fail (selection != NULL, NULL); if ((selection->format != 8) || (selection->length < 1)) { g_warning ("Received invalid image data!"); return NULL; } loader = gdk_pixbuf_loader_new (); if (gdk_pixbuf_loader_write (loader, selection->data, selection->length, &error) && gdk_pixbuf_loader_close (loader, &error)) { pixbuf = gdk_pixbuf_loader_get_pixbuf (loader); g_object_ref (pixbuf); } else { g_warning ("%s: %s", G_STRFUNC, error->message); g_error_free (error); } g_object_unref (loader); return pixbuf; } static void paste_select(gpaint_tool *tool) { gpaint_paste *paste = GPAINT_PASTE(tool); gpaint_canvas *canvas = tool->canvas; gpaint_drawing *drawing = tool->drawing; gpaint_clipboard *clipboard = canvas_clipboard(tool->canvas); GtkClipboard *gtk_clipboard; /* make a backup of the current drawing */ paste->backup_image = drawing_create_image(drawing); /* check for image data on real clipboard */ gtk_clipboard = gtk_clipboard_get_for_display (gdk_display_get_default(), GDK_SELECTION_CLIPBOARD); if (gtk_clipboard && gtk_clipboard_get_owner (gtk_clipboard) != G_OBJECT (canvas)) { GdkAtom atom = paste_clipboard_wait_for_buffer (canvas); if (atom != GDK_NONE) { GtkSelectionData *data; data = gtk_clipboard_wait_for_contents (gtk_clipboard, atom); if (data) { GdkPixbuf *pixbuf = paste_selection_data_get_pixbuf (data); gtk_selection_data_free (data); if (pixbuf) { gpaint_point_array *clipboard_points; int width, height; GdkPixbuf** pixbufp = &pixbuf; if (clipboard->image) { image_free(clipboard->image); } width = gdk_pixbuf_get_width (pixbuf); height = gdk_pixbuf_get_height (pixbuf); clipboard->image = image_new_copy ((gpaint_image*)pixbufp); /* define clipboard points */ point_array_remove_all (clipboard->points); point_array_append (clipboard->points, 0, 0); point_array_append (clipboard->points, width, 0); point_array_append (clipboard->points, width, height); point_array_append (clipboard->points, 0, height); point_array_append (clipboard->points, 0, 0); g_object_unref (pixbuf); } } } } /* check for invalid paste */ if (!point_array_size(clipboard->points)) return; /* make a copy of the current clipboad contents and selection points */ paste->overlay_image = image_new_copy(clipboard->image); selection_set_points(canvas->selection, clipboard->points); /* draw the overlay at the top left corner of the drawing */ paste_move_overlay(paste, 0, 0); } static void paste_deselect(gpaint_tool *tool) { gpaint_paste *paste = GPAINT_PASTE(tool); selection_remove_points(tool->canvas->selection); if (paste->overlay_image) { image_free(paste->overlay_image); } image_free(paste->backup_image); paste->offset_x = 0; paste->offset_y = 0; } static void paste_button_press(gpaint_tool *tool, int x, int y) { gpaint_paste *paste = GPAINT_PASTE(tool); GdkRectangle overlay; gpaint_point_array *points = selection_points(tool->canvas->selection); debug_fn(); /* End paste mode if the user clicks outside the * paste image rectangle */ point_array_bounding_rectangle(points, &overlay); if ( (x < overlay.x) || (overlay.x + overlay.width < x ) || (y < overlay.y) || (overlay.y + overlay.height < y)) { canvas_end_paste_mode(tool->canvas); } else { /* Capture the offset to the corner of the bounding rectangle * to drag the image into place. */ paste->offset_x = overlay.x - x; paste->offset_y = overlay.y - y; } } static void paste_motion(gpaint_tool * tool, int x, int y) { gpaint_paste *paste = GPAINT_PASTE(tool); debug_fn(); /* Drag the image to be pasted into place. */ paste_move_overlay(paste, x, y); } static void paste_button_release(gpaint_tool * tool, int x, int y) { gpaint_paste *paste = GPAINT_PASTE(tool); debug_fn(); paste_move_overlay(paste, x, y); } static void paste_key_release(gpaint_tool *tool, GdkEventKey *keyevent) { debug_fn(); switch (keyevent->keyval) { case GDK_Escape: canvas_end_paste_mode(tool->canvas); break; case GDK_Return: /* make what's in the pixmap into the rgb buffer */ // ?? image_buf_pixmap_to_rgbbuf(ibuf, 0); break; } } static void paste_move_overlay(gpaint_paste *paste, int x, int y) { gpaint_selection *selection = GPAINT_TOOL(paste)->canvas->selection; /* Position with respect to the paste image rectangle. */ x += paste->offset_x; y += paste->offset_y; selection_disable_flash(selection); paste_erase_overlay(paste); paste_draw_overlay(paste, x, y); selection_move(selection, x, y); selection_enable_flash(selection); set_point(&paste->last_position, x, y); } static void paste_erase_overlay(gpaint_paste *paste) { GdkRectangle overlay_rect; gpaint_drawing *drawing = GPAINT_TOOL(paste)->drawing; gpaint_canvas *canvas = GPAINT_TOOL(paste)->canvas; int x, y; if (!is_point_defined(&paste->last_position)) { return; } x = paste->last_position.x; y = paste->last_position.y; if (!paste->overlay_image) { gdk_beep(); return; } if (x < 0) { x = 0; } if (y < 0) { y = 0; } overlay_rect.x = x; overlay_rect.y = y; overlay_rect.width = image_width(paste->overlay_image); overlay_rect.height = image_height(paste->overlay_image); if (x + overlay_rect.width >= drawing->width) { overlay_rect.width = drawing->width - x; } if (y + overlay_rect.height >= drawing->height) { overlay_rect.height = drawing->height - y; } if ((drawing->width - x < 0) || (drawing->height - y < 0)) { return; } if ((x + overlay_rect.width < 0) || (y + overlay_rect.height < 0)) { return; } /* Restore the original image to erase the overlay. */ image_draw_region_on_pixmap( paste->backup_image, overlay_rect, &(drawing->backing_pixmap), drawing->gc); gtk_widget_queue_draw_area( GTK_WIDGET(canvas->drawing_area), overlay_rect.x, overlay_rect.y, overlay_rect.width, overlay_rect.height); } static void paste_draw_overlay(gpaint_paste *paste, int x, int y) { gpaint_drawing *drawing = GPAINT_TOOL(paste)->drawing; gpaint_canvas *canvas = GPAINT_TOOL(paste)->canvas; GdkRectangle rect; if (!paste->overlay_image) { gdk_beep(); return; } rect.x = x; rect.y = y; rect.width = image_width(paste->overlay_image); rect.height = image_height(paste->overlay_image); if (x + rect.width >= drawing->width) { rect.width = drawing->width - x; } if (y + rect.height >= drawing->height) { rect.height = drawing->height - y; } if ((drawing->width - x < 0) || (drawing->height - y < 0)) { return; } if ((x + rect.width < 0) || (y + rect.height < 0)) { return; } image_render(paste->overlay_image, drawing->backing_pixmap, 0, 0, rect); gtk_widget_queue_draw_area( GTK_WIDGET(canvas->drawing_area), rect.x, rect.y, rect.width, rect.height); gtk_widget_draw(GTK_WIDGET(canvas->drawing_area), &rect); drawing_modified(drawing); } gpaint-2-0.3.3/src/paste.h0000664000076400007640000000174210664360256012161 00000000000000/* $Id: paste.h,v 1.2 2004/03/13 03:30:48 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PASTE_H__ #define __PASTE_H__ #include "canvas.h" gpaint_tool* paste_create(const char *name); #endif gpaint-2-0.3.3/src/pen.c0000664000076400007640000000534210664360255011621 00000000000000/* $Id: pen.c,v 1.3 2004/12/25 04:41:58 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include "pen.h" #include "debug.h" typedef struct _gpaint_pen { gpaint_tool tool; int width; gpaint_point last; } gpaint_pen; #define GPAINT_PEN(tool) ((gpaint_pen*)(tool)) static void pen_destroy(gpaint_tool *tool); static void pen_select(gpaint_tool *tool); static void pen_deselect(gpaint_tool *tool); static void pen_draw_line(gpaint_tool* tool, int x, int y); static void pen_button_release(gpaint_tool *tool, int x, int y); /* * Create a new pen tool object. */ gpaint_tool *pen_create(const char *name) { gpaint_pen *pen = g_new0(gpaint_pen, 1); g_assert(pen); GPAINT_TOOL(pen)->name = name; GPAINT_TOOL(pen)->cursor = gdk_cursor_new(GDK_PENCIL); GPAINT_TOOL(pen)->destroy = pen_destroy; GPAINT_TOOL(pen)->select = pen_select; GPAINT_TOOL(pen)->deselect = pen_deselect; GPAINT_TOOL(pen)->button_press = pen_draw_line; GPAINT_TOOL(pen)->motion = pen_draw_line; GPAINT_TOOL(pen)->button_release = pen_button_release; pen->width = 1; return GPAINT_TOOL(pen); } static void pen_destroy(gpaint_tool *tool) { debug_fn(); gdk_cursor_destroy(tool->cursor); g_free(tool); } static void pen_select(gpaint_tool *tool) { debug_fn(); } static void pen_deselect(gpaint_tool *tool) { debug_fn(); clear_point(&(GPAINT_PEN(tool)->last)); } static void pen_draw_line(gpaint_tool* tool, int x, int y) { gpaint_pen *pen = GPAINT_PEN(tool); if (!pen->last.defined) { set_point(&pen->last, x, y); } gdk_draw_line(tool->drawing->backing_pixmap, tool->drawing->gc, pen->last.x, pen->last.y, x, y); gdk_draw_line(tool->drawing->window, tool->drawing->gc, pen->last.x, pen->last.y, x, y); drawing_modified(tool->drawing); set_point(&pen->last, x, y); } static void pen_button_release(gpaint_tool *tool, int x, int y) { clear_point(&(GPAINT_PEN(tool)->last)); } gpaint-2-0.3.3/src/pen.h0000664000076400007640000000156110664360256011626 00000000000000/* $Id: pen.h,v 1.2 2004/03/13 03:31:27 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PEN_H__ #define __PEN_H__ #include "canvas.h" gpaint_tool* pen_create(const char *name); #endif gpaint-2-0.3.3/src/pixmaps.c0000664000076400007640000000277510664360255012527 00000000000000/* $Id: pixmaps.c,v 1.4 2004/03/13 03:49:19 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include "../pixmaps/about_pict.xpm" #include "../pixmaps/arcOp.xpm" #include "../pixmaps/boxOp.xpm" #include "../pixmaps/brushOp.xpm" #include "../pixmaps/clineOp.xpm" #include "../pixmaps/curveOp.xpm" #include "../pixmaps/eraseOp.xpm" #include "../pixmaps/filled.xpm" #include "../pixmaps/fillOp.xpm" #include "../pixmaps/freehandOp.xpm" #include "../pixmaps/lassoOp.xpm" #include "../pixmaps/lineOp.xpm" #include "../pixmaps/ovalOp.xpm" #include "../pixmaps/pencilOp.xpm" #include "../pixmaps/selpolyOp.xpm" #include "../pixmaps/selrectOp.xpm" #include "../pixmaps/textOp.xpm" #include "../pixmaps/unfilled.xpm" gpaint-2-0.3.3/src/pixmaps.h0000664000076400007640000000300010664360256012513 00000000000000/* $Id: pixmaps.h,v 1.5 2004/03/13 03:49:19 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PIXMAPS_H__ #define __PIXMAPS_H__ extern const char *about_pict_xpm[]; extern const char *arcOp_xpm[]; extern const char *boxOp_xpm[]; extern const char *brushOp_xpm[]; extern const char *clineOp_xpm[]; extern const char *curveOp_xpm[]; extern const char *eraseOp_xpm[]; extern const char *filled_xpm[]; extern const char *fillOp_xpm[]; extern const char *freehandOp_xpm[]; extern const char *lassoOp_xpm[]; extern const char *lineOp_xpm[]; extern const char *ovalOp_xpm[]; extern const char *pencilOp_xpm[]; extern const char *selpolyOp_xpm[]; extern const char *selrectOp_xpm[]; extern const char *textOp_xpm[]; extern const char *unfilled_xpm[]; #endif gpaint-2-0.3.3/src/polyselect.c0000664000076400007640000001104010664360255013212 00000000000000/* $Id: polyselect.c,v 1.2 2004/03/13 03:31:45 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include "polyselect.h" #include "selection.h" #include "debug.h" typedef struct _gpaint_polygon_select { gpaint_tool tool; gpaint_point anchor; gpaint_point drag; gpaint_selection *selection; } gpaint_polygon_select; #define GPAINT_POLYGON_SELECT(tool) ((gpaint_polygon_select*)(tool)) static void polygon_select_destroy(gpaint_tool * tool); static void polygon_select_select(gpaint_tool * tool); static void polygon_select_deselect(gpaint_tool * tool); static void polygon_select_button_press(gpaint_tool * tool, int x, int y); static void polygon_select_motion(gpaint_tool * tool, int x, int y); static void polygon_select_button_release(gpaint_tool * tool, int x, int y); gpaint_tool * polygon_select_create(const char *name) { gpaint_polygon_select *polygon_select = g_new0(gpaint_polygon_select, 1); gpaint_tool *tool = GPAINT_TOOL(polygon_select); tool->name = name; tool->cursor = gdk_cursor_new(GDK_CROSSHAIR); tool->destroy = polygon_select_destroy; tool->select = polygon_select_select; tool->deselect = polygon_select_deselect; tool->button_press = polygon_select_button_press; tool->button_release = polygon_select_button_release; tool->motion = polygon_select_motion; return tool; } static void polygon_select_destroy(gpaint_tool *tool) { debug_fn(); gdk_cursor_destroy(tool->cursor); g_free(tool); } static void polygon_select_select(gpaint_tool *tool) { gpaint_polygon_select *polygon_select = GPAINT_POLYGON_SELECT(tool); polygon_select->selection = tool->canvas->selection; selection_enable_flash(polygon_select->selection); } static void polygon_select_deselect(gpaint_tool *tool) { gpaint_polygon_select *polygon_select = GPAINT_POLYGON_SELECT(tool); selection_remove_points(polygon_select->selection); } static void polygon_select_focus_change(gpaint_tool *tool) { gpaint_polygon_select *polygon_select = GPAINT_POLYGON_SELECT(tool); debug_fn(); if (tool->canvas->has_focus) { selection_enable_flash(polygon_select->selection); } else { selection_disable_flash(polygon_select->selection); } } static void polygon_select_button_press(gpaint_tool * tool, int x, int y) { gpaint_polygon_select *ps = GPAINT_POLYGON_SELECT(tool); debug_fn(); if (drawing_in_bounds(tool->drawing, x, y)) { if (selection_num_points(ps->selection)) { selection_change_last(ps->selection, x, y); } else { selection_add_point(ps->selection, x, y); } set_point(&ps->anchor, x, y); } } static void polygon_select_motion(gpaint_tool * tool, int x, int y) { gpaint_polygon_select *ps = GPAINT_POLYGON_SELECT(tool); debug_fn(); if (drawing_in_bounds(tool->drawing, x, y)) { if (is_point_defined(&ps->anchor)) { if (is_point_defined(&ps->drag)) { selection_change_last(ps->selection, x, y); selection_draw_flash(ps->selection); } set_point(&ps->drag, x, y); } } } static void polygon_select_button_release(gpaint_tool * tool, int x, int y) { gpaint_polygon_select *ps = GPAINT_POLYGON_SELECT(tool); debug_fn(); if (drawing_in_bounds(tool->drawing, x, y)) { if (is_point_defined(&ps->drag)) { selection_change_last(ps->selection, x, y); } else { selection_add_point(ps->selection, x, y); } selection_close_loop(ps->selection); selection_draw_flash(ps->selection); } } gpaint-2-0.3.3/src/polyselect.h0000664000076400007640000000177410664360256013235 00000000000000/* $Id: polyselect.h,v 1.2 2004/03/13 03:32:03 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __POLY_SELECT_H__ #define __POLY_SELECT_H__ #include "canvas.h" gpaint_tool* polygon_select_create(const char *name); #endif gpaint-2-0.3.3/src/rectselect.c0000664000076400007640000001143010664360255013167 00000000000000/* $Id: polyselect.c,v 1.2 2004/03/13 03:31:45 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 */ #ifdef HAVE_CONFIG_H # include #endif #include "rectselect.h" #include "selection.h" #include "debug.h" #define min(x,y) (x)<(y)?(x):(y) #define max(x,y) (x)<(y)?(y):(x) typedef struct _gpaint_rectangle_select { gpaint_tool tool; gpaint_point v1; gpaint_point v2; gpaint_selection *selection; } gpaint_rectangle_select; #define GPAINT_RECTANGLE_SELECT(tool) ((gpaint_rectangle_select*)(tool)) static void rectangle_select_destroy(gpaint_tool * tool); static void rectangle_select_select(gpaint_tool * tool); static void rectangle_select_deselect(gpaint_tool * tool); static void rectangle_select_button_press(gpaint_tool * tool, int x, int y); static void rectangle_select_motion(gpaint_tool * tool, int x, int y); static void rectangle_select_button_release(gpaint_tool * tool, int x, int y); static void select_rectangle(gpaint_selection *selection, gpaint_point *v1, gpaint_point *v2) { selection_remove_points(selection); selection_add_point(selection, min(v1->x, v2->x), min(v1->y, v2->y)); selection_add_point(selection, max(v1->x, v2->x), min(v1->y, v2->y)); selection_add_point(selection, max(v1->x, v2->x), max(v1->y, v2->y)); selection_add_point(selection, min(v1->x, v2->x), max(v1->y, v2->y)); selection_add_point(selection, min(v1->x, v2->x), min(v1->y, v2->y)); } gpaint_tool * rectangle_select_create(const char *name) { gpaint_rectangle_select *rectangle_select = g_new0(gpaint_rectangle_select, 1); gpaint_tool *tool = GPAINT_TOOL(rectangle_select); tool->name = name; tool->cursor = gdk_cursor_new(GDK_CROSSHAIR); tool->destroy = rectangle_select_destroy; tool->select = rectangle_select_select; tool->deselect = rectangle_select_deselect; tool->button_press = rectangle_select_button_press; tool->button_release = rectangle_select_button_release; tool->motion = rectangle_select_motion; return tool; } static void rectangle_select_destroy(gpaint_tool *tool) { debug_fn(); gdk_cursor_destroy(tool->cursor); g_free(tool); } static void rectangle_select_select(gpaint_tool *tool) { gpaint_rectangle_select *rectangle_select = GPAINT_RECTANGLE_SELECT(tool); rectangle_select->selection = tool->canvas->selection; selection_enable_flash(rectangle_select->selection); } static void rectangle_select_deselect(gpaint_tool *tool) { gpaint_rectangle_select *rectangle_select = GPAINT_RECTANGLE_SELECT(tool); selection_remove_points(rectangle_select->selection); } static void rectangle_select_focus_change(gpaint_tool *tool) { gpaint_rectangle_select *rectangle_select = GPAINT_RECTANGLE_SELECT(tool); debug_fn(); if (tool->canvas->has_focus) { selection_enable_flash(rectangle_select->selection); } else { selection_disable_flash(rectangle_select->selection); } } static void rectangle_select_button_press(gpaint_tool * tool, int x, int y) { gpaint_rectangle_select *rs = GPAINT_RECTANGLE_SELECT(tool); debug_fn(); if (drawing_in_bounds(tool->drawing, x, y)) { set_point(&rs->v1, x, y); set_point(&rs->v2, x, y); select_rectangle(rs->selection, &rs->v1, &rs->v2); } } static void rectangle_select_motion(gpaint_tool * tool, int x, int y) { gpaint_rectangle_select *rs = GPAINT_RECTANGLE_SELECT(tool); debug_fn(); if (drawing_in_bounds(tool->drawing, x, y)) { select_rectangle(rs->selection, &rs->v1, &rs->v2); selection_draw_flash(rs->selection); set_point(&rs->v2, x, y); } } static void rectangle_select_button_release(gpaint_tool * tool, int x, int y) { gpaint_rectangle_select *rs = GPAINT_RECTANGLE_SELECT(tool); debug_fn(); if (drawing_in_bounds(tool->drawing, x, y)) { set_point(&rs->v2, x, y); select_rectangle(rs->selection, &rs->v1, &rs->v2); } } gpaint-2-0.3.3/src/rectselect.h0000664000076400007640000000171210664360256013177 00000000000000/* $Id$ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __RECT_SELECT_H__ #define __RECT_SELECT_H__ #include "canvas.h" gpaint_tool* rectangle_select_create(const char *name); #endif gpaint-2-0.3.3/src/print.c0000664000076400007640000002004210671207535012164 00000000000000/* $Id: print.c,v 1.10 2004/12/29 02:44:02 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /* Based on testprint.c from gnome-print 0.25 */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include "print.h" #include #include #include "debug.h" #ifdef HAVE_GTK_PRINT static void begin_print(GtkPrintOperation *print, GtkPrintContext *context, gpointer data) { gtk_print_operation_set_n_pages(print, 1); } static void draw_page(GtkPrintOperation *print, GtkPrintContext *context, gint page, gpointer data) { gpaint_image *image = (gpaint_image*) data; gdouble pwidth, pheight; cairo_surface_t *src_img; cairo_t *cr; long size; int w, h, rowstride, pixelsize; unsigned char *buf ; g_assert(image); cr = gtk_print_context_get_cairo_context(context); pwidth = gtk_print_context_get_width(context); pheight = gtk_print_context_get_height(context); size = (h = image_height(image)) * image_rowstride(image); w = image_width(image); rowstride = image_rowstride(image); pixelsize = image_pixelsize(image); buf = malloc(sizeof(buf[0]) * size); memcpy(buf, image_pixels(image), size); { int x, y; unsigned char c, *t2 = buf, *t; for (y = 0; y < h; y++) { t = t2; for (x = 0; x < w; x++) { /* swap R and B; this may be little endian specific */ c = t[0]; t[0] = t[2]; t[2] = c; t += pixelsize; } t2 += rowstride; } } src_img = cairo_image_surface_create_for_data(buf, CAIRO_FORMAT_ARGB32, w, h, rowstride); cairo_set_source_surface(cr, src_img, 0, 0); cairo_paint(cr); cairo_surface_destroy(src_img); free(buf); } int do_print(gpaint_image * image, const gchar * name) { GtkWidget *main_window = NULL; GtkPrintOperation *print; static GtkPrintSettings *settings = NULL; GtkPrintOperationResult r; print = gtk_print_operation_new(); g_assert(print); g_signal_connect(print, "draw_page", G_CALLBACK(draw_page), (gpointer) image); g_signal_connect(print, "begin_print", G_CALLBACK(begin_print), (gpointer) image); if (settings) gtk_print_operation_set_print_settings(print, settings); gtk_print_operation_set_job_name(print, name); r = gtk_print_operation_run(print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, GTK_WINDOW(main_window), NULL); if (r == GTK_PRINT_OPERATION_RESULT_APPLY) { if (settings) g_object_unref(settings); settings = g_object_ref(gtk_print_operation_get_print_settings(print)); } g_object_unref(print); } int do_print_preview(gpaint_image * image, const gchar * name) { } #elif defined(HAVE_GNOME_PRINT) #include #include #include #include #include static int print_on_context(gpaint_image * image, const gchar * name, GnomePrintContext * pc); int do_print(gpaint_image * image, const gchar * name) { GnomePrintConfig *cfg = NULL; GnomePrintContext *ctx = NULL; GnomePrintJob *job = NULL; int copies = 1; int collate = 0; int do_preview = 0; int do_print = 0; int reply = 0; GnomePrintDialog *gpd = NULL; cfg = gnome_print_config_default(); job = gnome_print_job_new(cfg); gpd = GNOME_PRINT_DIALOG(gnome_print_dialog_new(job, "Print", 0)); gnome_print_dialog_set_copies(gpd, copies, collate); reply = gtk_dialog_run(GTK_DIALOG(gpd)); debug1("print dialog response is %d", reply); switch (reply) { case GNOME_PRINT_DIALOG_RESPONSE_PRINT: debug("print dialog response print"); do_preview = 0; do_print = 1; break; case GNOME_PRINT_DIALOG_RESPONSE_PREVIEW: debug("print dialog response preview"); do_preview = 1; break; case GNOME_PRINT_DIALOG_RESPONSE_CANCEL: debug("print dialog reponse cancel"); break; } gtk_widget_destroy(GTK_WIDGET(gpd)); /* transfer dialog data to output context */ ctx = gnome_print_job_get_context(job); print_on_context(image, name, ctx); gnome_print_job_close(job); if (do_preview) { GnomePrintJobPreview *pmp; pmp = GNOME_PRINT_JOB_PREVIEW(gnome_print_job_preview_new(job, "Print Preview")); g_signal_connect((gpointer)pmp, "destroy", G_CALLBACK(gtk_widget_destroy), (gpointer)pmp); gtk_window_set_modal(GTK_WINDOW(pmp), TRUE); gtk_widget_show(GTK_WIDGET(pmp)); } else if (do_print) { gnome_print_job_print(job); } // todo: unref objects? return 1; } int do_print_preview(gpaint_image * image, const gchar * name) { GnomePrintConfig *cfg = NULL; GnomePrintJob *job = NULL; GnomePrintJobPreview *pmp = NULL; GnomePrintContext *ctx = NULL; cfg = gnome_print_config_default(); job = gnome_print_job_new(cfg); /* transfer dialog data to output context */ ctx = gnome_print_job_get_context(job); print_on_context(image, name, ctx); gnome_print_job_close(job); pmp = GNOME_PRINT_JOB_PREVIEW(gnome_print_job_preview_new(job, "Print Preview")); g_signal_connect((gpointer)pmp, "destroy", G_CALLBACK(gtk_widget_destroy), (gpointer)pmp); gtk_window_set_modal(GTK_WINDOW(pmp), TRUE); // gtk_window_set_transient_for(GTK_WINDOW(?),GTK_WINDOW(?)); gtk_widget_show(GTK_WIDGET(pmp)); /* gtk_widget_set_default_colormap(gdk_rgb_get_cmap()); gtk_widget_set_default_visual(gdk_rgb_get_visual()); toplevel = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_widget_set_usize(toplevel, 700, 700); sw = gtk_scrolled_window_new(NULL, NULL); canvas = gnome_canvas_new_aa(); gtk_container_add(GTK_CONTAINER(toplevel), sw); gtk_container_add(GTK_CONTAINER(sw), canvas); cfg = gnome_print_config_default(); pc = gnome_print_preview_new( cfg, GNOME_CANVAS(canvas)); gtk_widget_show_all(toplevel); gtk_window_set_modal(GTK_WINDOW(toplevel), TRUE); print_on_context(image, name, pc); gnome_print_context_close(pc); gtk_main(); gtk_object_unref(GTK_OBJECT(pc)); */ return 1; } static int print_on_context(gpaint_image * image, const gchar * name, GnomePrintContext * pc) { double matrix[6] = { 1, 0, 0, 1, 0, 0 }; gnome_print_beginpage(pc, name); gnome_print_concat(pc, matrix); gnome_print_translate(pc, 0, 0); gnome_print_scale(pc, image_width(image), image_height(image)); gnome_print_rgbaimage(pc, image_pixels(image), image_width(image), image_height(image), image_rowstride(image)); gnome_print_showpage(pc); return 1; } #else int do_print(gpaint_image * image, const gchar * name) { g_warning("Printing feature is not available."); } int do_print_preview(gpaint_image * image, const gchar * name) { g_warning("Printing feature is not available."); } #endif gpaint-2-0.3.3/src/print.h0000664000076400007640000000170310664360256012176 00000000000000/* $Id: print.h,v 1.3 2004/03/13 03:49:19 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PRINT_H__ #define __PRINT_H__ #include "image.h" int do_print(gpaint_image *image, const gchar *name); int do_print_preview(gpaint_image *image, const gchar *name); #endif gpaint-2-0.3.3/src/selection.c0000664000076400007640000002145610664360255013030 00000000000000/* $Id: selection.c,v 1.3 2004/11/22 02:59:53 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #ifdef HAVE_STRING_H # include #endif #include "selection.h" #include "debug.h" #define FLASH_RATE 500 /* milliseconds */ static int selection_on_tick(gpaint_selection *s); struct _gpaint_point_array { GArray *array; }; gpaint_point_array * point_array_new() { gpaint_point_array *pa = g_new0(gpaint_point_array,1); pa->array = g_array_new(FALSE, FALSE, sizeof(GdkPoint)); return pa; } void point_array_delete(gpaint_point_array *pa) { g_array_free(pa->array, TRUE); g_free(pa); } int point_array_size(gpaint_point_array *pa) { return pa->array->len; } GdkPoint* point_array_data(gpaint_point_array *pa) { return (GdkPoint*)(pa->array->data); } void point_array_set(gpaint_point_array *pa, int index, int x, int y) { g_assert(index>=0 && indexarray->len); g_array_index(pa->array, GdkPoint, index).x = x; g_array_index(pa->array, GdkPoint, index).y = y; } void point_array_append(gpaint_point_array *pa, int x, int y) { GdkPoint point; point.x = x; point.y = y; g_array_append_val(pa->array, point); } void point_array_remove_all(gpaint_point_array *pa) { g_array_set_size(pa->array, 0); } void point_array_copy(gpaint_point_array *dst, gpaint_point_array *src) { g_array_set_size(dst->array, src->array->len); memcpy(dst->array->data, src->array->data, sizeof(GdkPoint) * dst->array->len); } void point_array_bounding_rectangle(gpaint_point_array *pa, GdkRectangle *rp) { int i; int x = INT_MAX, y = INT_MAX, x2 = INT_MIN, y2 = INT_MIN; GdkPoint* pts = point_array_data(pa); if (pa->array->len==0) { rp->x = 0; rp->y = 0; rp->width = 0; rp->height = 0; return; } for (i = 0; i < pa->array->len; i++) { if (x > pts[i].x) { x = pts[i].x; } if (y > pts[i].y) { y = pts[i].y; } if (x2 < pts[i].x) { x2 = pts[i].x; } if (y2 < pts[i].y) { y2 = pts[i].y; } } rp->x = x; rp->y = y; rp->width = x2 - x + 1; rp->height = y2 - y + 1; } /* ---------------------------------------------------------------------------- */ struct _gpaint_selection { gpaint_point_array *points; GtkDrawingArea *drawing_area_ref; GdkGC *gc; gboolean flash_enabled; gint flash_state; gint timer; }; gpaint_selection * selection_new(GtkDrawingArea *drawing_area) { GdkDrawable *d = GTK_WIDGET(drawing_area)->window; GdkColor black; GdkColor white; gpaint_selection *selection = (gpaint_selection*)g_new0(gpaint_selection, 1); selection->points = point_array_new(); selection->drawing_area_ref = drawing_area; selection->timer = gtk_timeout_add(FLASH_RATE, (GtkFunction)(selection_on_tick), selection); /* Create the gc from the drawing area window. */ selection->gc = gdk_gc_new(d); g_assert(selection->gc); gdk_color_black(gdk_colormap_get_system(), &black); gdk_color_white(gdk_colormap_get_system(), &white); gdk_gc_set_foreground(selection->gc, &black); gdk_gc_set_background(selection->gc, &white); gdk_gc_set_function(selection->gc, GDK_INVERT); gdk_gc_set_line_attributes(selection->gc, 1, GDK_LINE_ON_OFF_DASH, GDK_CAP_ROUND, GDK_JOIN_ROUND); return selection; } void selection_delete(gpaint_selection *s) { g_assert(s->timer); gtk_timeout_remove(s->timer); gdk_gc_unref(s->gc); s->timer = 0; selection_clear_flash(s); g_free(s); } void selection_size(gpaint_selection *selection, int width, int height) { GdkRectangle rect; rect.x = 0; rect.y = 0; rect.width = width; rect.height = height; gdk_gc_set_clip_origin(selection->gc, 0, 0); gdk_gc_set_clip_rectangle(selection->gc, &rect); } gpaint_point_array* selection_points(gpaint_selection *s) { return s->points; } GdkPoint* selection_data(gpaint_selection *s) { return point_array_data(s->points); } int selection_num_points(gpaint_selection *s) { return point_array_size(s->points); } void selection_enable_flash(gpaint_selection *selection) { selection->flash_enabled = TRUE; } void selection_disable_flash(gpaint_selection *selection) { selection_clear_flash(selection); selection->flash_enabled = FALSE; } void selection_set_rectangle(gpaint_selection *selection, GdkRectangle rect) { gboolean flash = selection->flash_enabled; if (flash) { selection_disable_flash(selection); } point_array_remove_all(selection->points); point_array_append(selection->points, rect.x, rect.y); point_array_append(selection->points, rect.x + rect.width, rect.y); point_array_append(selection->points, rect.x + rect.width, rect.y + rect.height); point_array_append(selection->points, rect.x, rect.y + rect.height); point_array_append(selection->points, rect.x, rect.y); if (flash) { selection_enable_flash(selection); } } void selection_set_points(gpaint_selection *selection, gpaint_point_array *points) { gboolean flash = selection->flash_enabled; if (flash) { selection_disable_flash(selection); } point_array_copy(selection->points, points); if (flash) { selection_enable_flash(selection); } } void selection_add_point(gpaint_selection *selection, int x, int y) { if (x < 0) { x = 0; } if (y < 0) { y = 0; } selection_clear_flash(selection); point_array_append(selection->points, x, y); } void selection_change_last(gpaint_selection *selection, int x, int y) { int size = point_array_size(selection->points); if (size) { int i = size - 1; selection_clear_flash(selection); point_array_set(selection->points, i, x, y); } } void selection_remove_points(gpaint_selection *selection) { selection_clear_flash(selection); point_array_remove_all(selection->points); } void selection_close_loop(gpaint_selection *selection) { if (point_array_size(selection->points)) { GdkPoint *p = point_array_data(selection->points); int x0 = p[0].x; int y0 = p[0].y; selection_add_point(selection, x0, y0); } } void selection_move(gpaint_selection *selection, int x, int y) { GdkRectangle rect; int dx, dy; int i; gboolean flashing = selection->flash_enabled; GdkPoint *point = point_array_data(selection->points); int num_points = point_array_size(selection->points); if (num_points) { if (flashing) { selection_disable_flash(selection); } point_array_bounding_rectangle(selection->points, &rect); dx = x - rect.x; dy = y - rect.y; for (i = 0; i < num_points; i++) { point[i].x += dx; point[i].y += dy; } if (flashing) { selection_enable_flash(selection); } } } static int selection_on_tick(gpaint_selection *selection) { if (selection->flash_enabled) { selection_draw_flash(selection); } return 1; } void selection_clear_flash(gpaint_selection *selection) { debug_fn(); while (selection->flash_state) { selection_draw_flash(selection); } } void selection_draw_flash(gpaint_selection *selection) { gchar dash_length[2] = {5, 5}; if (point_array_size(selection->points)) { gdk_gc_set_dashes(selection->gc, selection->flash_state / 2, dash_length, sizeof(dash_length)); gdk_draw_lines(GTK_WIDGET(selection->drawing_area_ref)->window, selection->gc, point_array_data(selection->points), point_array_size(selection->points)); selection->flash_state++; selection->flash_state %= 4; } } gpaint-2-0.3.3/src/selection.h0000664000076400007640000000616310664360256013034 00000000000000/* $Id: selection.h,v 1.2 2004/03/13 03:32:27 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __SELECTION_H__ #define __SELECTION_H__ #include typedef struct _gpaint_point_array gpaint_point_array; typedef struct _gpaint_selection gpaint_selection; typedef struct _gpaint_point gpaint_point; /* Simple point structure. Like a GdkPoint, but with an extra * field to signify if the point has been defined. */ struct _gpaint_point { gboolean defined; gint x; gint y; }; inline static void set_point(gpaint_point *p, gint x, gint y) { p->defined = TRUE; p->x = x; p->y = y; } inline static void clear_point(gpaint_point *p) { p->defined = FALSE; } inline static gboolean is_point_defined(gpaint_point *p) { return p->defined; } gpaint_point_array * point_array_new(); void point_array_delete(gpaint_point_array *pa); int point_array_size(gpaint_point_array *pa); GdkPoint* point_array_data(gpaint_point_array *pa); void point_array_set(gpaint_point_array *pa, int index, int x, int y); void point_array_append(gpaint_point_array *pa, int x, int y); void point_array_remove_all(gpaint_point_array *pa); void point_array_copy(gpaint_point_array *dst, gpaint_point_array *src); void point_array_bounding_rectangle(gpaint_point_array *pa, GdkRectangle *rp); gpaint_selection * selection_new(GtkDrawingArea *drawing_area); void selection_delete(gpaint_selection *selection); void selection_size(gpaint_selection *selection, int width, int height); gpaint_point_array* selection_points(gpaint_selection *selection); int selection_num_points(gpaint_selection *selection); GdkPoint* selection_data(gpaint_selection *selection); void selection_set_rectangle(gpaint_selection *selection, GdkRectangle rect); void selection_set_points(gpaint_selection *selection, gpaint_point_array *points); void selection_add_point(gpaint_selection *selection, int x, int y); void selection_change_last(gpaint_selection *selection, int x, int y); void selection_remove_points(gpaint_selection *selection); void selection_close_loop(gpaint_selection *selection); void selection_move(gpaint_selection *selection, int x, int y); void selection_clear_flash(gpaint_selection *selection); void selection_draw_flash(gpaint_selection *selection); void selection_enable_flash(gpaint_selection *selection); void selection_disable_flash(gpaint_selection *selection); #endif gpaint-2-0.3.3/src/shape.c0000664000076400007640000002530210664360255012135 00000000000000/* $Id: shape.c,v 1.3 2004/12/25 04:41:58 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include "shape.h" #include "debug.h" #include typedef struct _gpaint_shape { gpaint_tool base; GdkFunction normal_function; int width; gboolean banding; gpaint_point anchor; gpaint_point drag; gpaint_point release; gboolean fill; void (*draw)(struct _gpaint_shape*, gboolean); } gpaint_shape; #define GPAINT_SHAPE(tool) ((gpaint_shape*)(tool)) static gpaint_shape* shape_create(const char *name); static void shape_destroy(gpaint_tool *tool); static void shape_select(gpaint_tool *tool); static void shape_deselect(gpaint_tool *tool); static gboolean shape_attribute(gpaint_tool *tool, gpaint_attribute attribute, gpointer data); static void shape_button_press(gpaint_tool *tool, int x, int y); static void shape_motion(gpaint_tool *tool, int x, int y); static void shape_button_release(gpaint_tool *tool, int x, int y); static void multiline_button_press(gpaint_tool *tool, int x, int y); static void shape_start_banding(gpaint_shape* shape, int x, int y); static void shape_stop_banding(gpaint_shape* shape); static void draw_line(gpaint_shape* shape, gboolean fill); static void draw_rectangle(gpaint_shape* shape, gboolean fill); static void draw_oval(gpaint_shape *shape, gboolean fill); static void draw_arc(gpaint_shape *shape, gboolean fill); /* * Template to generate shape constructors. */ #define SHAPE_CREATE(TYPE) \ gpaint_tool* \ TYPE##_shape_create(const char *name) \ { \ gpaint_shape *shape = shape_create(name); \ shape->draw = draw_##TYPE; \ return (gpaint_tool*)shape; \ } SHAPE_CREATE(line); SHAPE_CREATE(rectangle); SHAPE_CREATE(oval); SHAPE_CREATE(arc); gpaint_tool* multiline_shape_create(const char *name) { gpaint_tool *tool = line_shape_create(name); tool->button_press = multiline_button_press; return tool; } /* * Create a shape tool object for drawing things like * rectangles and ovals that can support rubber-banding * (ie. can be stretched into shape by dragging the mouse). */ static gpaint_shape* shape_create(const char *name) { gpaint_shape *shape = g_new0(gpaint_shape, 1); g_assert(shape); GPAINT_TOOL(shape)->name = name; GPAINT_TOOL(shape)->cursor = gdk_cursor_new(GDK_CROSSHAIR); GPAINT_TOOL(shape)->destroy = shape_destroy; GPAINT_TOOL(shape)->select = shape_select; GPAINT_TOOL(shape)->deselect = shape_deselect; GPAINT_TOOL(shape)->attribute = shape_attribute; GPAINT_TOOL(shape)->button_press = shape_button_press; GPAINT_TOOL(shape)->button_release = shape_button_release; GPAINT_TOOL(shape)->motion = shape_motion; shape->width = 1; return shape; } /* * Destroy the shape tool object. */ static void shape_destroy(gpaint_tool *tool) { debug_fn(); gdk_cursor_destroy(tool->cursor); g_free(tool); } /* * The shape tool has been selected as the active tool. */ static void shape_select(gpaint_tool *tool) { GdkGCValues gcvalues; gdk_gc_get_values(tool->drawing->gc, &gcvalues); GPAINT_SHAPE(tool)->normal_function = gcvalues.function; } /* * The shape tool has been deselected. */ static void shape_deselect(gpaint_tool *tool) { gpaint_shape *shape = GPAINT_SHAPE(tool); gdk_gc_set_function(tool->drawing->gc, GPAINT_SHAPE(tool)->normal_function); clear_point(&shape->anchor); clear_point(&shape->drag); clear_point(&shape->release); } static gboolean shape_attribute(gpaint_tool *tool, gpaint_attribute attribute, gpointer data) { if (attribute==GpaintFillShape) { GPAINT_SHAPE(tool)->fill = *((gboolean*)data); return TRUE; } return FALSE; } /* * Start rubber-banding the shape on a mouse click. */ static void shape_button_press(gpaint_tool *tool, int x, int y) { GPAINT_SHAPE(tool)->drag.defined = FALSE; shape_start_banding(GPAINT_SHAPE(tool), x, y); } /* * Rubber-band the shape on mouse drag. */ static void shape_motion(gpaint_tool *tool, int x, int y) { gpaint_shape *shape = GPAINT_SHAPE(tool); if (!shape->anchor.defined) { shape_start_banding(shape, x, y); } if (shape->drag.defined) { (*shape->draw)(shape, FALSE); } set_point(&shape->drag, x ,y); (*shape->draw)(shape, FALSE); } /* * Draw the shape when the drag is done. */ static void shape_button_release(gpaint_tool *tool, int x, int y) { gpaint_shape *shape = GPAINT_SHAPE(tool); if (shape->anchor.defined) { if (shape->drag.defined) { (*shape->draw)(shape, FALSE); } shape_stop_banding(shape); set_point(&shape->drag, x ,y); (*shape->draw)(shape, shape->fill); } clear_point(&shape->anchor); clear_point(&shape->drag); set_point(&shape->release, x, y); } /* * Start a new segment. * TODO: Make the segment between the last release and this * click rubberband. This feature still works just like 0.2.2. */ static void multiline_button_press(gpaint_tool *tool, int x, int y) { gpaint_shape *shape = GPAINT_SHAPE(tool); if (shape->release.defined) { gdk_draw_line(tool->drawing->window, tool->drawing->gc, shape->release.x, shape->release.y, x, y); gdk_draw_line(tool->drawing->backing_pixmap, tool->drawing->gc, shape->release.x, shape->release.y, x, y); drawing_modified(tool->drawing); } shape_button_press(tool, x, y); } /* * Start rubberbanding the shape. */ static void shape_start_banding(gpaint_shape* shape, int x, int y) { set_point(&shape->anchor, x, y); gdk_gc_set_function(GPAINT_TOOL(shape)->drawing->gc, GDK_INVERT); shape->banding = TRUE; } /* * Stop rubberbanding the shape. */ static void shape_stop_banding(gpaint_shape* shape) { gdk_gc_set_function(GPAINT_TOOL(shape)->drawing->gc, shape->normal_function); shape->banding = FALSE; } /* * Draw a straight line. */ static void draw_line(gpaint_shape *shape, gboolean fill) { gdk_draw_line(GPAINT_TOOL(shape)->drawing->window, GPAINT_TOOL(shape)->drawing->gc, shape->anchor.x, shape->anchor.y, shape->drag.x, shape->drag.y ); if (!shape->banding) { gdk_draw_line(GPAINT_TOOL(shape)->drawing->backing_pixmap, GPAINT_TOOL(shape)->drawing->gc, shape->anchor.x, shape->anchor.y, shape->drag.x, shape->drag.y ); } drawing_modified(GPAINT_TOOL(shape)->drawing); } /* * Draw a rectangle. */ static void draw_rectangle(gpaint_shape *shape, gboolean filled) { GdkDrawable *d = GPAINT_TOOL(shape)->drawing->window; GdkGC *gc = GPAINT_TOOL(shape)->drawing->gc; gint x1 = shape->anchor.x; gint y1 = shape->anchor.y; gint x2 = shape->drag.x; gint y2 = shape->drag.y; int ox, w, oy, h; if (x1 > x2) { ox = x2; w = x1 - x2; } else { ox = x1; w = x2 - x1; } if (y1 > y2) { oy = y2; h = y1 - y2; } else { oy = y1; h = y2 - y1; } if (filled) { w++; h++; } gdk_draw_rectangle(d, gc, filled, ox, oy, w, h); if (!shape->banding) { gdk_draw_rectangle(GPAINT_TOOL(shape)->drawing->backing_pixmap, gc, filled, ox, oy, w, h); } drawing_modified(GPAINT_TOOL(shape)->drawing); } /* * Draw an ellipse. */ static void draw_oval(gpaint_shape *shape, gboolean filled) { GdkDrawable *d = GPAINT_TOOL(shape)->drawing->window; GdkGC *gc = GPAINT_TOOL(shape)->drawing->gc; gint x1 = shape->anchor.x; gint y1 = shape->anchor.y; gint x2 = shape->drag.x; gint y2 = shape->drag.y; int ox, w, oy, h; if (x1 > x2) { ox = x2; w = x1 - x2; } else { ox = x1; w = x2 - x1; } if (y1 > y2) { oy = y2; h = y1 - y2; } else { oy = y1; h = y2 - y1; } if (filled) { w++; h++; } gdk_draw_arc(d, gc, filled, ox, oy, w, h, 0, 360 * 64); if (!shape->banding) { gdk_draw_arc(GPAINT_TOOL(shape)->drawing->backing_pixmap, gc, filled, ox, oy, w, h, 0, 360 * 64); } drawing_modified(GPAINT_TOOL(shape)->drawing); } /* * Draw an arc. */ static void draw_arc(gpaint_shape *shape, gboolean filled) { GdkDrawable *d = GPAINT_TOOL(shape)->drawing->window; GdkGC *gc = GPAINT_TOOL(shape)->drawing->gc; gint x1 = shape->anchor.x; gint y1 = shape->anchor.y; gint x2 = shape->drag.x; gint y2 = shape->drag.y; int ox, w, oy, h; int angle1, angle2; if (x1 < x2) { w = (x2 - x1) * 2; if (y1 < y2) { h = (y2 - y1) * 2; ox = x2 - w; oy = y1; angle1 = 90; angle2 = -90; } else { ox = x1; h = (y1 - y2) * 2; oy = y2; angle1 = 180; angle2 = -90; } } else /* x1 > x2 */ { w = (x1 - x2) * 2; if (y1 < y2) { h = (y2 - y1) * 2; ox = x1 - w; oy = y2 - h; angle1 = 0; angle2 = -90; } else { h = (y1 - y2) * 2; oy = y1 - h; ox = x2; angle1 = -90; angle2 = -90; } } if (filled) { w++; h++; } gdk_draw_arc(d, gc, filled, ox, oy, w, h, angle1 * 64, angle2 * 64); if (!shape->banding) { gdk_draw_arc(GPAINT_TOOL(shape)->drawing->backing_pixmap, gc, filled, ox, oy, w, h, angle1 * 64, angle2 * 64); } drawing_modified(GPAINT_TOOL(shape)->drawing); } gpaint-2-0.3.3/src/shape.h0000664000076400007640000000225110664360256012141 00000000000000/* $Id: shape.h,v 1.2 2004/03/13 03:32:53 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __SHAPE_H__ #define __SPAPE_H__ #include "canvas.h" gpaint_tool* line_shape_create(const char *name); gpaint_tool* rectangle_shape_create(const char *name); gpaint_tool* oval_shape_create(const char *name); gpaint_tool* arc_shape_create(const char *name); gpaint_tool* multiline_shape_create(const char *name); #endif gpaint-2-0.3.3/src/util.c0000664000076400007640000001443010667467517012026 00000000000000/* * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #include #include "util.h" #include "debug.h" #include "global.h" GtkWidget* lookup_widget (GtkWidget *widget, const gchar *widget_name) { GtkWidget *parent, *scrolledwindow; GladeXML *glade_xml; int is_drawing_area = 0; if (!strcmp(widget_name, DRAWING_AREA)) is_drawing_area = 1; for (;;) { if (GTK_IS_MENU (widget)) parent = gtk_menu_get_attach_widget (GTK_MENU (widget)); else parent = widget->parent; if (!parent) parent = (GtkWidget*) g_object_get_data (G_OBJECT (widget), "GladeParentKey"); if (parent == NULL) break; widget = parent; } glade_xml = (GladeXML*) g_object_get_data (G_OBJECT (widget), GLADE_XML); if (!glade_xml) { g_warning ("XML object not found: %s", widget_name); return NULL; } if (is_drawing_area) { scrolledwindow = glade_xml_get_widget(glade_xml, "scroll_frame"); g_assert(scrolledwindow); return (GtkWidget*) g_object_get_data(G_OBJECT(scrolledwindow), DRAWING_AREA); } return glade_xml_get_widget(glade_xml, widget_name); } static GList *pixmaps_directories = NULL; /* Use this function to set the directory containing installed pixmaps. */ void add_pixmap_directory (const gchar *directory) { pixmaps_directories = g_list_prepend (pixmaps_directories, g_strdup (directory)); } /* This is an internally used function to find pixmap files. */ static gchar* find_pixmap_file (const gchar *filename) { GList *elem; /* We step through each of the pixmaps directory to find it. */ elem = pixmaps_directories; while (elem) { gchar *pathname = g_strdup_printf ("%s%s%s", (gchar*)elem->data, G_DIR_SEPARATOR_S, filename); if (g_file_test (pathname, G_FILE_TEST_EXISTS)) return pathname; g_free (pathname); elem = elem->next; } return NULL; } /* This is an internally used function to create pixmaps. */ GtkWidget* create_pixmap (GtkWidget *widget, const gchar *filename) { gchar *pathname = NULL; GtkWidget *pixmap; if (!filename || !filename[0]) return gtk_image_new (); pathname = find_pixmap_file (filename); if (!pathname) { g_warning (_("Couldn't find pixmap file: %s"), filename); return gtk_image_new (); } pixmap = gtk_image_new_from_file (pathname); g_free (pathname); return pixmap; } /* This is an internally used function to create pixmaps. */ GdkPixbuf* create_pixbuf (const gchar *filename) { gchar *pathname = NULL; GdkPixbuf *pixbuf; GError *error = NULL; if (!filename || !filename[0]) return NULL; pathname = find_pixmap_file (filename); if (!pathname) { g_warning (_("Couldn't find pixmap file: %s"), filename); return NULL; } pixbuf = gdk_pixbuf_new_from_file (pathname, &error); if (!pixbuf) { fprintf (stderr, "Failed to load pixbuf file: %s: %s\n", pathname, error->message); g_error_free (error); } g_free (pathname); return pixbuf; } /* This is used to set ATK action descriptions. */ void glade_set_atk_action_description (AtkAction *action, const gchar *action_name, const gchar *description) { gint n_actions, i; n_actions = atk_action_get_n_actions (action); for (i = 0; i < n_actions; i++) { if (!strcmp (atk_action_get_name (action, i), action_name)) atk_action_set_description (action, i, description); } } inline void invalidate_window(GdkWindow *win) { GdkRectangle wreckt; wreckt.x = 0; wreckt.y = 0; if(win) { debug("Invalidating window\n"); gdk_drawable_get_size (GDK_DRAWABLE (win), &wreckt.width, &wreckt.height); gdk_window_invalidate_rect(win, &wreckt, FALSE); gdk_window_process_all_updates(); } } /* * Convert an 8 bit color [0,255] to a 16 bit color [0,65538]. */ guint16 color16(guint8 color) { return ((guint16)color * (guint16)MAX_8_BIT_COLOR) + (guint16)color; } /* * convert a GdkColor to its red, blue, green values */ #define SHIFT_COLOR(NAME) \ (color->pixel & visual->NAME##_mask) >> \ visual->NAME##_shift << \ (sizeof(unsigned char) * 8 - visual->NAME##_prec); void convert_color(const GdkColor *color, unsigned char *r, unsigned char *g, unsigned char *b) { GdkColormap *cmap = gdk_rgb_get_cmap(); GdkVisual *visual = gdk_rgb_get_visual(); GdkColor *c; switch(visual->type) { case GDK_VISUAL_STATIC_COLOR: case GDK_VISUAL_PSEUDO_COLOR: c = cmap->colors + color->pixel; *r = c->red >> 8; *g = c->green >> 8; *b = c->blue >> 8; break; case GDK_VISUAL_TRUE_COLOR: case GDK_VISUAL_DIRECT_COLOR: *r = SHIFT_COLOR(red); *g = SHIFT_COLOR(green); *b = SHIFT_COLOR(blue); break; default: g_assert_not_reached(); break; } } gpaint-2-0.3.3/src/util.h0000664000076400007640000000571210667455660012032 00000000000000/* * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include /* * Standard gettext macros. */ #ifdef ENABLE_NLS # include # undef _ # define _(String) dgettext (PACKAGE, String) # define Q_(String) g_strip_context ((String), gettext (String)) # ifdef gettext_noop # define N_(String) gettext_noop (String) # else # define N_(String) (String) # endif #else # define textdomain(String) (String) # define gettext(String) (String) # define dgettext(Domain,Message) (Message) # define dcgettext(Domain,Message,Type) (Message) # define bindtextdomain(Domain,Directory) (Domain) # define _(String) (String) # define Q_(String) g_strip_context ((String), (String)) # define N_(String) (String) #endif static const guint8 MAX_8_BIT_COLOR = 0xFF; static const guint16 MAX_16_BIT_COLOR = 0xFFFF; /* * Public Functions. */ /* * This function returns a widget in a component created by Glade. * Call it with the toplevel widget in the component (i.e. a window/dialog), * or alternatively any widget in the component, and the name of the widget * you want returned. */ GtkWidget* lookup_widget (GtkWidget *widget, const gchar *widget_name); /* Use this function to set the directory containing installed pixmaps. */ void add_pixmap_directory (const gchar *directory); /* * Private Functions. */ /* This is used to create the pixmaps used in the interface. */ GtkWidget* create_pixmap (GtkWidget *widget, const gchar *filename); /* This is used to create the pixbufs used in the interface. */ GdkPixbuf* create_pixbuf (const gchar *filename); /* This is used to set ATK action descriptions. */ void glade_set_atk_action_description (AtkAction *action, const gchar *action_name, const gchar *description); /* * Convert an 8 bit color [0,255] to a 16 bit color [0,65538]. */ guint16 color16(guint8 color); /* * convert a GdkColor to its red, blue, green values */ void convert_color(const GdkColor *color, unsigned char *r, unsigned char *g, unsigned char *b); gpaint-2-0.3.3/src/text.c0000664000076400007640000003460610667455660012040 00000000000000/* $Id: text.c,v 1.4 2005/01/27 02:53:01 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 */ #ifdef HAVE_CONFIG_H # include #endif #include #ifdef HAVE_STRING_H # include #endif #include #include #include #include #include "text.h" #include "debug.h" #define TEXT_CURSOR_WIDTH 2 #define TEXT_CURSOR_BLINK_RATE 500 typedef struct _gpaint_text { gpaint_tool tool; gpaint_point location; gint timer; gint flash_state; GString *textbuf; int max_width; int max_height; } gpaint_text; #define GPAINT_TEXT(tool) ((gpaint_text*)(tool)) static void text_destroy(gpaint_tool *tool); static void text_select(gpaint_tool *tool); static void text_deselect(gpaint_tool *tool); static gboolean text_attribute(gpaint_tool* tool, gpaint_attribute attrib, gpointer data); static void text_button_press(gpaint_tool *tool, int x, int y); static void text_button_release(gpaint_tool *tool, int x, int y); static void text_key_release(gpaint_tool *tool, GdkEventKey *key); static void text_focus_change(gpaint_tool *tool, gpaint_change change, gpointer data); static void text_commit_change(gpaint_tool *); static void text_clear_cursor(gpaint_text *text); static void text_draw_cursor(gpaint_text *text); static void text_draw_string(gpaint_text *text); static gint text_handle_timeout(gpaint_text *text); static void text_draw_current_string(gpaint_tool *tool); gpaint_tool *text_create(const char *name) { gpaint_text *text = g_new0(gpaint_text, 1); g_assert(text); GPAINT_TOOL(text)->name = name; GPAINT_TOOL(text)->cursor = gdk_cursor_new(GDK_XTERM); GPAINT_TOOL(text)->destroy = text_destroy; GPAINT_TOOL(text)->select = text_select; GPAINT_TOOL(text)->deselect = text_deselect; GPAINT_TOOL(text)->attribute = text_attribute; GPAINT_TOOL(text)->button_press = text_button_press; GPAINT_TOOL(text)->button_release = text_button_release; GPAINT_TOOL(text)->key_release = text_key_release; GPAINT_TOOL(text)->change = text_focus_change; GPAINT_TOOL(text)->current_draw = text_draw_current_string; GPAINT_TOOL(text)->commit_change = text_commit_change; text->textbuf = g_string_new(0); return GPAINT_TOOL(text); } static void text_destroy(gpaint_tool *tool) { gpaint_text *text = GPAINT_TEXT(tool); debug_fn(); gdk_cursor_destroy(tool->cursor); g_string_free(text->textbuf, TRUE); if (text->timer) gtk_timeout_remove(text->timer); g_free(tool); } static void text_select(gpaint_tool *tool) { gpaint_text *text = GPAINT_TEXT(tool); debug_fn(); g_string_printf(text->textbuf, ""); text->timer = g_timeout_add(TEXT_CURSOR_BLINK_RATE, (GtkFunction)(text_handle_timeout), text); } static void text_clear(gpaint_text *text) { clear_point(&(text->location)); text->max_width = text->max_height = 0; g_string_printf(text->textbuf, ""); } static void text_deselect(gpaint_tool *tool) { gpaint_text *text = GPAINT_TEXT(tool); debug_fn(); g_assert(text->timer); gtk_timeout_remove(text->timer); text->timer = 0; text_clear_cursor(text); if (is_point_defined(&text->location) && g_utf8_strlen(text->textbuf->str, -1)) { text_draw_string(text); } text_clear(text); } static gboolean text_attribute(gpaint_tool* tool, gpaint_attribute attrib, gpointer data) { debug_fn(); GtkStyle *style; GtkWidget *widget = GTK_WIDGET(tool->canvas->drawing_area); style = gtk_widget_get_style(widget); g_assert(style); if (attrib == GpaintFont) { gpaint_text *text = GPAINT_TEXT(tool); gtk_widget_modify_font(widget, pango_font_description_from_string((char*) data)); return TRUE; } return FALSE; } static void text_focus_change(gpaint_tool *tool, gpaint_change change, gpointer data) { debug_fn(); if (change==GpaintFocusIn || change==GpaintFocusOut) { text_clear_cursor(GPAINT_TEXT(tool)); } } static void text_button_press(gpaint_tool *tool, int x, int y) { gpaint_text *text = GPAINT_TEXT(tool); if (is_point_defined(&text->location)) { if (g_utf8_strlen(text->textbuf->str, -1)) { text_draw_string(text); } text_clear_cursor(text); text_clear(text); } } static void text_button_release(gpaint_tool *tool, int x, int y) { gpaint_text *text = GPAINT_TEXT(tool); GtkWidget *widget = GTK_WIDGET(tool->canvas->drawing_area); gtk_widget_grab_focus(widget); gtk_widget_grab_default(widget); set_point(&text->location, x, y); } static void set_layout_foreground_color(PangoLayout *, GdkColor *color); static void text_key_release(gpaint_tool *tool, GdkEventKey *keyevent) { gpaint_text *text = GPAINT_TEXT(tool); gpaint_drawing *drawing = tool->drawing; PangoLayout *layout = 0; GtkStyle *style; GdkGCValues gcvalues; int length; char *tmp = 0; int width, height; text_clear_cursor(text); gdk_gc_get_values(drawing->gc, &gcvalues); tmp = strdup(text->textbuf->str); length = g_utf8_strlen(text->textbuf->str, -1); if ((keyevent->keyval == GDK_BackSpace) || (keyevent->keyval == GDK_Delete)) { if (length) { g_string_set_size(text->textbuf, length - 1);/* not UTF8 safe */ } } else if (keyevent->string) { g_string_append(text->textbuf, keyevent->string); } else if ((keyevent->keyval >= GDK_space) && (keyevent->keyval < GDK_Shift_L)) { /* FIXME: buffer overflow */ g_string_printf(text->textbuf, "%s%c", tmp, keyevent->keyval); } if (keyevent->keyval == GDK_Escape) { g_string_printf(text->textbuf, ""); } layout = gtk_widget_create_pango_layout(GTK_WIDGET(tool->canvas->drawing_area), tmp); style = gtk_widget_get_style(GTK_WIDGET(tool->canvas->drawing_area)); pango_layout_get_pixel_size(layout, &width, &height); if (text->max_width < width) text->max_width = width; if (text->max_height < height) text->max_height = height; if (tmp && g_utf8_strlen(tmp, -1)) { gdk_draw_pixmap(drawing->window, drawing->gc, drawing->backing_pixmap, text->location.x, text->location.y, text->location.x, text->location.y, text->max_width, text->max_height); } pango_layout_set_text(layout, text->textbuf->str, -1); pango_layout_get_pixel_size(layout, &width, &height); if (text->max_width < width) text->max_width = width; if (text->max_height < height) text->max_height = height; { gdk_draw_pixmap(drawing->window, drawing->gc, drawing->backing_pixmap, text->location.x, text->location.y, text->location.x, text->location.y, text->max_width, text->max_height); set_layout_foreground_color(layout, &(gcvalues.foreground)); gtk_paint_layout(style, drawing->window, GTK_STATE_NORMAL, TRUE, NULL, GTK_WIDGET(tool->canvas->drawing_area), NULL, text->location.x, text->location.y, layout); } if (keyevent->keyval == GDK_Return) { g_string_append(text->textbuf, "\n"); } else if (keyevent->keyval == GDK_Escape) { text_clear(text); } free(tmp); g_object_unref(layout); } static void text_draw_current_string(gpaint_tool *tool) { gpaint_text *text = GPAINT_TEXT(tool); GdkGCValues gcvalues; if (text && is_point_defined(&text->location)) { gpaint_drawing *drawing = tool->drawing; gdk_gc_get_values(drawing->gc, &gcvalues); PangoLayout *layout = gtk_widget_create_pango_layout(GTK_WIDGET(tool->canvas->drawing_area), text->textbuf->str); GtkStyle * style = gtk_widget_get_style(GTK_WIDGET(tool->canvas->drawing_area)); set_layout_foreground_color(layout, &(gcvalues.foreground)); gtk_paint_layout(style, drawing->window, GTK_STATE_NORMAL, TRUE, NULL, GTK_WIDGET(tool->canvas->drawing_area), NULL, text->location.x, text->location.y, layout); g_object_unref(layout); } } static void text_draw_string(gpaint_text *text) /* draw string permanently */ { gpaint_tool *tool = GPAINT_TOOL(text); gpaint_drawing *drawing = tool->drawing; GdkGCValues gcvalues; PangoLayout *layout = gtk_widget_create_pango_layout(GTK_WIDGET(tool->canvas->drawing_area), text->textbuf->str); GtkStyle * style = gtk_widget_get_style(GTK_WIDGET(tool->canvas->drawing_area)); gdk_gc_get_values(drawing->gc, &gcvalues); set_layout_foreground_color(layout, &(gcvalues.foreground)); gtk_paint_layout(style, drawing->backing_pixmap, GTK_STATE_NORMAL, TRUE, NULL, GTK_WIDGET(tool->canvas->drawing_area), NULL, text->location.x, text->location.y, layout); drawing_modified(drawing); g_object_unref(layout); } static void text_commit_change(gpaint_tool * tool) { gpaint_text *text = GPAINT_TEXT(tool); if (text && is_point_defined(&text->location)) { text_draw_string(text); text_clear(text); } } static gint text_handle_timeout(gpaint_text *text) { if (text == 0) return 0; if (GPAINT_TOOL(text)->canvas->has_focus) { //debug("tick"); text_draw_cursor(text); } else { text_clear_cursor(text); } return 1; } static void text_clear_cursor(gpaint_text *text) { // debug_fn(); // debug1("text->flash_state=%d", text->flash_state); (text->flash_state) = 0; { debug("calling text_draw_cursor()"); text_draw_cursor(text); debug1("after text_draw_cursor() text->flash_state=%d", text->flash_state); } } static void text_draw_cursor(gpaint_text *text) { gpaint_tool *tool = GPAINT_TOOL(text); gpaint_drawing *drawing = tool->drawing; GdkColor white; GdkGCValues gcvalues; PangoLayout *layout = 0; PangoRectangle rect, rect2; GtkStyle * style = gtk_widget_get_style(GTK_WIDGET(tool->canvas->drawing_area)); gdk_gc_get_values(drawing->gc, &gcvalues); layout = gtk_widget_create_pango_layout(GTK_WIDGET(tool->canvas->drawing_area), text->textbuf->str); if (is_point_defined(&text->location)) { pango_layout_get_pixel_size(layout, &(rect.width), &(rect.height)); if (text->max_width < rect.width) text->max_width = rect.width; if (text->max_height < rect.height) text->max_height = rect.height; pango_layout_index_to_pos(layout, g_utf8_strlen(text->textbuf->str, -1), &rect); rect.x = PANGO_PIXELS(rect.x); rect.y = PANGO_PIXELS(rect.y); rect.width = PANGO_PIXELS(rect.width); rect.height = PANGO_PIXELS(rect.height); gdk_draw_pixmap(drawing->window, drawing->gc, drawing->backing_pixmap, text->location.x + rect.x , text->location.y + rect.y, text->location.x + rect.x , text->location.y + rect.y, TEXT_CURSOR_WIDTH + 2, rect.height + 2); gdk_color_white(gdk_rgb_get_cmap(), &white); gdk_gc_set_foreground(drawing->gc, &white); gdk_gc_set_function(drawing->gc, GDK_INVERT); gdk_gc_set_line_attributes(drawing->gc, TEXT_CURSOR_WIDTH / 2, GDK_LINE_SOLID, GDK_CAP_PROJECTING, GDK_JOIN_ROUND); if (text->flash_state != 0) gdk_draw_line(drawing->window, drawing->gc, text->location.x + rect.x + TEXT_CURSOR_WIDTH / 2, text->location.y + rect.y, text->location.x + rect.x + TEXT_CURSOR_WIDTH / 2, text->location.y + rect.y + rect.height - 1); gdk_gc_set_function(drawing->gc, gcvalues.function); gdk_gc_set_line_attributes(drawing->gc, gcvalues.line_width, gcvalues.line_style, gcvalues.cap_style, gcvalues.join_style); gdk_gc_set_foreground(drawing->gc, &(gcvalues.foreground)); text->flash_state = !(text->flash_state); } g_object_unref(layout); } static void set_layout_foreground_color(PangoLayout *layout, GdkColor *foreground) { PangoAttrList *attrs = pango_layout_get_attributes(layout); PangoAttrColor *color_attr; const char *text = pango_layout_get_text(layout); unsigned char red, blue, green; if (g_utf8_strlen(text, -1) == 0) return; convert_color(foreground, &red, &green, &blue); color_attr = (PangoAttrColor*) pango_attr_foreground_new(color16(red), color16(green), color16(blue)); if (attrs == 0) attrs = pango_attr_list_new(); else pango_attr_list_ref(attrs); color_attr->attr.start_index = 0; color_attr->attr.end_index = g_utf8_strlen(text, -1); pango_attr_list_change(attrs, (PangoAttribute *) color_attr); pango_layout_set_attributes(layout, attrs); pango_attr_list_unref(attrs); } gpaint-2-0.3.3/src/text.h0000664000076400007640000000205610666403762012032 00000000000000/* $Id: text.h,v 1.2 2004/03/13 03:33:22 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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_H__ #define __TEXT_H__ #include "canvas.h" #include gpaint_tool* text_create(const char *name); #endif gpaint-2-0.3.3/src/tool_palette.c0000664000076400007640000003442410671062161013526 00000000000000/* $Id: tool_palette.c,v 1.4 2004/11/22 02:59:53 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * Authors: Li-Cheng (Andy) Tai * Michael A. Meffie III * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include "tool_palette.h" #include "debug.h" #include "util.h" #include "pixmaps.h" #include #include #include /* tools */ #include "pen.h" #include "freehand.h" #include "brush.h" #include "shape.h" #include "lasso.h" #include "polyselect.h" #include "rectselect.h" #include "fill.h" #include "text.h" /* * Tool palette state data. */ typedef struct _gpaint_tool_palette { GtkToggleButton *selected; GHashTable *tool_hash; } gpaint_tool_palette; /* * Tool palette toggle button state. */ typedef struct _gpaint_tool_button { GtkToggleButton *widget; void (*handle_click)(struct _gpaint_tool_button*); gpaint_tool *tool; } gpaint_tool_button; /* * Shape fill/unfill toggle button state. */ typedef struct _gpaint_fill_button { GtkToggleButton *button; gpaint_tool_palette *tool_palette; gboolean fill; } gpaint_fill_button; /* * Button name, create function record. */ typedef struct _gpaint_tool_create { const gchar *button_name; const gchar *tool_name; const gchar **icon; ToolCreate create; } gpaint_tool_create; /* * Function table for the tool palette buttons. */ static const gpaint_tool_create tool_table[] = { {"erase_button", "eraser", eraseOp_xpm, eraser_create}, {"lasso_button", "lasso", lassoOp_xpm, lasso_select_create}, {"fill_button", "fill", fillOp_xpm, fill_create}, {"line_button", "line", lineOp_xpm, line_shape_create}, {"multiline_button", "mline", clineOp_xpm, multiline_shape_create}, {"rectangle_button", "rectangle", boxOp_xpm, rectangle_shape_create}, {"closed_freehand_button", "freehand", freehandOp_xpm, closed_freehand_create}, {"pen_button", "pen", pencilOp_xpm, pen_create}, {"polselect_button", "polyselect", selpolyOp_xpm, polygon_select_create}, {"rectselect_button", "rectselect", selrectOp_xpm, rectangle_select_create}, {"text_button", "text", textOp_xpm, text_create}, {"arc_button", "arc", arcOp_xpm, arc_shape_create}, {"curve_button", "", curveOp_xpm, NULL}, {"oval_button", "oval", ovalOp_xpm, oval_shape_create}, {"brush_button", "brush", brushOp_xpm, paint_brush_create}, {0, 0, 0, 0} /* end sentinel */ }; /* Local functions */ static void tool_palette_destroy(gpaint_tool_palette *tp); static void tool_button_destroy(gpaint_tool_button *tb); static const gpaint_tool_create* lookup_tool_create(const gchar *button_name); static gpaint_tool_palette* lookup_tool_palette_data(GtkWidget *widget); static void on_tool_select(gpaint_tool_button* tb); static void on_tool_reselect(gpaint_tool_button* tb); static void on_tool_deselect(gpaint_tool_button* tb); static void set_button_pixmap(GtkToggleButton *button, const char **pixmap); static guint tool_hash_function(gconstpointer key); static gint tool_hash_compare(gconstpointer a, gconstpointer b); static void tool_hash_change_fill(gpointer key, gpointer value, gpointer user_data); static void filled_button_destroy(gpaint_fill_button *fb); /* * Look up the tool palette widget in the widget tree. */ GtkWidget* lookup_tool_palette(GtkWidget *widget) { GtkWidget *tp = lookup_widget(widget, "tool_palette_table"); g_assert(tp); return tp; } gpaint_tool* tool_palette_get_tool(GtkWidget *widget, const gchar* name) { gpaint_tool_palette *tp; gpaint_tool *tool; tp = lookup_tool_palette_data(widget); tool = (gpaint_tool*)g_hash_table_lookup(tp->tool_hash, name); return tool; } /* * Lookup the tool_palette data object. Create the initial object * on the first time this function is called. */ static gpaint_tool_palette* lookup_tool_palette_data(GtkWidget *widget) { GtkObject *object = GTK_OBJECT(lookup_tool_palette(widget)); gpaint_tool_palette *tp = (gpaint_tool_palette*)gtk_object_get_data(object, "tool_palette"); debug_fn(); /* create the tool palette data object the first time requested. * This function may be called before the tool palette is realized. */ if (!tp) { tp = g_new(gpaint_tool_palette, 1); g_assert(tp); debug1("new tool_palette=%p", tp); tp->selected = NULL; tp->tool_hash = g_hash_table_new(tool_hash_function, tool_hash_compare); gtk_object_set_data_full( object, "tool_palette", tp, (GtkDestroyNotify)tool_palette_destroy); } return tp; } /* * Initialize the tool palette widget. */ void on_tool_palette_realize (GtkWidget *widget, gpointer user_data) { debug_fn(); } static void tool_palette_destroy(gpaint_tool_palette *tp) { debug_fn1("tool_palette=%p", tp); g_hash_table_destroy(tp->tool_hash); memset(tp, 0xBEBE, sizeof(gpaint_tool_palette)); g_free(tp); debug("tool_palette_destroy() returning"); } /* * Initialize a tool button. */ void on_tool_button_realize (GtkWidget *widget, gpointer user_data) { const char *button_name = gtk_widget_get_name(widget); const gpaint_tool_create *tc; gpaint_tool_button *tb; gpaint_tool_palette *tp; debug_fn1("button_name=%s", button_name); tc = lookup_tool_create(button_name); tb = g_new(gpaint_tool_button, 1); tb->widget = GTK_TOGGLE_BUTTON(widget); tb->handle_click = on_tool_select; g_assert(tc); if (!tc->create) { tb->tool = NULL; } else { g_assert(tc->tool_name); debug2("creating %s for %s", tc->tool_name, button_name); tb->tool = (*tc->create)(tc->tool_name); g_assert(tb->tool); g_assert(tb->tool->name); g_assert(tb->tool->destroy); /* Add the tool object to the tool palette hash table * The hash table is destroyed when the tool_palette is * destroyed. */ tp = lookup_tool_palette_data(widget); g_hash_table_insert(tp->tool_hash, (gpointer)tb->tool->name, (gpointer)tb->tool); } gtk_object_set_data_full( GTK_OBJECT(widget), "tool_button", tb, (GtkDestroyNotify)tool_button_destroy); /* place the tool icon in the button */ if (tc->icon) { set_button_pixmap(tb->widget, tc->icon); } else { g_warning("missing icon data"); } } static void tool_button_destroy(gpaint_tool_button *tb) { debug_fn1("tool_button=%p", tb); /* Remove the tool object if there is one for this * button. Some buttons are just placeholders until * the tool object has been implemented for it. */ g_assert(tb); if (tb->tool) { gpaint_tool *tool = tb->tool; g_assert(tool->name); g_assert(tool->destroy); debug1("destroying %s", tool->name); /* destroy the drawing tool object associated with this button */ (*tool->destroy)(tool); } memset(tb, 0xBEBE, sizeof(gpaint_tool_button)); g_free(tb); } /* * Handle tool button click events. */ void on_tool_button_clicked (GtkButton *button, gpointer user_data) { gpaint_tool_button *tb = (gpaint_tool_button*)gtk_object_get_data(GTK_OBJECT(button), "tool_button"); g_assert(tb); (*tb->handle_click)(tb); } /* * Initialize the shape fill toggle button. */ void on_filled_button_realize (GtkWidget *widget, gpointer user_data) { gpaint_fill_button *fb; /* attach state data object */ fb = g_new(gpaint_fill_button, 1); fb->button = GTK_TOGGLE_BUTTON(widget); fb->fill = FALSE; /* start as unfill */ gtk_object_set_data_full(GTK_OBJECT(widget), "fill_button", fb, (GtkDestroyNotify)filled_button_destroy); /* set the unfill shape icon in the button */ set_button_pixmap(fb->button, (const char **)unfilled_xpm); } static void filled_button_destroy(gpaint_fill_button *fb) { debug_fn(); } /* * Invert the shape fill/unfill state for each tool object. */ void on_filled_button_toggled (GtkToggleButton *togglebutton, gpointer user_data) { gpaint_tool_palette *tp = lookup_tool_palette_data(GTK_WIDGET(togglebutton)); gpaint_fill_button *fb = gtk_object_get_data(GTK_OBJECT(togglebutton), "fill_button"); const char **icon; if (fb->fill) { fb->fill = FALSE; icon = unfilled_xpm; } else { fb->fill = TRUE; icon = filled_xpm; } g_hash_table_foreach(tp->tool_hash, tool_hash_change_fill, (gpointer)(&(fb->fill))); set_button_pixmap(togglebutton, icon); } static void tool_hash_change_fill(gpointer key, gpointer value, gpointer user_data) { gpaint_tool *tool = (gpaint_tool*)value; if (tool && tool->attribute) { (*tool->attribute)(tool, GpaintFillShape, user_data); } } /* * Look up the tool create function for a tool button. */ static const gpaint_tool_create* lookup_tool_create(const gchar *button_name) { const gpaint_tool_create *p = tool_table; g_assert(button_name); while (p->button_name) { if (strcmp(p->button_name,button_name)==0) { return p; } p++; } debug1("Unexpected tool button name: %s", button_name); return NULL; } /* * Handle the selection of a tool. */ static void on_tool_select(gpaint_tool_button* tb) { /* deselect the previous tool, if one */ gpaint_tool_palette *palette = lookup_tool_palette_data(GTK_WIDGET(tb->widget)); GtkToggleButton *selected = palette->selected; if (selected) { gpaint_tool_button *p = (gpaint_tool_button*)gtk_object_get_data(GTK_OBJECT(selected), "tool_button"); g_assert(p); p->handle_click = on_tool_deselect; /* Toggle off the previous button. This will generate a click event * which is handled in on_tool_deselect(). */ gtk_toggle_button_set_active(palette->selected, FALSE); } /* select the new tool */ palette->selected = tb->widget; tb->handle_click = on_tool_reselect; canvas_set_tool(canvas_lookup(GTK_WIDGET(tb->widget)), tb->tool); } /* * The user clicked on a tool button that was already selected. * The mouse click will reset the toggle button, so toggle it * back to the selected state. */ static void on_tool_reselect(gpaint_tool_button* tb) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tb->widget), TRUE); } /* * Transitional state while the button is being deselected. */ static void on_tool_deselect(gpaint_tool_button* tb) { tb->handle_click = on_tool_select; } /* * Helper function for set_button_pixmap(). */ static void gtk_container_remove_callback(GtkWidget *widget, gpointer data) { gtk_container_remove(GTK_CONTAINER(data), widget); } static GtkWidget *widget_get_toplevel_parent(GtkWidget *widget) { GtkWidget *parent, *found_widget; found_widget = (GtkWidget*) gtk_object_get_data(GTK_OBJECT(widget), "toplevelparent"); if (found_widget) return found_widget; found_widget = widget; for (;;) { if (GTK_IS_MENU (found_widget)) parent = gtk_menu_get_attach_widget (GTK_MENU (found_widget)); else parent = found_widget->parent; if (parent == NULL) break; found_widget = parent; } gtk_object_set_data(GTK_OBJECT(widget), "toplevelparent", (gpointer) found_widget); return found_widget; } /* * Set the pixmap icon in a button. */ static void set_button_pixmap(GtkToggleButton *button, const char **pixmap) { GdkPixmap *gdkpixmap = 0; GdkBitmap *mask = 0; GtkWidget *gtkpixmap = 0; static GtkWidget *widget = 0; if (!widget) { widget = widget_get_toplevel_parent(GTK_WIDGET(button)); } if (widget) { gdkpixmap = gdk_pixmap_create_from_xpm_d(widget->window, &mask, NULL, (gchar**)pixmap); g_assert(gdkpixmap); gtkpixmap = gtk_pixmap_new(gdkpixmap, mask); g_assert(gtkpixmap); gtk_container_foreach(GTK_CONTAINER(button), (GtkCallback)gtk_container_remove_callback, button); gtk_container_add(GTK_CONTAINER(button), (gtkpixmap)); gtk_widget_show(gtkpixmap); gdk_pixmap_unref(gdkpixmap); gdk_pixmap_unref(mask); } } static guint tool_hash_function(gconstpointer key) { const char *s_key = (const char*)key; guint hash = 0; if (s_key) { int i; int length = strlen(s_key); for (i=0; i. */ #ifndef __TOOL_PALETTE_H__ #define __TOOL_PALETTE_H__ #include #include "canvas.h" GtkWidget *lookup_tool_palette(GtkWidget*); gpaint_tool *tool_palette_get_tool(GtkWidget*,const gchar*); void tool_palette_set_active_button(GtkWidget *widget, const char *button_name); #endif gpaint-2-0.3.3/src/version.h0000664000076400007640000000177210664360256012535 00000000000000/* $Id: version.h,v 1.7 2005/01/27 02:53:32 meffie Exp $ * * GNU Paint * Copyright 2000-2003, 2007 Li-Cheng (Andy) Tai * * 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 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __VERSION_H__ #define __VERSION_H__ #ifdef PACKAGE # define PROGRAM_TITLE PACKAGE #else # define PROGRAM_TITLE "GNU Paint" #endif #ifdef VERSION # define VERSION_STRING VERSION #else # define VERSION_STRING "0.3.1" #endif #endif gpaint-2-0.3.3/pixmaps/0000775000076400007640000000000010671212061011626 500000000000000gpaint-2-0.3.3/pixmaps/about_pict.xpm0000664000076400007640000050211307427457132014446 00000000000000/* XPM */ const char *about_pict_xpm[] = { /* columns rows colors chars-per-pixel */ "400 200 252 2", " c Gray0", ". c #080000", "X c Gray3", "o c #000818", "O c #001010", "+ c #081010", "@ c #081818", "# c #100800", "$ c #180000", "% c #181008", "& c #101010", "* c #181818", "= c #000020", "- c #081020", "; c #081828", ": c #101820", "> c #181828", ", c #101830", "< c #182018", "1 c #082020", "2 c #182828", "3 c #102030", "4 c #102838", "5 c #182038", "6 c #182838", "7 c #280000", "8 c #201008", "9 c #201810", "0 c #281810", "q c #300008", "w c #302018", "e c #202020", "r c #282020", "t c #202830", "y c #282830", "u c #302820", "i c #382820", "p c #302830", "a c #303028", "s c #383028", "d c #383830", "f c #203048", "g c #283040", "h c #283848", "j c #203050", "k c #283850", "l c #383840", "z c #383848", "x c #303850", "c c #284058", "v c #304040", "b c #384840", "n c #304050", "m c #304060", "M c #304868", "N c #384870", "B c #385068", "V c #385070", "C c #385878", "Z c #400008", "A c #480010", "S c #500010", "D c #580010", "F c #403020", "G c #403028", "H c #483828", "J c #403038", "K c #503828", "L c #600010", "P c #680018", "I c #680818", "U c #700018", "Y c #780818", "T c #701020", "R c #504030", "E c #584030", "W c #584838", "Q c #604838", "! c #404848", "~ c #484848", "^ c #404050", "/ c #484858", "( c #405048", ") c #504848", "_ c #505050", "` c #585850", "' c #405070", "] c #405878", "[ c #505068", "{ c #585868", "} c #586868", "| c #605040", " . c #685040", ".. c #605850", "X. c #705840", "o. c #705848", "O. c #786048", "+. c #606060", "@. c #686868", "#. c #606070", "$. c #607068", "%. c #607878", "&. c Gray44", "*. c #707878", "=. c Gray47", "-. c #181898", ";. c #1010a8", ":. c #303888", ">. c #384098", ",. c #485880", "<. c #486080", "1. c #486088", "2. c #486888", "3. c #506890", "4. c #507098", "5. c #5878a0", "6. c #6078a8", "7. c #6078b8", "8. c #5050c8", "9. c #5050f0", "0. c #7070c8", "q. c #6363ee", "w. c #6860f0", "e. c #7575ec", "r. c #7878f0", "t. c #608080", "y. c #788880", "u. c #6080a8", "i. c #6880b8", "p. c #6888b0", "a. c #6890b0", "s. c #6888c0", "d. c #7090c0", "f. c #7098c8", "g. c #7090d0", "h. c #7898d8", "j. c #78a0c8", "k. c #78a0d8", "l. c #800010", "z. c #880018", "x. c #900010", "c. c #880820", "v. c #900820", "b. c #980020", "n. c #981028", "m. c #982038", "M. c #a80828", "N. c #b00828", "B. c #b01028", "V. c #b01830", "C. c #b81838", "Z. c #a82038", "A. c #b02040", "S. c #b83048", "D. c #806048", "F. c #886850", "G. c #907058", "H. c #807870", "J. c #987860", "K. c #c80830", "L. c #c01838", "P. c #c81038", "I. c #d01030", "U. c #d81038", "Y. c #fe0000", "T. c #e81038", "R. c #f01038", "E. c #d81840", "W. c #c82848", "Q. c #c03850", "!. c #d02848", "~. c #d03858", "^. c #e02848", "/. c #e82048", "(. c #e03858", "). c #f02048", "_. c #f02850", "`. c #f03858", "'. c #d84060", "]. c #e05068", "[. c #e85870", "{. c #f04060", "}. c #f04868", "|. c #f05070", " X c #f06078", ".X c #e86880", "XX c #f06880", "oX c #a08068", "OX c #a88868", "+X c #b09070", "@X c #b89070", "#X c #c09878", "$X c #808080", "%X c #808888", "&X c #889090", "*X c #889898", "=X c #908888", "-X c #909090", ";X c #989898", ":X c #98a098", ">X c #98b8b0", ",X c #a09898", " l / / / / ^ z y z / / [ [ { [ [ [ / ^ g s bXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzX5XX l ^ ^ z y & y ^ / [ [ { { [ [ / ^ l d vXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXcXvXvXvXcXzXGXGXGXzX,X y > e +.%X%X-X e ^ / [ [ [ [ [ [ / ^ g -XvXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXbX..e r d $XvXvXcXzXzX-X z ,XZXbXvXcXcXvX%X g ^ / [ { { [ [ [ / ^ e -XcXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcXcX& X y y & a ;XbXcXvX=.bXvXzX zXvX&. l / [ [ [ { [ [ [ / ^ > cXcXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXcXX l / [ [ / / l > -XbXcXzX zXbXX y ^ / [ [ { { { [ [ / l . * bXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXvXl l [ { { { { [ / / ^ y s 6XvXzX cX3X z / [ [ { [ [ [ [ / ^ l -XcXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXNXmX9X9Xr.9.9.9.9.9.9.9.r.9X9XmXNXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX=.e / [ { { { { [ [ [ [ / z & =.bXzX zXbX. y ^ / [ [ [ { [ [ [ / ^ > bXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXpX9X9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.r.pXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9XGXGXmX9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.NXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.pXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXcX& l [ [ { { { [ [ [ [ [ [ / ^ y * bXcX cX3X ^ / [ [ [ [ [ [ [ / ^ l $XcXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXNX9X9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.uXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.NXGXGXGXGXGXGXGXGXGXGXGXGXGXw.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.mXGXGXuX9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.NXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX=.: ^ [ [ { [ { [ [ [ [ [ { [ / ^ l X 5XcXzX zXZX l / [ [ [ [ [ [ [ [ / ^ y X bXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXNXr.9.9.9.9.9.9.9.9.9.w.uXmXGXGXGXGXNXpXw.9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXpX9X9X9X9.9.9.9.9.9.9.9.9.9.9.9.r.GXGXGXGXGXGXGXGXGXGXGXGXGX9X9X9X9Xw.9.9.9.9.9.9.9.w.9X9X9XGXGXGXpX9X9X9X9.9.9.9.9.9.9.9.9.9.9.9.9.9X9X9XpXGXGXGXGXGXGXpX9X9X9X9.9.9.9.9.9.9.9.9.9.9.9.9.r.9X9X9XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvXy g / [ [ [ [ [ [ [ [ [ [ { [ [ / ^ z : =.vXzX vX! : ^ / [ [ [ [ [ [ [ [ / z $XcXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.r.NXGXGXGXGXGXGXGXGXGXGXpX9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXw.9.9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXw.9.9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXvX& l / [ [ [ / ^ l / [ [ [ [ { [ [ / / ^ y =.vXzX cX1X ^ / [ [ [ { { [ [ [ / ^ y X bXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmXw.9.9.9.9.9.9.9.9.9.pXGXGXGXGXGXGXGXGXGXGXGXGXGXGXw.9.9.9.9.9.9.r.GXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.9.9.uXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.pXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzX6X z / / / ^ y l ^ / [ [ { [ { [ [ [ / ^ y =.vXzXzXcXvXbXHX ^ / [ [ [ { { { { [ [ / z $XcXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXpX9.9.9.9.9.9.9.9.9.w.NXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXw.9.9.9.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.uXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXw.9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzX z ^ z g & +.~ > z / [ [ [ [ [ [ [ / ^ z y =.ZXZX3X~ y z ^ / / [ [ { { { [ [ [ / ^ > u bXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXuX9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.9.9.9.pXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.NXGXGXGXGXGXGXGXGXGXGXGXGXNX9.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzX6X g g > & z / / [ [ [ [ / / X l / [ [ [ { { { { [ [ [ / y ZXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXr.9.9.9.9.9.9.9.9.9.9.NXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.GXpX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.NXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXbX) > / / / / / X / [ [ [ [ [ [ [ / / y y [ [ [ [ { { { { [ [ [ / z 6XzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXpX9.9.9.9.9.9.9.9.9.9.r.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXNX9.9.9.r.GXGX9.9.9.9.9.9.9.9.9.9.pXGXGXGXGXGXGXGXGXGXGXGXGXGXNX9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.r.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXNX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvX1Xy / / / / / l ^ [ [ [ [ [ [ [ [ / / z > [ [ [ [ { { { { { { [ / ^ 3XcXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXw.9.9.9.9.9.9.9.9.9.9.NXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.NXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9XGXGXuX9.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXuX9.9.9.9.9.9.9.9.9.uXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXzX& z [ [ [ / [ y { { { { [ [ [ { [ [ / / [ [ [ [ { { { { { [ [ [ / @.cXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXuX9.9.9.9.9.9.9.9.9.9.r.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.GXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.mXGXGXGX9.9.9.9.9.9.9.9.9.9.NXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXr.9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.uXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvXd l [ { [ [ / [ l #.#.{ { { { { [ [ [ / [ > { [ [ [ { { { { { [ [ [ / > ~ vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXw.9.9.9.GXGXGXGXr.9.9.9.9.9.9.9.9.9.r.GXGXGXGXGXGXGXGXGXGXGXGXw.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXw.9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzX5XX / { { { [ [ z / #.#.#.{ { { { { [ [ [ [ y [ [ [ [ { { { { { [ [ [ ^ e ~ vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXpX9.9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.GXGXGXGXNX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXNX9.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX+.e [ +.#.{ [ [ g [ #.#.#.{ { [ { { { [ [ [ [ [ [ [ [ { { { { { { [ / / e ~ vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXr.9.9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9XGXGXGXGXGXw.9.9.9.9.9.9.9.9.9.uXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXpX9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.r.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvX! e _ { { [ / / y / { #.{ { [ [ [ [ [ [ [ [ [ [ [ [ [ { { { { { { [ / ^ > ~ vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXNX9.9.9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXpX9.9.9.pXGXGXGXGXGXpX9.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGXGXGXGXGXpX9.9.9.pXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.pXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXuX9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvX~ : ^ / / ^ g y : + ^ / [ / / / / / / [ [ [ [ { [ [ { { { { [ { [ [ / l : _ bXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXpX9.9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.mXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.pXGXGXGXGXGXGXGXGXGX9X9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXw.9.9.9.9.9.9.9.9.9.NXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX$X y g & # G o.G > g y : : : e ^ / / / [ [ [ [ { { { { [ [ [ / / l y . 1XcXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.GXGXGXGXGXGXGXuX9.9.9.9.9.9.9.9.9.r.GXGXGXGXGXGXGXGXGX9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXDX: # K J.OXoXG.. # % F F % y ^ / / [ [ [ { [ { { [ [ / ^ y . X + cXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.r.GXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.NXGXGXGXGXGXGXGXGX9.9.9.r.GXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.r.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXNX9.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX;X R J.oXoXOX@X+XOXG.+X+XOXOXOXJ.W X g ^ / / [ [ [ [ [ [ / z * X ] u.u.n @.vXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXNX9.9.9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9XGXGXGXGXGXGXGXGXr.9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXmX9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXuX9.9.9.9.9.9.9.9.9.uXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX;X8 O.G.oXJ.OX+X@X@X@XO.#X#X#X#X#X#XOXO.w > l ^ / / [ [ / / l . h d.j.k.j.u.B -XcXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.mXGXGXGXGXGXGXGXGXNX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGX9X9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXr.9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.pXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX&XG D.# . G r w % OX@X+XX G.#X#X#X#XdXdX@XoX9 r g l ^ ^ ^ ^ g : ] f.qXrXyXrXk.p.h ~ cXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXpX9.9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXr.9.9.9.GXGXGXGXGXGXGXGXGXGXw.9.9.9.9.9.9.9.9.9.pXGXGXGXGXGXGXr.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXw.9.9.9.9.9.9.9.9.9.NXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX&X8 G.oX. R i G.OX+XH G.+XJ.E #X#X#XdXdXdX#X#XOXH F * o X <.f.qXyXyXyXyXrXd.] ~ vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXmXmXmXmXmXmXmXmXmXmXmXmXmXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.GXGXGXGXGXGXGXGXGXGXpX9.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGX9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXNX9.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXzX9 F.+X+X .K @X+XOX+X+X+XOXG.i @X#XdXdXdXdXdX#X@Xo. .K X F.F.X.8 B d.qXyXyXaXaXyXrXj.4.` vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXuX9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXmX9.9.9.9XGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.mXGXGXGXGXmX9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXpX9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.r.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX+.G OX#X#X#X#X#X+X+XOXOXoXoXoXE X.#X#X#X#X#X#X#X#X+Xi J.i Q oX .n d.k.rXyXyXyXyXyXrXj.4.` cXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGXGXpX9.9.9.pXGXGXGXGXGXGXGXGXGXGXGXuX9.9.9.9.9.9.9.9.9.r.GXGXGXGXpX9.9.9.uXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.pXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXuX9.9.9.9.9.9.9.9.9.uXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvX* F.@X#X#X#X#X@XOXW 9 & F.OXoXs OX+X+X#X#XdX#X#X@XG.o.oX O.r u.j.rXyXaXaXyXrXrXrXj.4.` vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXmXmXuX9Xr.9.9.9.9.9.9.9.9.9.9.9.9.w.9X9XNXGXGXGXGXGXGXGX9X9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXNX9.9.9.9.9.9.9.9.9.9.NXGXGXGX9X9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXw.9.9.9.9.9.9.9.9.9.NXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzX6X% oX#XdXdXdX#XOXO.F.@X@XoX& H OXG.i oXOX#X#XdXdX#X#X@Xo.+XD. f a.k.yXrXh k.yXqXf.<.~ vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXuX9.9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXr.9.9.9.9.9.9.9.9.9.uXGXGXGXw.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX%XE OX@X#X@X@XOXJ.O.J.oXOXOX@XK X.OXF D.+X#XdX#X#XdX#X#X#X@XoX# n p.k.rXg qXaX5. f.rXd.M H cXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGX9.9.9.r.GXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.9.GXGXGX9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.r.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXNX9.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX^ E oXOXOXoXo.. $ w D.oX+XOXJ. OX#X#X#X#X#X#X#X#X#XOX . u.j.rXyXyXyXaXa.t rXp.c .= 0.JXHXHXSX:X0 J.G.o. X R OX#X#X#X#XdX#X#XoXo. 4.f.rXyXaXaXaXyXqX3.H =XvXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXmX9.9.9.r.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXNX9.9.9.9.9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXuX9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvXp F.+X#X#X#XdXdX@XD. M qXu.O 6XzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXNX9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXNX9.9.9.9.9.9.9.9.9.pXGXGXGXGXGXGXGXGXGXGXGXGXGXw.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX_ .+X#X#X#XdXdX#X#X#X#X#Xo.i 9 X.R oXOX+X@X#X#X#XdX#XOXD. k 5 5 X X 5 , 6 6 . i <.f.rXyXyXB rXa.5 3XzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXr.9.9.9.9.9.9.9.9.9.pXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXr.9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXr.9.9.9.9.9.9.9.9.w.GXGXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvX^ J.#X#X#X#X#XdX#X#X#X#XO.+XOXOX@X#X#X#X#X#X#X#X#XdX#XoX# V k 4.i.i.6.3.' j . R G.G.R 4 d.qXrXyXj.rXd.4 3XzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.NXGXGXGXGXGXGXGXGXGXGXuX9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXNX9.9.9.9.9.9.9.9.9.NXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.uXGXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXbXp J.@X#X#X#X@X#XOXoXJ.% G.#X#X#X#X#X#X#XdXdX#X#X#X#XOX .o i.g wXk.h.p.4.3 & D.oXOXOXG. 4.d.k.qXrXqXd.o 3XzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.uXGXGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXuX9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXw.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmX9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGX9X9.9.9.9.9.9.9.9.9.mXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXcXxX$X% G.Q X . W oXJ.O.W +X#X#X#X#X#X#X#X#X#XdXdXdXdX@XJ.$ 3.h.n yXqXj.u.M F G.OX@X#X#XOXG ] p.d.f.f.p.o 3XzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXr.9.9.9.9.9.9.9.9.9.r.uXmXmXmXmXuXw.9.9.9.9.9.9.9.9.9.w.mXGXGXGXGXGXGXuX9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXpX9.9.9.9.9.9.9.9XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXw.9.9.9.9.9.9.9.9.9.9XmXmXmXpXr.9.9.9.9.9.9.9.9.9.r.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXcX;X. W X.i | OXOXJ. H D.E oX+X#X#XdX#X#X#X#X#XdXdXdX#XdX+XF. s.3.6.yXk.a.C w G.OX#X#XdX#X@XJ.K f u.u.6.5 &.vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXNXr.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9XNXGXGXGXGXGXGXGXGXr.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.pXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.uXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXpXw.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.r.NXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX;X# F.J.| @X@X@X@XOXO.u R OX+X@X#X#X#X#X#X#X#X#XdXdXdXdXdXOXF j s.' yXqXd.4.% F.OX#X#X#XdX#X#X+XOXJ.X.# o 5.6.] cXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXpXr.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.w.9XmXGXGXGXGXGXGXGXGXGXGXGX9X9X9X9X9X9X9X9X9X9X9X9X9X9X9X9XNXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXpX9X9X9X9X9X9XNXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXNX9Xw.9.9.9.9.9.9.9.9.9.9.9.9.9.9.r.pXNXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvXr D.OXO.#X#X#X#X#X@XoXG.OX#X#X#X#XdX#X#X#X#X#X#XdXdXdXdX#XJ. 4.s.' tXk.u.4 .oX@X#X#X#X#XdXdX#X@XoXi H <.u.u.j ~ cXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXNXmXpX9X9X9X9X9X9X9XmXmXNXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXmXmXuX9X9X9X9X9X9XmXmXNXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzX6X oX#XdX#X#XOXOX@X+XOXF.@X#X#X#X#X#X#XdX#X#X#X#X#XdXdX#XOX . 7.,.eXqXf.4.% G.+X#X#X#X#X#X#XdXdX#XOXX.H $X4.p.s.2.+.vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX` G OX@X#X@XJ. R +XOXOX .@X#X#X#X#X#X#X#X#X#X#X#X#X#X#X#XoX9 k s.N eXk.d., X.oX@X#X#X#X#X#XdX#X#X#XG.i ~ &.] u.p.2...cXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvX` K OX@XOXG. i +X@X+X+X#X#X#X#X@X+X+X@X#X#X#X#X@X+X@X#XG. 5.5.4.eXk.u.r G.OX#X#XdXdXdXdXdXdX#X@XJ.K -X..; 4.4.c =XzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvX{ K OXOXoXG 9 .@X#X#X#X#X#X#X#X@XOXOXOXOXOXOXOXOXOX@X+XX. s.N tXqXf.] K oX@X#X#X#XdXdXdXdXdX#X+Xo.w cXvX. ; n 5 zXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX{ 8 oXOXoX* R G oX#XdXdXdX#X#X#X#X#X@XOXOXoXoXOX+X+X#X#XOXw M g.' tXk.p.f D.OX#X#X#X#XdXdXdXdXdX#XOXo.) vXcXcX) +.cXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzX F.oX+Xw X.F.#X#XdX#X#X#X#X#X#X#X#X#X@X+X@XdXfXfXfXH O.. 5.g.k eXg.6.e F.OX@X#X#X#XdXdXdX#X#X#XoXE @.cXGXzXZX zXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXbXe K oX@XR F.@X#X#X#X@X+X@X#X#X#X#X#XdXdXdXfXfXhX,X..R o. i.3.s.qXd.4.> D.oX@X#X#X#XdXdXdX#XdX@XJ.w 5XzXGXGXcX+.cXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX,X G.OXG.R #X#X#X@XX.i J.@X@X#X#XdXgXjXfXH.& & z w 0 k d.B eXwXd.4.> F.oX@X#X#X#XdXdXdXdXdX@XG.9 vXGXGXGXzXzXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXZX .oXOX@X#X#X#X+X F.+X#X#X#X#XgXkXkX,X+.,X&.6XvX 1.g.g tXqXd.4.> D.oX@X#X#X#XdXdX#X#X#X+XD.+.vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvXl E J.OX@X#X#X@X@X9 G.@X#X#X#XgXkXVXcXs 1XcXzXzXvX&. 6.h.x yXeXf.5. W J.OX#X#XdX#X#XdX#X#XoX .( vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXbX&.o.oXOXG.Q oXoXOX OX@X#XdXgXkXCXZX3X cX cXcX u.h. aXrXh.i.m D.oX+X#X#X#X#X#X#X@XJ.W e bXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvX# F o.OXG.oXG.F.F.W O.#X#XdXgXkXCXDXZX` $XcX cX%X- u.h.,.aXtXqXg.7.f . X.J.OX#X#X#X#X@XJ.| O. +.cXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXvXZXe 9 O.G.G.0 OX#X#XdXjXVXDXFXbX) zX vX@.f i.h.] yXyXyXqXh.7.f H G.OX+X+XOXOXK F.oX . ZXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXcXcXy w i % & 9 F.G.X. oX@X@XgXlXDXHXDXzX& zX xXzXu j p.k.] aXyXyXyXqXg.6.N K G.oX .OXoX#X+XJ. ^ zXcXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXcX1X .J.oXoXJ.G.H oXOXoXO. oXOXR hXCXHXJXSX6Xy zX zXvXs k s.qX] aXyXaXyXrXk.p.3.{ vXz F J.X.@X@X#X#X+XF.% . cXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXcX=.w G.+X#X#X#XOXG.R @X@XOXF. G.F.% H.vXFXHXbX^ ~ zX cX%Xw 2.d.eX,.aXyXaXaXaXrXf.5._ DX5X0 oX@X#X#X#X#X+Xi _ vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX aXyXaXaXaXyXk.p. cXw J.@XdXdX#X#X#XOXF.8 ! cXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX_ .OX#X#X@X@Xo.J.#X#X#XdX#X@XJ.0 z vXzX` e d a &.zX zX2X# O.F. 5.d.tX,.aXyXyXaXaXyXj.p. &.i OX#X#X#XdXdX#XOXD. %XcXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXcXG J.@X#X@XOXo.+X@X#X#XdXdX#X#XoX . bXzXcXzX1X& a vXzX vX&.K oXF. 4.d.tX] aXyXaXaXaXyXk.p.X s Q OX@X#X#X#X#X#X+XG. 3XzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX$XK OX@X@XOXO.@X#X#X#X#X#X#X#X#X+XF.X bX zXcXvXcXzX G OXG. 4.d.rX] yXyXaXaXaXyXqXa.@ =.o.oX@X#XdXdX#X#XOXR 1XzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvXy F.OX#X#X@X@X#X#X#X#X#XdXdXdX#X+XG. zX zXzX% oX@XJ. 5.f.rXyXaXaXaXaXaXyXqXd.t a F oX#X#X#X#X#X@XoXw s bXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvXr F.OX#X#X#X#X#X#X#X#X#X#X#X#XdX@XJ. 5XzX cX&.E oXOXG. 5.f.rXyXaXaXaXaXaXyXqXf.t ,Xi oX@X#X#X#X@XOX| % ;XcXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvXs F.OX#X#X#X#X#X#X#X#XW #X#XdXdX@XG.. zX cX5X# O.G.G.O. 5.f.rXaXaXaXaXaXaXyXrXf.4 ,X0 D.O.* OXOXoXD.. %XvXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXbXr O.OX#X#X#X#X#X#X@X@X @X@X#X#X+XD.^ vX cXbX3Xe X.H R o. 5.f.rXaXaXaXaXaXaXaXrXd.4 ,X w R & O.R Q H 1XzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvXX .oX@X#X#XdXdX#X@X+X% D.OX@X@XoXw &XzX zXvX2XX F J.OXoXJ.D. 5.f.rXaXaXaXaXaXaXaXrXd.<.` ` e i | % R i W # cXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX@.w G.oX@X#X#XdX#X#X+X . J.oX| D.# bXzX cXbXl .J.OX@X@X+XOXG. 5.d.rXyXaXaXaXaXaXaXrXf.2.u DXvXi G.F.OXoXF.% cXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXAX9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.8X8X0XnXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXMX8X9.9.e.iXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXvX X.G.OX@X#X#XdX#X@XOXi G.G.o.&.ZXzX cXxX w J.+X@X#X#X#X#X@XJ. 4.d.qXyXyXaXaXaXaXaXyXf.5.r DX%XQ oXOX@X@XJ.# Xt.=Xy.y.y.*.e $X$X+. .F.F.OXoXO.1 q P M.N.K.K.K.K.N.N.N.L 7 O 4.a.j.rXyXaXaXaXaXaXaXaXyXrXrXh.t aXrXqXd.f ) vXcX$XF F.oXOXOXOXOX@X#X#XoXW @.zXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXe.9.9.9.9.9.9.9.9.9.0XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX0X9.9.9.9.9.9.9.q.GXGXGXGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.AXGXGXGXGXGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.nXGXGXGXGXGXGXGXGXGXGXMX9.9.9.9.9.9.9.9.e.q.q.GXGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.AXGXGXGXGXGXGXGXGXGXGXGXq.9.9.9.9.9.9.9.9.AXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXvXvX%.s q q D x.x.x.l.Z Z $ $ O a s G X # u u D N.K.I.I.I.T.T.T.U.I.I.I.I.K.M.Z M p.j.qXyXaXaXaXaXaXaXyXrXrXh.t aXrXqXd.C ) vXvXd Q F.F.W # . w G.OX+XG.F cXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXAX9.9.9.9.9.9.9.9.9.9.MXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.0XGXGXGXGXGXGXGXGXAX9.9.9.9.9.9.9.9.e.GXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXiX9.9.9.9.9.9.9.9.9.9.MXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.e.GXGXGXGXGXGXGXGXGXGXGXAX9.9.9.9.9.9.9.9.q.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcXvXv 7 l.M.C.P.U.I.I.I.I.K.K.K.K.N.z.7 < O.J.G.O 7 n.L.!.^././.T.T.R.T.T.T.T.T.T.T.I.N.z.. @ p.f.qXyXaXaXaXaXaXaXrXrXh.t aXrXqXf.5.. bXZX . .% ; N m o .G.Q +.cXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXnX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXiX9.9.9.9.9.9.9.9.nXGXGXGXGXGXGXGXGXiX9.9.9.9.9.9.9.9.0XGXGXGXGXGXGXGXGXGXGXnX9.9.9.9.9.9.9.9.8XGXGXGXGXGXGXGXGXGXGXGXe.9.9.9.9.9.9.9.9.9.8XGXGXGXGXGXGXGXnX9.9.9.9.9.9.9.9.iXGXGXGXGXGXGXGXGXGXGXGXiX9.9.9.9.9.9.9.9.0XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX4X l.V.W.W.~.^./.T.T.T.T.T.T.T.T.I.K.M.l. a < Z V.W.~.{.{.`._.).R.R.R.R.R.R.R.R.R.T.I.K.M.$ ; p.j.qXyXaXaXaXaXaXrXrXf.t yXeXqXf.p. =.JX& w * 3 5 3.3.j % s vXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.9.8XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXe.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXq.9.9.9.9.9.9.9.9.MXGXGXGXGXGXGXGXGXGXGX0X9.9.9.9.9.9.9.9.iXGXGXGXGXGXGXGXGXGXGXAX9.9.9.9.9.9.9.9.9.q.AXGXGXGXGXGXGXGX0X9.9.9.9.9.9.9.9.MXGXGXGXGXGXGXGXGXGXGXGXe.9.9.9.9.9.9.9.9.nXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX4X z.L.~.].].[.}.`.).R.R.R.R.R.R.R.T.U.K.N.M.q q L.W.'.[.|.|.`._.).R.R.R.R.R.R.R.R.R.R.T.I.K.M.Z ; 5.j.qXyXaXaXaXaXrXrXf.6 tXwXk.h.s.5. u : 5.5.i.,. 5.1.m -XcXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.nXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXAX9.9.9.9.9.9.9.9.8XGXGXGXGXGXGXGXGXiX9.9.9.9.9.9.9.9.q.GXGXGXGXGXGXGXGXGXGXGXq.9.9.9.9.9.9.9.9.AXGXGXGXGXGXGXGXGXGXGXnX9.9.9.9.9.9.9.9.9.iXGXGXGXGXGXGXGXGXq.9.9.9.9.9.9.9.q.GXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXvX l.L.~.]..XXX X|.`.).).R.R.R.R.R.R.R.T.I.K.I.D U.!.'.[.[.|.`._.).).R.R.R.R.R.R.R.R.R.R.R.T.U.K.N.Z 1 d.j.rXyXaXaXaXrXqXg.X eXh.h.h.g.d.d.f.f.f.d.p.i.s.k 5 4.] vXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXnX9.9.9.9.9.9.9.9.9.9.AXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXiX9.9.9.9.9.9.9.9.iXGXGXGXGXGXGXGXGXq.9.9.9.9.9.9.9.9.0XGXGXGXGXGXGXGXGXGXGXAX9.9.9.9.9.9.9.9.q.GXGXGXGXGXGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.q.GXGXGXGXGXGXGXGXAX9.9.9.9.9.9.9.9.0XGXGXGXGXGXGXGXGXGXGXGXnX9.9.9.9.9.9.9.9.8XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX*.$ V.!.]. X.X.X|.`._.).R.R.R.R.R.R.R.R.T.T.I.T.A /.(.].|.}.`._.).).).R.R.R.R.R.R.R.R.R.R.R.R.T.T.K.M.$ c d.j.rXyXaXaXrXqXeX wXk.h.h.k.j.k.k.k.qXqXwXh.s.i. ,.4. bXbXGXvXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX0X9.9.9.9.9.9.9.9.9.e.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.nXGXGXGXGXGXGXGXiX9.9.9.9.9.9.9.9.9.nXGXGXGXGXGXGXGXGXGXGXiX9.9.9.9.9.9.9.9.0XGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.iXGXGXGXGXGXGXGXGXiX9.9.9.9.9.9.9.9.nXGXGXGXGXGXGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.iXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXbX@ S A.'.[. X[.}.`._.).).R.R.R.R.R.R.R.R.T.T.I.v.n._.}.|.|.`._.).).).).R.R.R.R.R.R.R.R.R.R.R.R.R.T.I.N.x. p.f.qXyXyXyXyXrXrXk X 3.eXeXtXyXyXrXrXj.2 g g.g.N 7. &.: GX& vXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXq.9.9.9.9.9.9.9.9.9.iXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.AXGXGXGXGXGXGXGXq.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXe.9.9.9.9.9.9.9.9.nXGXGXGXGXGXGXGXGXGXGXnX9.9.9.9.9.9.9.9.e.GXGXGXGXGXGXGXGXGXe.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXq.9.9.9.9.9.9.9.9.AXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXbX n.S.]. X[.{._.).).R.R.R.R.R.R.R.R.R.R.R.T.T.v.C.(.].|.{._.).).).).R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.T.K.N.7 c a.k.rXyXyXyXrXrXtX4.<.] ] M <.yXyXyXyXtX4. 5.h.5 i.N ' 5.4.o _ vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXAX9.9.9.9.9.9.9.9.9.9.MXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGX0X9.q.9.9.9.9.9.9.9.8XGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGX0X9.9.9.9.9.9.9.9.nXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.8XGXGXGXGXGXGXGXGXGXGXGXMX9.9.9.9.9.9.9.9.q.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvX m.Q.]. X|.`.).).R.R.R.R.R.R.R.R.R.R.R.R.T.T.b.C.^.{.}.{._.).).R.T.T.T.T.T.T.R.R.R.R.R.R.R.R.R.R.R.T.K.z.X p.j.rXrXtXtXtXrXrXtXyXyXyXaXaXaXaXaXyXrXrXtX5.& wXg.h.h.h.d.u.2. vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXiX9.9.9.9.9.9.9.9.9.q.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXnX9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXMX9.e.9.9.9.9.9.9.9.9.nXGXGXGXGXGXGXGXGXGXGXnX9.9.9.9.9.9.9.9.8XGXGXGXGXGXGXGXGXGXGXGXq.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXnX9.9.9.9.9.9.9.9.nXGXGXGXGXGXGXGXGXGXGXGX0X9.9.9.9.9.9.9.9.0XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvX m.Q.].}.{._.).).R.R.R.R.R.R.R.R.R.R.R.R.T.T.A P.^.`.`.`._.).T.T.T.T.T.T.T.T.T.T.T.R.R.R.R.R.R.R.R.T.I.M. p.f.qXeXeXtXtXtXyXyXyXyXyXyXyXaXaXaXaXyXtXrXyX tXh.k.wXqXk.d.5. vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.9.8XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXnX9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXq.9.iX9.9.9.9.9.9.9.9.GXGXGXGXAXAXGXGXGXGXGX8X9.9.9.9.9.9.9.9.iXGXGXGXGXe.nXGXGXGXGXAX9.9.9.9.9.9.9.9.e.GXGXGXGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.GXGXGXGXq.0XGXGXGXGXGXGXe.9.9.9.9.9.9.9.9.nXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXbX T S.~.(._.).).).R.R.T.T.T.T.T.T.R.R.R.R.T.T.b.K./.^._._.)./.T.T.Y Y q I I U T.T.T.T.T.T.R.R.R.R.R.T.I.N.7 2.d.k.wXeXeXtXyXyXaXaXaXaXaXaXaXaXaXaXaXyXyXyXf.tXeXeXeXrXqXd.5. vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.nXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXnX9.9.9.9.9.9.9.9.9.AXGXGXGXGX8X9.nX8X9.9.9.9.9.9.9.q.GXGXGXGXq.q.GXGXGXGXGXq.9.9.9.9.9.9.9.9.AXGXGXGXiX9.MXGXGXGXGXiX9.9.9.9.9.9.9.9.iXGXGXGXGXGXGXGXGXGXq.9.9.9.9.9.9.9.e.GXGXGX0X9.iXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.GXGXGXGXGXe.MXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvXh Z Z.W.^./.).R.T.T.T.T.T.T.T.T.T.T.T.R.T.I.I.v.v.T.E.).).T.U.U. q Z P v.c.I 7 q q K.T.U.T.R.R.R.R.R.I.N.q C d.h.wXwXeXtXyXaXaXaXaXaXaXaXaXaXaXaXaXaXaXyXyXyXtXtXtXtXqXf.5.. vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXnX9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXnX9.9.9.9.9.9.9.9.9.iXGXGXGX8X9.8XGX9.9.9.9.9.9.9.9.8XGXGXGX8X9.MXGXGXGXGXMX9.9.9.9.9.9.9.9.e.GXGXGXMX9.0XGXGXGXGXGXe.9.9.9.9.9.9.9.9.MXGXGXGXGXGXGXGXGXMX9.9.9.9.9.9.9.9.8XGXGXnX9.e.GXGXGXGXGXGXnX9.9.9.9.9.9.9.9.8XGXGXGXGX8X9.MXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX&X n.L.E.T.R.T.T.I.c.Z L D $ D M.T.T.T.T.I.I.K.$ T.T.T.R.T.I.c.7 Z S $ c.I Y I N.D $ S I.T.T.R.R.R.R.I.N.q C d.h.k.eXtXyXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXyXyXyXtXqXg.M ..bXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXe.9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXAX9.9.9.9.9.9.9.9.9.9.8X8Xq.9.8XGXMX9.9.9.9.9.9.9.9.nXGXGXnX9.iXGXGXGXGXGX0X9.9.9.9.9.9.9.9.0XGXGXAXq.q.GXGXGXGXGXGX9.9.9.9.9.9.9.9.q.GXGXGXGXGXGXGXGXGXiX9.9.9.9.9.9.9.9.nXGXnX9.q.AXGXGXGXGXGXGXiX9.9.9.9.9.9.9.9.iXGXGXGXiX9.iXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXvX1 D B.I.U.T.T.U.$ 7 P U L U v.Z q Y T.T.I.K.K. M.U.T.T.T.I.c. S P q q S v.L K.I.l.v.7 N.T.T.R.R.R.I.M.q V p.h.wXeXtXyXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXyXyXtXqXh.4. &.cXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXAX9.9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXe.9.9.9.9.9.9.9.9.9.9.9.9.8XGXGX0X9.9.9.9.9.9.9.9.8XAX0X9.8XGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.iXGXAXq.q.AXGXGXGXGXGXnX9.9.9.9.9.9.9.9.8XGXGXGXGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.q.q.9.9.nXGXGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.nXGXGXnX9.8XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXcX5X l.N.K.U.I.I. U D U P c.c.U Y L . M.I.K.K.U $ I.I.T.T.I.I. S A I D U v.M.K.c.M.P N.q T.R.R.R.T.I.M.q 4.i.h.wXtXyXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXyXyXeXh.i.] vXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXMX9.9.9.9.9.9.9.9.9.9.9.8XGXGXGX8X9.9.9.9.9.9.9.9.9.9.9.iXGXGXGXGXGXGXGX0X9.9.9.9.9.9.9.9.9.8X9.q.AXGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.nXGXGXGXGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.9.9.9.nXGXGXGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.8XnX8X9.iXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXvX$. z.N.K.K.K. P l.c.U c.c.P c.v.c.Z A I.K.I.$ D I.I.I.I.I.I S U I P U I.M.K.K.c.c.N.q T.T.T.T.K.b. 2.u.g.qXtXyXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXyXrXwXs.6. bXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX8X9.9.9.9.9.9.9.9.9.9.9.9.0XGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXe.9.9.9.9.9.9.9.9.9.iXGXGXGXGX0X9.9.9.9.9.9.9.9.9.q.MXGXGXGXGXGXGXGXGXMX9.9.9.9.9.9.9.9.9.9.q.AXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.GXGXGXGXGXGXGXGXGXGXnX9.9.9.9.9.9.9.9.9.q.nXGXGXGXGXGXGXGXGXGX0X9.9.9.9.9.9.9.9.9.9.e.AXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXvX$. U M.M.N.7 Z L U c.c.l.Y c.P P K.D A K.K.N. v.K.K.I.I.I. Y S K.M.N. I.K.K.M.L I.7 M.T.T.I.N.U < - 5.d.wXrXyXaXaXaXaXaXaXaXaXaXaXaXyXyXyXyXyXyXyXaXaXaXyXyXrXqXf.p. cXvXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXnX8Xq.9.9.9.9.9.9.9.9.9.9.9.9.9.9.q.8XnXnXMXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXAXq.9.9.9.9.9.9.q.nXGXGXGXGXGXAXq.9.9.9.9.9.9.9.0XAXGXGXGXGXGXGXGXGXGXGXnX9.9.9.9.9.9.9.9.0XGXGXGXGXGXGXGXGXMX9.9.9.9.9.9.9.9.e.GXGXGXGXGXGXGXGXGXGXGX8X9.9.9.9.9.9.9.e.AXGXGXGXGXGXGXGXGXGXGXGX8X9.9.9.9.9.9.9.q.iXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXzXcXbX4XX 7 l.b.v.. D c.P U c.c.b.v.P Y Y 7 I K.N.M. v.N.K.K.I.N.$ v.c.K.I.v.N.K.K.I.K.K.N. T.K.N.l.i SX* M u.f.qXrXyXyXaXaXaXyXyXrXrXrXrXqXqXqXqXqXqXrXrXrXrXrXrXqXk.d.u.j z vXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.iXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX0Xq.9.9.e.iXGXGXGXGXGXGXGXGXAX0X9.9.9.8XiXAXGXGXGXGXGXGXGXGXGXGXGXGXGXMXe.9.9.9.8XiXAXGXGXGXGXGXGXGXGXGXAXiX8X8X8X8X8X8X8XnXGXGXGXGXGXGXGXGXGXGXGXGXiXq.9.9.q.8XMXGXGXGXGXGXGXGXGXGXGXGXGXGXGXMX8X9.9.9.8XiXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXzXcXzX@.@.cXvXZX*X $ D U q 7 Y P L M.U c.b.N.c.v. N.N.M.x. Z b.N.N.K.N.q N.N.I.I.N.c.I.I.K.K.I. I.M.l.$ BXvX3X ] u.d.j.qXqXrXrXrXqXj.f.d.d.f.g.d.d.g.f.j.k.k.j.h.h.f.d.s.u.4.<.M =.zXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXzXzX+.+.-X5X_ bX1X=.bXDXxX} # $ Z $ 7 U A c.v.c.P v.K.q c.M.l.Z 2 v S b.M.N.N.P Z M.K.K.K.K.K.K.N.N.. D D zXxXGXcX3X 3 2.5.p.d.d.d.p.u.2.4 ^ 9 M 5.5.5.' f ; M 5.6.4.V x % ; H.zXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXzX$X=.$XcXcX@.-X@.%X~ d $X%X. SXSX5Xt X 7 7 U z.x.L b.7 Z D a bXbXcX@ . S z.b.M.Z D Y M.N.N.M.b.z. 7 $.bXcXGXGXGXcXbX=X% r 3 k k ; z @.zXvXbXvXX k ' j o @.vXcXu f - =.bXvXbXcXr 5XzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzX..3XcXzXzXzX+.-XcX1X-XvXvX` _ =X+.6XvXZX6X%X` t 2 J . $ $ a z y.bXvXzXGXzXvXZX&Xt O $ q q 7 7 7 q $ ( zXvXzXGXGXGXGXGXzXcXvXbXvX=.=.3XvXvXcXzXGXGXcX-X d 5XvXcXcXvX=Xe -XcXzX zXvXvXcXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXzXzXGXGXGXzXzXzXzXzXzXzXzXcXcXcXzXzXGXGXzXcXvXvXbXbXBXBXBXbXvXcXzXGXGXGXGXGXzXcXvXbXZX2Xy.y.y.y.y.y.b } zXvXzXGXGXGXGXGXGXGXGXGXGXGXzXzXcXzXGXGXGXGXGXGXzXcXbXbXvXcX=X1X3XcXcXvXvXcXzX1XzXzXzXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXzXcXcXcXcXcXcXvXcXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXcXzX+.y cXvX-X$X3X;X@.vXvX+.zXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXvX..^ ~ _ 1X@.) r & -X-X& s $XzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzX%X ,Xs _ ! X r =XvX-X&._ cXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzX1X+..._ s ~ $X5X,X$XzX1XcX1XzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXcX-XcXvXvXcXzXzXzXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXzXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX", "GXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGXGX" }; gpaint-2-0.3.3/pixmaps/arcOp.xpm0000664000076400007640000000432007427457132013356 00000000000000/* XPM */ const char *arcOp_xpm[] = { /* columns rows colors chars-per-pixel */ "30 30 77 1", " c Gray0", ". c #020202", "X c #070707", "o c Gray8", "O c Gray10", "+ c #202020", "@ c #222222", "# c Gray14", "$ c #252525", "% c Gray15", "& c #282828", "* c Gray16", "= c Gray17", "- c #2d2d2d", "; c Gray19", ": c #434343", "> c Gray29", ", c #4b4b4b", "< c #4e4e4e", "1 c Gray31", "2 c #505050", "3 c #515151", "4 c Gray34", "5 c Gray41", "6 c #6a6a6a", "7 c #6d6d6d", "8 c #797979", "9 c #7b7b7b", "0 c #808080", "q c #8d8d8d", "w c #9d9d9d", "e c #a2a2a2", "r c #a5a5a5", "t c #aaaaaa", "y c #acacac", "u c #afafaf", "i c Gray69", "p c Gray72", "a c #bebebe", "s c #c0c0c0", "d c #cacaca", "f c #cbcbcb", "g c #cecece", "h c Gray81", "j c #d0d0d0", "k c Gray82", "l c #d2d2d2", "z c #d3d3d3", "x c Gray83", "c c #d5d5d5", "v c Gray84", "b c #d7d7d7", "n c #d8d8d8", "m c Gray85", "M c #dadada", "N c Gray86", "B c gainsboro", "V c #dddddd", "C c Gray87", "Z c #dfdfdf", "A c Gray88", "S c #e1e1e1", "D c #e2e2e2", "F c Gray89", "G c #e4e4e4", "H c Gray90", "J c #e6e6e6", "K c #e7e7e7", "L c Gray91", "P c #e9e9e9", "I c #eaeaea", "U c Gray92", "Y c #ececec", "T c #efefef", "R c Gray94", "E c Gray95", "W c #f3f3f3", /* pixels */ "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv", "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv", "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv", "vvvvvvvkvvvvvvvvvvvvvvvvvvvvvv", "vvvvvvBFkkkvvvvvvvvvvvvvvvvvvv", "vvvvvNarIIIkkvvvvvvvvvvvvvvvvv", "vvvvkI6 667GYBvkvvvvvvvvvvvvvv", "vvvvvNswX &OtFFvvvvvvvvvvvvvv", "vvvvvvBFvvg&& %uvNvvvvvvvvvvvv", "vvvvvvvkvNNGWq, 4Gvvvvvvvvvvvv", "vvvvvvvvvvvkgINi@:Yvvvvvvvvvvv", "vvvvvvvvvvvvvkvGvo,Ikvvvvvvvvv", "vvvvvvvvvvvvvvvkBv@1Gvvvvvvvvv", "vvvvvvvvvvvvvvvvkNNO3Bkvvvvvvv", "vvvvvvvvvvvvvvvvvkBv 8Wgvvvvvv", "vvvvvvvvvvvvvvvvvvvB3%fNvvvvvv", "vvvvvvvvvvvvvvvvvvkFp eFvvvvvv", "vvvvvvvvvvvvvvvvvvvkG6 kNvvvvv", "vvvvvvvvvvvvvvvvvvvkI6 Bvvvvvv", "vvvvvvvvvvvvvvvvvvvvNfO1Gkvvvv", "vvvvvvvvvvvvvvvvvvvvkW-%Gvvvvv", "vvvvvvvvvvvvvvvvvvvvkG%;Wkvvvv", "vvvvvvvvvvvvvvvvvvvvvBu 0Gkvvv", "vvvvvvvvvvvvvvvvvvvvvvB%9Gkvvv", "vvvvvvvvvvvvvvvvvvvvvvvIFvvvvv", "vvvvvvvvvvvvvvvvvvvvvvvkkvvvvv", "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv", "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv", "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv", "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv" }; gpaint-2-0.3.3/pixmaps/arrow.png0000664000076400007640000000030007172011161013377 00000000000000‰PNG  IHDR%=m"gAMA¯È7ŠéPLTEÿÿ‹ÇÕtIMEÐÒz¢tEXtSoftwareXPaint 2.4.9P½z1IDATxœc`€ ù üøøØX0°<``+``²``a`આe¿ò ÔiIEND®B`‚gpaint-2-0.3.3/pixmaps/arrow.xpm0000664000076400007640000000070707172011161013432 00000000000000/* XPM */ const char *arrow_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 2 1", " c Yellow", ". c Gray0", /* pixels */ " ", " ", " ", " .. ", " ......... ", " ....... ", " .... ", " ..... ", " .... ", " . ... ", " . ... ", " .. ... ", " . ... ", " ... ", " ... ", " " }; gpaint-2-0.3.3/pixmaps/babygnu_l.xpm0000664000076400007640000010372207172011161014243 00000000000000/* XPM */ const char * babygnu_l_xpm[] = { "100 150 257 2", " c None", ". c #020204", "+ c #668684", "@ c #840317", "# c #324440", "$ c #95C5FB", "% c #45030B", "& c #0C2220", "* c #496383", "= c #A48469", "- c #83664F", "; c #544334", "> c #7AA2CC", ", c #C90E32", "' c #223354", ") c #1612AC", "! c #282420", "~ c #290207", "{ c #506895", "] c #CACACB", "^ c #848585", "/ c #CD2D4F", "( c #041314", "_ c #A2A39A", ": c #30332E", "< c #3A4C74", "[ c #D5E4DE", "} c #5252CC", "| c #555453", "1 c #E9123C", "2 c #6985BF", "3 c #433022", "4 c #DD4664", "5 c #676563", "6 c #C9A282", "7 c #7EA4DA", "8 c #9A2238", "9 c #6D5440", "0 c #141315", "a c #434450", "b c #89B4E8", "c c #AA0A29", "d c #3A342E", "e c #180305", "f c #202E37", "g c #282832", "h c #627DAE", "i c #D1D3D3", "j c #7195C3", "k c #640614", "l c #ECECE9", "m c #707373", "n c #B99476", "o c #EB2248", "p c #A9B5B2", "q c #55769C", "r c #555569", "s c #22160B", "t c #7E9EDE", "u c #EF5B75", "v c #171924", "w c #0A0C0F", "x c #91745B", "y c #E72D4F", "z c #3C5577", "A c #C31E3C", "B c #8D9293", "C c #83A5EC", "D c #E2D6C4", "E c #372618", "F c #19231E", "G c #7696D5", "H c #435477", "I c #46514C", "J c #788A84", "K c #940416", "L c #374F68", "M c #62726C", "N c #D71035", "O c #483C2D", "P c #B2122C", "Q c #393945", "R c #1A2439", "S c #654D3A", "T c #F6133D", "U c #606264", "V c #B29375", "W c #E5526E", "X c #D9DADA", "Y c #761624", "Z c #2E3343", "` c #90BCF4", " . c #760519", ".. c #C4C4C4", "+. c #ABA9A8", "@. c #C2B2A0", "#. c #1C1B19", "$. c #F2FAF0", "%. c #698FB4", "&. c #2C475F", "*. c #091527", "=. c #7C644E", "-. c #83ACDF", ";. c #5A5A6A", ">. c #E53959", ",. c #445C7E", "'. c #E1E3E3", "). c #715A46", "!. c #B70D2C", "~. c #777573", "{. c #040D1D", "]. c #540510", "^. c #54709A", "/. c #49495C", "(. c #769BC8", "_. c #96765D", ":. c #534E48", "<. c #302C23", "[. c #360309", "}. c #6485AF", "|. c #908D8A", "1. c #5C78A4", "2. c #241C16", "3. c #1C140E", "4. c #4B4A48", "5. c #C59D7C", "6. c #334463", "7. c #688AB2", "8. c #AE8B6F", "9. c #655342", "0. c #B62644", "a. c #363D54", "b. c #98A49C", "c. c #C43C54", "d. c #A09D9B", "e. c #D4B8A0", "f. c #B3B5B4", "g. c #D9C3AE", "h. c #EF6984", "i. c #7272CC", "j. c #837D74", "k. c #98112C", "l. c #363A8C", "m. c #F24564", "n. c #DE1E44", "o. c #949593", "p. c #6E90B4", "q. c #C3AC99", "r. c #3E429C", "s. c #9094D8", "t. c #BEBEBC", "u. c #F43B5E", "v. c #2B3B56", "w. c #D73A58", "x. c #696B6C", "y. c #352D30", "z. c #BBC3E4", "A. c #BA344C", "B. c #6E8CC3", "C. c #B7BBBC", "D. c #F52048", "E. c #F52E55", "F. c #F35270", "G. c #4E4E5F", "H. c #DEDEDD", "I. c #626275", "J. c #4D6C8A", "K. c #886C54", "L. c #878B8C", "M. c #A3ABA9", "N. c #EB173F", "O. c #707C78", "P. c #3A5B78", "Q. c #2B3B49", "R. c #0B1B29", "S. c #7C7C7A", "T. c #625D54", "U. c #667EBC", "V. c #999B9C", "W. c #503D2E", "X. c #140C07", "Y. c #9B7C62", "Z. c #42363C", "`. c #203148", " + c #BE1838", ".+ c #FDFDF6", "++ c #AA263C", "@+ c #86ADEE", "#+ c #392C21", "$+ c #E4ECE7", "%+ c #DECEBC", "&+ c #020224", "*+ c #122336", "=+ c #890A21", "-+ c #3A4A44", ";+ c #081A18", ">+ c #6D0A1C", ",+ c #141E30", "'+ c #1E2A2C", ")+ c #970A24", "!+ c #172A3D", "~+ c #780A1D", "{+ c #D72D4F", "]+ c #799CD8", "^+ c #627E7C", "/+ c #8CB5F5", "(+ c #D6D6D4", "_+ c #3E506C", ":+ c #775D49", "<+ c #CDAB90", "[+ c #CA163C", "}+ c #CECECC", "|+ c #464A4C", "1+ c #2D2E37", "2+ c #D9163C", "3+ c #5C6A68", "4+ c #ADAEAD", "5+ c #302418", "6+ c #0D1417", "7+ c #6D061C", "8+ c #212227", "9+ c #9B0622", "0+ c #5E5E68", "a+ c #4B5D83", "b+ c #5D0511", "c+ c #5E4B3B", "d+ c #2A1D15", "e+ c #6F6D6A", "f+ c #676676", "g+ c #AC0E29", "h+ c #9EBAB4", "i+ c #F1627C", "j+ c #C4CACB", "k+ c #E63E5C", "l+ c #5D7EA6", "m+ c #F14A6A", "n+ c #F26E84", "o+ c #1D1E28", "p+ c #1F2A3F", "q+ c #1E1A9C", "r+ c #585A54", "s+ c #463629", "t+ c #3B3A34", "u+ c #EDF2EA", "v+ c #8E9A9C", "w+ c #E7DED1", "x+ c #B31A37", "y+ c #3D3E48", "z+ c #354A6A", "A+ c #F7264E", "B+ c #0B0404", "C+ c #8C031C", "D+ c #304254", "E+ c #4D0512", "F+ c #4F658C", "G+ c #5B4535", "H+ c #A4A5A4", " ", " ", " ....}+}+] .. ", " ..i '.^ ^ a ^ ..H.i .. ", " ..}+..4.. . w w . . . x.'.}+.. ", " ..(+e+. g /.;.;.G.a y+g . . L.X ] ", " ..(+y+w y+| 0+I.I.;.r /.a y+g . 1+..}+.. ", " ..(+y+v a G.r 0+I.I.0+;.r G././.Q B+. H+i .. ", " ..i y+v a G.r r ;.;.;.;.;.r r r r G.a 8+. |.(+.. ", " ] o.w a G.r r r r r r r r r r r r r /.a 1+. m X .. ", " (+o+Q /.G././.a y+g y+/.G.r r ;.r r r G.a Z . d X .. ", " ..f.w Q a a y+1+0 . . . g a G.r r ;.;.r r G.a Q . t+(+.. ", " ..}+(+(+i ] .. ..d.. g o+. . 8+U L.L.o.. 8+a G.r r r r r r G.a Z . o.i .. ", " ..X T.8+! t+^ (+(+] ....o.. . y+d.'.X i }+] (+L.. Z a G.r ;.;.r r r G.a 8+. o.}+ ", " ] ] 0 w 1+g 0 . . : V.H.}+(+S.X (+.. ..(+m . Q /.r r r ;.r r r /.a o+. ] ] ", " ..] w Q G.r r G./.Q o+. . o.H.] .. ..H.w g a G.r r ;.;.;.r r /.Q B+#.X .. ", " ..i Q Q r ;.0+;.;.r G./.a 1+. d C.i .. ] +.. y+/.r r ;.r r r r G.a Q . o.}+ ", " }+S.8+G.r 0+0+;.;.r r r r /.y+0 . S.X .. ..X B+g a G.r r r ;.r r r /.a o+. H... ", " ..}+0 Q r r ;.;.;.r r r r r r G.a g . #.X ] ] +.. a G.r r r r r r r G.a Q . ^ }+ ", " ] S.v a r r ;.r ;.r r r r r ;.r G.a Q w . f.}+.. ..'.. Q /.r r r r r r r r G.a g w H... ", " (+1+Z /.r r r r r r r r r r ;.r r G.a y+v . S.(+.. (+|+v a G.r r r r r r r r /.y+. ^ }+ ", " ..i 0 Q /.r r r G.a Q G.r r r r ;.r r G.G.a g . S.(+.. ] H+. a /.r r r ;.;.r r r G.a g w H... ", " ..C.. y+/././.a g . Q a /.r r ;.r ;.r r r G.a 1+. S.(+....] i X $.. a /.r r r ;.;.;.;.r r /.y+. ^ ] ", " .. . y+a y+Z 0 U 4.. o+y+/.r r r r r r r /.a y+g . S.'.'.+.4.1+y+. a /.G.r r ;.;.;.r r r G.a o+<.X ", " ..C.. Z Z o+0 _ X X H+. B+y+/.r r r r G.G.G./.1+0 . . S.. . . . B+. g G.r r r r ;.;.r r r r /.Q . }+.. ", " ..i . v . 1+}+] }+}+! . Q /.G.G.G.G.a #.v 8+y+Q . w g a y+y+a /.B+r G.r r r ;.;.;.r ;.r G.a . ^ ] ", " i : . U X .. ..X :.. Z a a y+#.v /.G./.a w Z /./.G.G././.G.. r G.r r r ;.;.;.;.r r r a v 4.(+ ", " ..i (+}+.. ..X :.. Q 1+0 y+G.G././.o+y+G.G.r r r r G.G.w Q G.r r r ;.;.;.;.r r r /.1+. '. ", " ..H.:.. o+/./.G.G.G.w G.r r r r r r r G./.g 1+r r r r ;.;.;.;.r r r /.y+. C... ", " i H+1+/.G.G.G.G.Q a r r r r r r r r G./.y+o+r r r r ;.;.;.;.;.;.r G.a . +.] ", " ....0 y+r r r G.r g ;.;.;.;.r r r ;.r r G.G.. r r r r ;.;.;.;.;.r r r /.. x.}+ ", " i t+Q r ;.r r G.r Q I.I.0+;.;.;.;.r r r G.r o+;.r r r ;.;.;.;.;.r r r /.o+4.i ", " ..f.w G.0+0+;.r r y+/.f+f+f+0+;.;.;.;.r r r r g r r r r ;.;.;.;.;.r r r a 8+4.(+ ", " ] U 8+r U I.;.r r Z r f+f+f+0+;.r ;.;.;.r r r r r r r r ;.;.;.;.;.;.r G./.8+4.(+ ", " i |+8+| 0+0+r /./.1+G.0+I.0+;.r r r r r r r r r r r r r ;.;.;.;.;.;.r G.a o+4.(+ ", " i 4.v a G.G.a Z 1+v 6+a G.r G././.G.G.G.r r r r ;.r r ;.;.;.;.r ;.r r /.Q v | H... ", " ] ^ . 1+Z 0 . X.s+:+s+o+Z 1+v v v 8+a /./.G.r r r r ;.;.;.;.r r r G./.Q g . B+H+}+ ", " ..l v . . X.W.Y.8.= x B+X.3.3 3 3.. . 1+a /.G.r r r ;.r ;.;.r r G.a 1+B+w 6+. . ] .. ", " }+V.. ; Y.= = 8.n V 8.x V V 8.8.8.Y.c+. w Z a /.G.r r r r r r G.y+#.w ,.}.}.D+. e+(+.. ", " ] V.s =.x = Y.8.V n n n =.5.5.5.5.5.5.8.=.5+. o+Q a /.G.r r G./.Q B+Q.j > 7 > }._+. o.] ", " }+B s+- X.B+s+! 5+3.8.n V w x 5.5.5.5.6 6 n = 2.! . Z Q a a a a Z v ,.(.-.b ` b 7 %.Q.4.}+ ", " ] B s _.= B+; #+_.8.V O x V Y.G+5.5.5.6 6 6 5.5.8.O 3 . #.. . {.w . * (.-.` ` ` ` b j ,.4.i ", " ....2.K.V V 9 W.n V 8.V V V 8.x #+n 5.6 6 6 6 6 5.n :+9 W.w K.K.).s _+j -.` ` $ $ ` b > ^.r+i ", " }+5 s+8.5.5.5.5.5.V V 8.8.= = = G+).5.5.5.5.5.5.5.5.V #+Y.#+S = 9 D+j 7 b ` ` ` ` ` b > ^.r+}+ ", " (+#.K.n 5.5.5.5.n 8.c+2.. 0 K.8.= d 8.V V 5.5.6 5.5.n x :+= . =.! }.> b ` $ $ ` b b b > ^.r+i ", " ..C.3.= 5.6 6 6 5.8.=.K.n n = 0 O 8._.#+= 8.5.5.6 6 5.5.n :+V - . `.p.7 ` b Q.. . 7 ` -.(.* 4.i ", " ] L.G+8.n 5.n n 8.Y.=.Y.= 8.8.n W.).8.3 - V 5.6 5.5.6 5.5.5.n = X.D+%.7 b Z -.$ 1.. (.b j L O }+ ", " }+a G+= 8.8.= :+B+. . . . e E - = V 8.Y.. 8.5.5.5.5.5.5.5.5.5.8.9 . }.> b ` ` ` $ p.f b %.&._ ] ", " ..X a :+K.O W.O 3.B+: r I.[ C.U . . S Y.Y.9.3 n 5.5.6 6 5.5.6 5.n K.. v (.b ` $ $ ` $ . b p.&.d... ", " ] L.3.x = 8.V 8.= 9 _ } q+z..+.+$.M.. B+- ).. ).8.n 5.5.5.6 5.6 5.Y.#+*+6+-.` $ $ $ $ > b j &.d... ", " ..j+2.- = 8.n 5.5.8.9 C.l.. s..+$.$.u+f.B+- - 2.. 9 = n 5.5.5.5.6 5.8.K.X.J.(.-.` $ $ $ $ ` > z H+}+.. ", " ] x.#+= 8.n 5.5.5.V ).f.r.&+i..+$.$.$+b.d+Y.x :+. w ; 8.5.5.5.5.6 5.5.= :+. ^.(.b ` $ $ $ ` -.{ O |.i .. ", " (+y.K.V 5.5.5.6 6 n - _ s.) z..+$.u+i I S 8.8.Y.W.w ).G+5.5.5.5.6 5.5.n = S . J.j -.` $ $ $ b h . . 5 ] ", " ..4+5+= n 6 5.5.5.6 5.Y.:.j+z.$.$.$.$+p . _.V 5.8.Y.X.; = n 5.5.6 6 6 6 5.5.V x . z %.-.` $ ` b 7 R ,.| }+ ", " i Q ).8.5.6 5.5.5.6 5.8.S I (+$+u+$+j+t+c+8.5.5.5.V Y.B+2.= 8.V n 5.5.5.5.6 5.V x 3 f q b ` ` /+/+f F+T.i ", " ..] 2._.8.5.5.5.5.5.6 5.5.= s+r+M.C.b.8+d+Y.n 5.5.6 5.8.Y.2.. =.x _.Y.= = = = = Y.x 9 2.}.-.b ` D+$ 7 1.#.(+ ", " ..B E = V 5.5.5.5.5.6 5.5.5.Y.B+B+#.X.3 x 8.n 5.5.5.6 5.8.Y.2.. . X.. w B+B+B+0 v w . R.7.> b ` o+L -.}.( C... ", " }+| 9 V 5.5.5.6 6 5.5.5.5.5.:+#+2.).; = 8.V n 5.5.5.6 5.8.- . v.R R w w R ,+p+p+. B+#+. * (.b ` ` _+b p.R +... ", " i a Y.5.5.5.5.5.6 5.5.5.5.=.V 8.8.n 5.5.5.5.5.5.5.5.6 5.= X.z v.^.2 2 h { H ' B+; x x ; !+j -.b ` > b j !++... ", " ..X y.Y.n 5.5.5.n 5.8.= Y.3.x 5.5.5.5.5.5.5.6 6 5.5.5.5.8.9 {.2 Z C 7 ]+7.^.*+0 - = 8.8.x . ^.j 7 -.b -.j {.+... ", " ..] j+^ 3.x S w . B+c+= Y.=.c+V 5.5.5.5.5.5.5.5.5.6 6 6 6 n Y.e { ]+D+` -.> }.L 3 x 8.n 5.5.8.s+. ,.7.j (.(.7.{.4+.. ", " ..}+V.B+c+).#+9.8.8.Y.. O - G+= V 5.5.6 5.5.5.5.5.6 6 6 5.6 V K.. B.{ h ` 7 p.P.E x 8.5.5.6 5.n Y.W.. . `.}.}.h R m i ", " ] V.X.K.Y.9.n n n n 8.=.<.; 8.V n 5.5.5.5.5.5.5.5.6 6 6 6 6 8.3 ' B.H ` -.j q 3.K.8.5.5.5.6 5.5.V 8.Y.).X.{.1.h ,.. }+.. ", " (+! - 8.=.5.5.5.5.5.n = x 8.5.5.5.5.6 5.5.5.5.5.5.6 6 6 6 5.Y.. ^.B.H /+7 }.!+9 = n 5.5.5.5.6 6 5.n = #+O . * }.}.' 4.] ", " ..C.. = 5.6 5.5.8.8.n V 8.K.n 5.5.5.5.5.5.6 5.5.5.5.5.6 6 5.8.9 . U.a+@+-.(.^.3._.V 5.5.5.5.5.5.6 6 5.8.).O ^ ^.7.B.J.U i ", " ] r+s+8.n 5.n Y.. ; V 8.8.9 n 5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.= 2.v.B.< @+7 j ,+).= n 5.5.5.5.5.6 5.5.5._.#+4.~.,.}.7.J.T.}+ ", " i r+W.8.n 8._.. . #+V n V V 5.5.5.5.n V V n 5.5.5.5.n V n 5._.. 1.1.^.@+7 }.! x 8.5.5.6 6 6 6 6 6 5.n Y.W.o.T.R.^.q &.|... ", " i 0+W.8.8.= s+. 2.9 n 5.5.5.5.5.5.5.n 8.8.8.8.8.8.8.8.8.n V ).. B.< /+-.(.,.W.= n 5.5.5.6 6 6 6 6 5.V :+5+}+i B+R.D+R .... ", " ] 0+s = 8.= #.; s+= 5.6 6 6 5.5.5.5.5.n 8.8.= = 8.V V 5.5.8.5+z+G H /+7 7.`.- 8.5.5.5.5.6 6 6 6 6 5.8.:+:.(+] ] :.. U }+ ", " .. . K.= V 5+).K.5.5.6 5.5.5.5.5.5.5.5.5.n V n 6 q.q.q.O =.B+1.G v.@+G h 8+K.8.n 5.5.5.6 6 6 5.5.5.= G+x.] ..'.. .. ", " X 8+W.= n ; K.n 5.5.5.n V n 5.5.5.5.5.6 6 6 q.q.@.d.T.; :+. 2 { B.-.j q o+- = n 5.5.5.6 6 6 5.6 n Y.E f... }+5 }+ ", " ] d.. x 8.x ; 5.5.5.n ).#+Y.n n 5.5.6 <+e.q.j.0 0 y+. 5+d+v.j _+@+C j ^.o+K.= n 5.5.5.6 6 6 6 6 n x 2.(+ ...... ", " ..'.. 9 = 8.n 5.5.5.V . K.V 5.5.5.5.<+g.g.d.U d.~.C.i . . F+G Z /+-.j ^.o+- = n 5.5.5.6 6 5.5.5.V - 5 i ", " (+Q G+Y.8.n 5.5.n n 2.x n 5.5.5.<+g.D ] d H+}+....i ~.. h ]+a.` @+(.1.. c+Y.8.5.5.6 5.5.6 5.5.= 9 I i ", " ..H.m :+= 8.x S = = 8.. 8.n 5.6 <+g.w+'.4+. }+ ] }+. }.]+. $ b t 2 6.. - = V 5.5.5.5.5.5.n Y.c+8+H... ", " i X.3 :+8.x = x K.K.c+=.5.5.6 <+g.w+l '.r+^ }+ ] L.*.}.t a+$ /+-.G U.`.B+).Y.8.5.5.5.5.n Y.9.=.. U }+ ", " ..i '.8+2.=.x x d+. . . . 8.5.5.6 e.D l u+X :. .. i e+`.2 ]+,.` ` ` -.]+U.`.. O x 8.V V 8.8.W.K.= 9 . '... ", " ..] }+g . E #+3.. 0 2.K.x ).. = n n <+%+l $.l ..0 .. j+..<.' 7.7 ,.$ ` ` ` -.G h < . . W.x = 9 8.= 5.V Y.. a ..] ", " ..}+H+. 9 Y.= = Y.x O = 8.= =.. = 8.; @.w+$..+$+C.g .. ..(+d . v.B.-.,.$ ` $ ` b 7 7.{ 0+i y+3 Y.).n n 5.5.V K.3.B+}+ ", " ..}+S.E _.V 5.5.5.8.x ; n n 8.K.. x K.3.j.(+u+$.H.a 4... }+L.E . J.j @+a+$ ` $ $ $ b (.1.| l f.d+= n 5.5.5.5.V #+. | i ", " ] _ 5+Y.n 5.5.5.5.n n 5.5.5.8.K.. s+. C.t+V.H.'.d.| .... ..... =.. l+j /+a+$ ` $ $ $ ` 7 7.. l r+9 V 5.5.5.5.5.V x 3.B i ", " ..}+! x n 5.5.5.5.Y.5.5.5.5.5.8.x . S.f.X +.y+x.V.a :.}+ (+X.#+K.. l+j /+o+$ ` $ $ $ ` 7 %.. }+5+Y.n 6 6 5.5.5.8.K.s |+}+ ", " ] | 9 8.5.5.n n :+Y.5.5.5.6 5.n Y.d+y+(+..r+. 8+t+: m .. ..M.X.=.K.. 1.j /+a+$ ` ` $ $ ` > 7.. m #+8.5.5.5.6 6 5.8.- . L.}+ ", " ..}+s+Y.n 5.n 8.:+V n 5.5.6 6 5.5.= 9 . X ..}+..H+0 : i .. i ~.W.= K.. q j /+,.$ ` $ $ $ ` 7 %.w d S 8.n 5.5.5.5.5.V _.. 4+.. ", " ] ^ W.8.n n 8.=.n 5.5.5.5.5.5.5.5.V K.w H. ..] i }+.. . s+8.x . q j b ,.` ` $ $ $ ` -.p.;+S.:+= n 5.6 6 5.5.8.; . H+.. ", " i g K.8.5.5.n n 5.5.5.5.5.6 6 6 5.V x . .. ....3.= n Y.. 1.(.b ` $ $ $ $ $ ` -.j f : 3 = 5.5.5.5.5.n = 5+d X .. ", " (+! K.8.5.5.5.5.5.5.5.5.5.5.5.5.6 n Y.. f... }+m G+= 8._.. l+(.b ` $ $ $ $ $ ` -.(.f d.#+= n 5.5.5.n 8.9.3.V.] ", " (+d K.8.5.5.5.5.5.5.5.5.c+5.5.6 6 n x B+.. ] f.X.=._._.=.. l+(.b $ $ $ $ $ $ ` b (.!+d.d+- =.#.8.8.= - B+L.i .. ", " X ! =.8.5.5.5.5.5.5.n n . n n 5.5.V - a i ] X 4+8+. ).O ; :+. l+(.b $ $ $ $ $ $ $ b j !+d.. 5+; 0 =.; S O . H+.. ", " (+w 9 = n 5.5.6 6 5.n V 3.- 8.n n = E B .. ..i M.w . 3 Y.8.= Y.- . l+(.b $ $ $ $ $ $ $ b j * r+r+8+#+9.3.; #+c+X.}+.. ", " }+x.5+x = n 5.5.6 5.5.V 9 . Y.= 9.- X.X .. ] X Q . 9 Y.8.n n V 8.x . 1.j b ` $ $ $ $ $ $ b (.J.<.l (+#+x K.8.= K.3.] .. ", " ..i . )._.8.n 5.5.6 5.n 8.#+. x _.:+m '... }+j+. E Y.V n 5.5.5.5.n Y.. q j -.` ` $ $ $ $ $ ` (.1.! l L.S = 8.n n Y.X._ ] ", " i 4.. :+_.8.n 5.5.5.5.n 8.#+. 3.9 . Q H.X o.. S 8.n 5.5.5.5.5.6 5.= B+^.G ^./+` $ $ $ $ $ ` 7 }.. ] s Y.n 5.5.5.8.W.y+}+ ", " ..i 0 d+:+x = 8.V n n Y.x 8.x x = =.e 8+B . K.n 5.5.5.5.6 5.5.6 5.= B+,.j _+/+` $ $ $ $ $ ` -.7.. :.- V 5.5.6 5.8.#+^ i ", " ] }+. . 5+9 :+K.Y.= ).V n n 5.V = :+Q 3.x n 5.6 5.5.5.5.5.5.5.5.8.3.v.B.C 1.` $ $ $ $ $ $ -.p.`.3 = 5.6 6 6 5.V =.#.(+.. ", " ] X B 8+0 . . . s Y.n 5.5.5.5.V K.X.K.V 5.5.5.5.5.5.5.5.5.6 5.8.3 ' }.]+H ` ` $ $ $ $ $ b j 6.s 8.5.6 5.6 6 n Y.s V... ", " ..] (+X H.'.l y+S V 5.5.5.5.8.d W.8.5.5.5.5.5.5.5.5.5.5.6 5.= 3 ,+h G ^.` ` $ $ $ $ $ b (.^.B+= 5.6 5.6 6 n Y.y+X .. ", " (+x.- = n 5.6 n x 3.Y.n 5.5.5.5.5.5.5.5.5.5.6 5.= S . 1.j _+/+/+` $ $ $ $ ` (.l+. Y.n 6 6 6 5.n K.2.(+ ", " X B+3 K.8.5.5.8.; #.8.5.5.5.5.5.5.5.5.5.5.5.6 6 8.K.. 1.B._+/+b ` ` $ $ $ ` 7 %.. =.V 5.5.5.5.8.K.| i ", " (+. s =.Y.n n Y.B+:+V 5.5.5.5.5.5.5.5.5.5.5.5.6 n _.. ^.2 { j /+` ` $ $ $ $ -.j `.#+8.5.5.6 5.8.- | i ", " }+_ . #.).= = =.. = n 5.5.5.5.5.5.5.5.5.5.5.5.6 5.Y.B+{ 2 7 H ` ` $ $ $ $ $ b (.1.. _.V 5.5.5.8.- | i ", " .. . 0+d+: W.. X.8.5.5.5.5.5.5.5.5.5.5.5.5.5.6 5.= B+6.}.t H ` ` $ $ $ $ $ ` 7 p.{.S 8.5.5.n 8.3 | }+ ", " ] (+~.w y+:.B d+8.5.5.5.5.5.5.5.5.5.5.5.5.5.6 5.8.3 ' 2 ]+H /+b ` $ $ $ $ $ b (.,.. Y.n 5.V _.X.f... ", " ..] (+... U s 8.5.5.5.5.6 5.5.5.5.5.5.5.5.6 5.8.c+. }.j _+/+b ` $ $ $ $ $ ` 7 %.{.S = 8.Y.W.B }+ ", " ] '.U 2.= 5.5.5.5.5.6 5.5.5.5.5.5.5.6 5.n x . 1.2 F+q b ` $ $ $ $ $ ` b (.,.. 9 G+. |+i .. ", " X . d+8.n n V 5.5.5.5.5.5.5.5.5.5.6 5.n Y.. { h G Q./+` $ $ $ $ $ $ ` 7 %.*+. | $+i .. ", " H.. 5+8.n Y.! 2.5.5.6 5.5.5.5.5.5.5.6 5.= 3.`.1.j H /+` $ $ $ $ $ $ ` -.(.l+. :.l (+] .. ..}+i ] .. ", " (+: 2.= 8.Y.w x 5.5.6 5.5.5.5.5.5.6 6 5.8.G+( 1.B._+G ` ` $ $ $ $ $ ` b ]+B.1.R.. ! +.H.X +.e+3.S.X ] ", " i | 3.Y.8.V Y.5.5.5.5.5.5.5.5.5.5.6 6 5.8.K.. ^.2 C a.` ` $ $ $ $ $ ` b C ]+j B.h v.. . v !+,.,.{.. .... ", " ] m . x = V n 5.5.6 5.5.5.5.5.5.5.6 6 5.V = B+{ h ]+,+` /+` $ $ $ $ ` /+@+@+@+-.-.-.-.-.-.-.-.(.}.!+:.i ", " ..... ).= V n 5.6 5.5.5.5.5.5.5.5.6 5.6 5.8.E `.1.j ^.6.` b ` $ $ $ ` /+/+/+` ` ` ` b b ` ` ` -.(.l+. ] +....... ", " X 0 2._.8.5.5.6 5.5.5.5.5.5.5.5.6 6 6 5.V ).. 1.B.C v.` ` ` $ $ $ ` ` ` ` $ $ $ $ ` ` ` $ $ ` -.j z+3.(+ V.L.~.i .. ", " }+m . :+= n 5.5.5.5.5.5.5.5.5.5.6 6 5.5.n _.. * }.]+B.D+` ` ` $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ b 7 7.. f... ..X 1+. B i .. ", " ..... d+_.V 5.5.5.6 6 6 6 6 6 5.5.6 5.6 5.= 5+R }.B.@+q 7 ` ` $ $ $ $ $ $ $ $ $ $ $ $ $ ` ` $ ` -.j ' :.}+ ..] 9.; c+! 1+}+ ", " (+: . 9 Y.V 5.5.5.5.5.5.5.5.6 6 6 6 6 5.8.=.. 1.7.]+b (.$ $ $ $ $ $ $ $ $ $ $ $ $ (.b $ ` ` ` -.j ,.r+i ..}+ S.E =.K.K.O X.(+.. ", " ..}+. . :+= n 5.V V V n V n 5.5.5.5.5.5.8.x 3.`.}.G -.` $ $ $ $ $ $ $ $ $ $ $ $ $ p.. b ` b b -.p.z r+}+ ..i m 5+:+Y.= = = - E m ] ", " }+d.. . =.= 8.Y.Y.= c+9 = 8.V 8.8.8.= ).#.#+. J.p.7 b ` $ $ $ $ $ $ $ $ $ $ $ ` $ 6._+` b b 7 7.' |... .. t+9 Y.8.n n n n = 9 #.i ", " i +.. . s+#+5+3.0 9 <.! - =.O d d 6+d 5+s+X.6+}.(.-.b ` $ $ $ $ $ $ $ $ $ $ ` ` 7 `.$ b -.(.1.| (+.... d :+= n 5.5.5.5.5.8.=.d i ", " ..j+j+j+] ] }+i }+}+X H.8+X.:+= S = _.=.<.w . . . [.[.B+B+. . . . Q.}.(.7 b ` $ $ $ $ $ $ $ $ $ ` b ]+f $ b -.(.z :.i ..i :.9 = V 5.5.5.5.5.5.8.).~.}+ ", " ..}+(+[ [ [ h++ |.J J J O.8+^ ^ U . 9 K.K.8.= =.& . [.7+c !., , , , !.!.!.k ~ . ( ^.p.> b ` $ $ $ $ $ $ $ ` b b ]+f $ b -.j `.:.i ] ^ 3 K.= 8.8.8.8.n 5.5.= c+x... ", " ..i (+^+d [.[.b+K K K @ % % e e . ( : d s+w X.<.<.. b+!., N N N 1 1 1 2+N N N N , c % . L %.> -.` $ $ $ $ $ $ ` b b ]+f $ b -.j P.:.(+(+t+S K.K.c+X.B+5+_.8.V _.3 }+.. ", " ] i # ~ @ c +[+2+N N N N , , , , !.C+~ F =.Y.x ( ~ k.A {+y o o N.1 T 1 1 1 1 1 1 1 N !.C+B+;+%.(.-.` $ $ $ $ $ $ b b ]+f $ b -.(.l+B+H.'.. 9 9 3.R.< 6.{.. 9 x S 5 ] ", " }+p . @ x+/ / w.y o N.N.1 1 1 1 1 1 N , c @ . : F % x+/ w.m.m.u.E.D.T T T T T T T T T 1 N , c e R.%.> -.` $ $ $ $ $ b b (.f ` @+-.(.7.. S..+0 E #.*+R . { { ' . 3.d i .. ", " ] p . C+A w.W W u m+u.D.T T T T T T T 1 2+, !.c [.[.A / 4 u F.F.u.E.D.T T T T T T T T T T 1 N , c % R.l+> -.` $ $ $ $ b b (.p+/+C 7 ]+B.1.. <.. v l+l+2 a+. 1.F+6.. o.] ", " ..(+. @ A w.W h.n+i+F.u.D.D.T T T T T T T 1 N , N b+2+{+4 u u F.u.E.A+D.T T T T T T T T T T T 1 2+, !.% & j > b ` $ $ $ b -.G w @+]+t ]+G j j (.(.(.j 7.2 B.v.R ^.,.. (+.. ", " }+O.e x+{+W i+h.h.F.u.E.D.T T T T T T T T 1 1 N 1 E+o >.W F.m+u.E.D.D.D.T T T T T T T T T T T T 1 1 , c e &.j > b ` $ $ b -.@+. C 7 t ]+7 > 7 7 7 -.-.C ]+B.2 . a+^.. H.X i .. ", " X ;+].0.4 u i+u m+u.E.D.D.T T T T T T T T 1 1 N )+k.E.m+F.F.u.E.D.D.D.D.T T T T T T T T T T T T T 1 N !.K . %.(.-.` ` ` ` b b v.w { @+@+/+` ` b b > '+. Z G G < . U.. ~.v . 0 (+.. ", " X . k.A.W i+u m.E.A+D.T T T T T T T T T T T 1 1 )+ +>.W F.m.E.D.D.D.D.T T T T T T T T T T T T T T T 1 , !.~ &.p.7 b ` ` ` b b /+^.* ,.,.L . * ` ` ` ` /+^.. 1.]+R 2 < H l+^.{.| i ", " (+. 8 c.W i+F.u.A+D.T T T T T T T T T T T T 1 1 9+ +y m.m+m.E.D.D.T N.1 1 1 1 1 T T T T T T T T T T T 1 , C+w %.> b b /+/+/+b b /+` ` ` $ $ $ $ $ ` b b /+1.0 C G ]+]+]+j }.J.. i ", " (+. 8 c.W m+m.E.D.D.T T T T T T T T T T T T 1 1 E+[+y u.u.u.E.D.N.N.1 1 1 1 1 1 1 1 1 T T T T T T T T 1 N c . 7.(.-.@+@+/+/+/+` ` ` ` ` ` ` $ $ $ $ ` /+b ` . /+t 7 C -.7 j l+. (+ ", " X . Y A.w.k+E.A+D.D.T T 1 1 1 1 1 1 T T T T 1 1 9+, o y E.E.D.o N.N.~+~+[.>+>+ .1 1 1 1 1 1 T T T T T 1 N !.~ J.j 7 C @+@+/+` ` $ $ $ $ $ $ $ $ $ $ $ ` ` ` (./+@+@+@+b -.j l+. (+ ", " (+Q.% ++/ y o D.T 1 1 1 1 1 1 1 1 1 1 1 T 1 N N )+)+N.n.D.D.N.2+2+. [.% 7+)+=+>+~ [.[., 1 2+1 T T T T T N !.[.P.j ]+C C @+/+` $ $ $ $ $ $ $ $ $ $ $ $ $ $ ` ` ` /+/+/+/+-.(.1.B+(+ ", " ] B . k.A n.N.T N.1 N =+% k b+e b+g+1 1 1 1 N N , e 1 1 N.T 1 N =+~ % ].e =+>+~+>+!.b+e ].N 1 1 T T T T N !.[.P.j ]+7 @+/+` $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ` ` ` /+-.G z+T.H... ", " ..(+& b+P N 2+1 1 2+e ~ 7+ .k .)+% [.~+1 1 N , , . c 2+1 1 1 N =+. ].7+[.[.].)+k , N @ )+~ !.1 1 T T T N c [.z %.]+C @+/+` $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ` ` /+-.]+^.. ~.}+ ", " ] f.. @ !., 2+N N . .b+ .7+=+=+ .~+k B+c N , , .e N N 1 1 N N . ].E+>+b+ .)+g+, =+c 7+!.[.1 T T T 1 N c [.q 2 ]+C /+` $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ` ` @+]+2 ,.. (+ ", " i M . C+!., , , . 7+@ =+ .=+=+7+=+)+=+% E+N , N e b+N N N N N >+. ]. .>+7+ .N c , , =+=+!.[.1 1 1 1 , 9+. J.}.G -./+` $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ` b C B.h . X ", " ..(+M . .c g+!.~ % k .=+=+@ ~+=+7+7+, b+E+, , !.. )+, , N N N . ~+]., c !.. N , , c k N ~ g+1 1 N !. .F *.1.j C b ` $ $ $ $ $ $ $ $ $ $ $ ` ` ` ` ` ` ` $ $ $ ` ` b -.(.7.. ] i .. ", " ....] X p w ~ @ 9+)+B+b+=+7+ .=+=+9+)+7+~+~+~ >+, !.c . )+!., , N !.e )+=+, N )+!., , N , , !.. 1 , !.@ #+$+#.z+}.(.-.b ` ` $ $ $ ` ` b b b b -.-.-.-.-.-.b b b b b b -.7 j }.' . y+(+..", " ....] ..x.e+}+i '.v+. e b+ .[.~ ~+7+k c .=+9+!.=+)+. !.!.c K . % 9+!.!., !.[.!.!.N N !.=+N N , , N . N c @ e [ (++.. ,.}.j > -.-.b b b -.> (.j j (.G j j G (.> 7 7 > ]+]+(.j B.}.q * L . S...", " ......U 5 o.f.| X H+S.H.l j+3+X.e % e ~ .E+=+)+=+7+)+, [.=+c @ % '+# . ].9+c !.!.7+% g+, , , , , , !.!.B+b+b+. ..j+ }++.. *+J.l+%.j j j %.}.J.!+a 2.. L 1.1.1.H `.. R.z+1.h q z a.3.. . R.. j...", " ....^ S.^ ] }+e+o.x.L.4.t+^ L.B+$+$+f.f w . . ~ ~ .C+K k 9+~ % b+. : X H.}+;+. B+].C+9+c % b+~+c !.!.c 9+C+. ~ M X ] }+X |.3.! . *+v.v.R.y+e+..(+X i w v.H ' {.x.(+] <.. `.*.S.X (+H.] ! . f...", " ..T.+.] ......5 o.}+H+o.i i r+| |.U C.(+'.C.L.r+f '+Z.B+e e : y+J X i .. ..(+'.B f ( . e [.[.~ . ~ ~ [.e . I ..i .. ..] i X i S.S.+.(+i ] .. }+o.. . t+f.i ] ] (+|.8+o.}+.. ..i i ] ", " ...... ................] }+] .... ..] i (+X X [ [ [ X i ] .. ..] (+H.'.M.J J J J J J -+3+..(+.. ....] .. ..}+X H.i ] |.H+4+] }+(+i ] ..H+........ ", " ....] ] ] ] ] }+i }+.. ..}+..5 g }+i o.^ 4+V.x.(+(+5 .. ", " ..i T.a 4.| H+e+:.! 0 o.o.0 d ^ .. ", " ..L.. d.d | |+. w ! |.(+o.~.| ] .. ", " ..H+U T.| d 4.^ f.d.^ ..H+] H+.. ", " ..}+o.] i i ] ........ ", " .. ", " "}; gpaint-2-0.3.3/pixmaps/background.xbm0000664000076400007640000000017607172011161014401 00000000000000#define background_width 4 #define background_height 4 static unsigned char background_bits[] = { 0xfe, 0xfd, 0xf7, 0xfb}; gpaint-2-0.3.3/pixmaps/boxOp.xpm0000664000076400007640000000331207427457132013401 00000000000000/* XPM */ const char *boxOp_xpm[] = { /* columns rows colors chars-per-pixel */ "30 30 42 1", " c Gray0", ". c Gray1", "X c Gray2", "o c #1e1e1e", "O c Gray15", "+ c Gray16", "@ c #2c2c2c", "# c #323232", "$ c #686868", "% c Gray41", "& c Gray42", "* c #9f9f9f", "= c #a2a2a2", "- c #a4a4a4", "; c Gray65", ": c #a7a7a7", "> c Gray66", ", c #a9a9a9", "< c Gray69", "1 c #b6b6b6", "2 c Gray74", "3 c Gray81", "4 c Gray82", "5 c #d2d2d2", "6 c #d3d3d3", "7 c Gray83", "8 c #d5d5d5", "9 c Gray84", "0 c #d8d8d8", "q c #dadada", "w c Gray86", "e c gainsboro", "r c Gray87", "t c #dfdfdf", "y c #e2e2e2", "u c Gray89", "i c Gray90", "p c #e6e6e6", "a c Gray91", "s c #e9e9e9", "d c #eaeaea", "f c #f6f6f6", /* pixels */ "999999999999999999999999999999", "999999999999999999999999999999", "999999999999999999999999999999", "999999999999999999999999999999", "999999999999999999999999999999", "999999999999999999999999999999", "999999996666666666666666999999", "9999999tyyyyyyyyyyyyyyyyt99999", "999999q<=>----->-->----*2q6999", "999996i#..............X.&s6999", "999996s@o1-->--->---->-.&s6999", "999996sO+ftyyyyyyyyyyit.&s6999", "999996sOOi3666666666693.&s6999", "999996sOOs6999999999996.&s6999", "999996sOOs69999999999q6.&s6999", "999996sOOs69999999999q6.&s3999", "999996sOOs69999999999q6.&s6999", "999996sOOs69999999999q6.&s6999", "999996sOOi3666666666696.&s6999", "999996sO+ftyyyyyyyyyyyt.&s6999", "999996s@o1---->------>-.&s6999", "999996i#..............X.&s6999", "999999q<=>->----->->>--*2q9999", "9999999tiyyyyyyyyyyyyyyyt99999", "999999996666666666666666999999", "999999999999999999999999999999", "999999999999999999999999999999", "999999999999999999999999999999", "999999999999999999999999999999", "999999999999999999999999999999" }; gpaint-2-0.3.3/pixmaps/brushOp.xpm0000664000076400007640000001343507427457132013743 00000000000000/* XPM */ const char *brushOp_xpm[] = { /* columns rows colors chars-per-pixel */ "30 30 243 2", " c #090918", ". c #08083d", "X c #38331f", "o c #202020", "O c #2e2723", "+ c #3a3634", "@ c #3b3835", "# c #313b3d", "$ c #161648", "% c #0e0e63", "& c #1a1a6f", "* c #1d1d73", "= c #2d2d6b", "- c #292977", "; c #242473", ": c #354143", "> c #3f4d4f", ", c #452b17", "< c #49392c", "1 c #44352d", "2 c #403a36", "3 c #423e3b", "4 c #6f3006", "5 c #6c340f", "6 c #663517", "7 c #633616", "8 c #6f3c1a", "9 c #72370f", "0 c #7a380c", "q c #584739", "w c #77421c", "e c #69513e", "r c #7d4622", "t c #444a4b", "y c #404d50", "u c #445356", "i c #46595f", "p c #4e5455", "a c #48565a", "s c #505556", "d c #5b5756", "f c #5b5958", "g c #5b5c52", "h c #4e5d61", "j c #5c5f65", "k c #546468", "l c #596a6e", "z c #5a6c70", "x c #625b55", "c c #656559", "v c #6e6d56", "b c #7b7e7f", "n c #1b23b5", "m c #272b9a", "M c #322e8f", "N c #2d2cac", "B c #2a2ab3", "V c #3131af", "C c #3737b7", "Z c #3e3eb0", "A c #3c3cbb", "S c #3a3ad8", "D c #3f3fff", "F c #474dee", "G c #4040ff", "H c #4444ff", "J c #4747ff", "K c #4747f9", "L c #434bfc", "P c #4e4df6", "I c #4949ff", "U c #4e4eff", "Y c #4a56ff", "T c #5050eb", "R c #5151ff", "E c #5353fe", "W c #5454fe", "Q c #5352f8", "! c #5a5aff", "~ c #5d5cff", "^ c #5959fa", "/ c #7a60d1", "( c #6e6eee", ") c #6666f8", "_ c #6361ff", "` c #6b6bf5", "' c #7b65ef", "] c #7070ef", "[ c #7878ef", "{ c #7979f3", "} c #7272f3", "| c #6a8186", " . c #6e8990", ".. c #748b91", "X. c #7a9297", "o. c #7a949b", "O. c #8e4616", "+. c #944f1a", "@. c #874a20", "#. c #8a4a21", "$. c #904e22", "%. c #945224", "&. c #b4642b", "*. c #bc652c", "=. c #bd682f", "-. c #c3682a", ";. c #ce7232", ":. c #df7a2c", ">. c #e6772d", ",. c #e77920", "<. c #e2782c", "1. c #e8772c", "2. c #eb792b", "3. c #ea7f33", "4. c #f07b30", "5. c #9266b1", "6. c #986abd", "7. c #848377", "8. c #929376", "9. c #ed8038", "0. c #eb8738", "q. c #ff8d2a", "w. c #f38439", "e. c #f38c3d", "r. c #f9873b", "t. c #fd883b", "y. c #ff893c", "u. c #ff8d3e", "i. c #f98a3d", "p. c #fd8534", "a. c #ff932d", "s. c #fe913f", "d. c #f8913f", "f. c #fe8d42", "g. c #ff9242", "h. c #ff9642", "j. c #ff9842", "k. c #fe9a45", "l. c #ff9e47", "z. c #ff9f49", "x. c #e3947f", "c. c #fda148", "v. c Gray51", "b. c #859198", "n. c #8b969d", "m. c #8e989f", "M. c #9e9e8e", "N. c #98988c", "B. c #9f9b9a", "V. c #9a9594", "C. c #8eacb3", "Z. c #98a4ac", "A. c #9da1a4", "S. c #92b3bc", "D. c #a29d9c", "F. c #a5a58d", "G. c #a3a09f", "H. c #a4a2a2", "J. c #ababa4", "K. c #aaa9a9", "L. c #8d8ded", "P. c #8282ed", "I. c #8585f0", "U. c #8787fa", "Y. c #8f8ff1", "T. c #9393eb", "R. c #9595eb", "E. c #9f9fe6", "W. c #9b9be8", "Q. c #8eb9c9", "!. c #91bac8", "~. c #9fbfc6", "^. c #babadf", "/. c #b3b4dd", "(. c #a1a1e6", "). c #b3b3e1", "_. c #b7b7e0", "`. c #bab9e2", "'. c #b5bae5", "]. c #a2c2ca", "[. c #a6c7cf", "{. c #a5c6ce", "}. c #a7c8d0", "|. c #aaccd5", " X c #a8c8d0", ".X c #add0d9", "XX c #b0cfd6", "oX c #b1d4dd", "OX c #b5d7e0", "+X c #b6dae3", "@X c #b7dbe4", "#X c #b9dde6", "$X c #bde2eb", "%X c #c8c6c5", "&X c #cfcece", "*X c #c3c3c2", "=X c #ccccd9", "-X c #c5cbd1", ";X c #ced4cf", ":X c #ccd2d7", ">X c #d9d9cd", ",X c Gray82", " oX+X: H.mX.h.w e.y.y.i.u.8 e.u.3.+ kXXyXNXI.S - $ Z W P.sX6X", "1XqX).G W R R R R R R R R R R W I ) sX1X[ J ! T A ! J { 6X", "6X6X0XI.U I U W W W W W W W I U ! ^.0X0XW.I K R ; V R I W.0X", "6X6X0X0X=X{ ^ G J J J J J I ) (.wX0X6X6XfXE.) } ( ] ) E.fX6X", "6X6X6X6X6XfX^.L.T.T.T.T.T.T.qXqX6X6X6X6X6XqXsXqXdXdXsXqX6X6X", "6X6X6X6X6X1X0XfXsXsXsXsXsXsX6X6X6X6X6X6X6X6X6X6X6X1X1X6X6X6X", "6X6X6X6X6X6X6X1X1X1X1X1X1X1X6X6X6X6X6X6X6X6X6X6X6X6X6X6X6X6X" }; gpaint-2-0.3.3/pixmaps/checkmark.xbm0000664000076400007640000000045307172011161014210 00000000000000#define checkmark_width 16 #define checkmark_height 16 static unsigned char checkmark_bits[] = { 0x00, 0xc0, 0x00, 0xe0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x1c, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x07, 0x80, 0x03, 0x83, 0x03, 0xcf, 0x01, 0xdf, 0x01, 0xfc, 0x01, 0xf8, 0x00, 0xf0, 0x00, 0xe0, 0x00}; gpaint-2-0.3.3/pixmaps/clineOp.xpm0000664000076400007640000000667507427457132013722 00000000000000/* XPM */ const char *clineOp_xpm[] = { /* columns rows colors chars-per-pixel */ "30 30 95 2", " c #272727", ". c Gray17", "X c Gray19", "o c #373737", "O c #393939", "+ c #3a3a3a", "@ c Gray23", "# c Gray24", "$ c Gray26", "% c Gray28", "& c #4b4b4b", "* c #4e4e4e", "= c #505050", "- c #535353", "; c #555555", ": c Gray34", "> c Gray35", ", c #5b5b5b", "< c Gray36", "1 c #5d5d5d", "2 c Gray37", "3 c #606060", "4 c Gray39", "5 c #646464", "6 c #686868", "7 c Gray41", "8 c Gray42", "9 c #6c6c6c", "0 c #717171", "q c #727272", "w c Gray47", "e c #797979", "r c #7c7c7c", "t c #808080", "y c #848484", "u c #868686", "i c #8d8d8d", "p c #909090", "a c #989898", "s c #9b9b9b", "d c Gray62", "f c Gray63", "g c Gray64", "h c Gray65", "j c #a9a9a9", "k c Gray68", "l c #b2b2b2", "z c #b7b7b7", "x c #b9b9b9", "c c Gray74", "v c Gray75", "b c #c3c3c3", "n c Gray77", "m c #c5c5c5", "M c Gray79", "N c #cacaca", "B c #cbcbcb", "V c #cdcdcd", "C c #cecece", "Z c Gray81", "A c #d0d0d0", "S c Gray82", "D c #d2d2d2", "F c #d3d3d3", "G c Gray83", "H c #d5d5d5", "J c Gray84", "K c #d7d7d7", "L c #d8d8d8", "P c Gray85", "I c #dadada", "U c Gray86", "Y c gainsboro", "T c #dddddd", "R c Gray87", "E c #dfdfdf", "W c Gray88", "Q c #e1e1e1", "! c #e2e2e2", "~ c Gray89", "^ c #e4e4e4", "/ c #e6e6e6", "( c #e7e7e7", ") c Gray91", "_ c #e9e9e9", "` c Gray92", "' c #ececec", "] c Gray93", "[ c #efefef", "{ c Gray94", "} c #f1f1f1", "| c #f3f3f3", " . c #f8f8f8", ".. c #f9f9f9", "X. c Gray100", /* pixels */ "J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J ", "J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J ", "J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J ", "J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J ", "J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J ", "J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J ", "J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J ", "J J J J J J J J J J J J J J J J J J E J A J J J J J J J J J ", "J J J J J J J J J J J J J J J J J L z L ' A J J J J J J J J ", "J J J J J J J J J J J J J J J J Z | q y _ J J J J J J J J ", "J J J J J J J J A E L J J J J J ~ j , k 9 e J E A J J J J J ", "J J J J J J A / h X / L J J J J E e e ._ r . j _ Z J J J J ", "J J J J J J J A q 2 6 J J J J L Z $ ' Z J ~ ~ = d | J J J J ", "J J J J J J L M O X.O x ~ A A _ : g L J J A J E 2 o n L J J ", "J J J J J J E g 2 E M & b ~ J n % A L J J J J L L l 5 ~ J J ", "J J J J J A ~ O Z L ~ n = c .4 s _ A J J J J J J E ~ J J J ", "J J J J J A _ # b E Z | 6 i c = J J J J J J J J J J J J J J ", "J J J J J L n * M L J A L 9 , t ' A J J J J J J J J J J J J ", "J J J J A ' , s _ A J J L J y / A J J J J J J J J J J J J J ", "J J J J A ' 4 p / J J J J J / A J J J J J J J J J J J J J J ", "J J J A _ p : _ A J J J J J A J J J J J J J J J J J J J J J ", "J J J J E l s ~ A J J J J J J J J J J J J J J J J J J J J J ", "J J J J J E ~ J J J J J J J J J J J J J J J J J J J J J J J ", "J J J J J J A J J J J J J J J J J J J J J J J J J J J J J J ", "J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J ", "J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J ", "J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J ", "J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J ", "J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J ", "J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J " }; gpaint-2-0.3.3/pixmaps/converttoxpm.pl0000775000076400007640000000057007172011161014660 00000000000000#!/usr/local/bin/perl -w my @files = glob("*.bmp"); my @files2 = glob("*.ico"); foreach $filename ((@files, @files2)) { make_xpm($filename); } sub make_xpm($) { my $filename = shift(@_); my $basename = substr($filename, 0, -4); ## assume filename ends in .bmp or .ico system("convert $filename $basename.xpm"); system("./xpmname.pl $basename.xpm"); } gpaint-2-0.3.3/pixmaps/curveOp.xpm0000664000076400007640000000435007427457132013740 00000000000000/* XPM */ const char *curveOp_xpm[] = { /* columns rows colors chars-per-pixel */ "30 30 78 1", " c #040404", ". c #090909", "X c #131313", "o c Gray8", "O c #181818", "+ c #1b1b1b", "@ c #222222", "# c Gray15", "$ c #272727", "% c #2f2f2f", "& c #323232", "* c #343434", "= c Gray21", "- c #373737", "; c Gray23", ": c #3e3e3e", "> c #3f3f3f", ", c #414141", "< c #444444", "1 c #484848", "2 c Gray29", "3 c #4c4c4c", "4 c #4e4e4e", "5 c #676767", "6 c #6c6c6c", "7 c Gray43", "8 c Gray45", "9 c #767676", "0 c #7c7c7c", "q c #808080", "w c #818181", "e c Gray52", "r c #888888", "t c Gray54", "y c #8b8b8b", "u c #8d8d8d", "i c #8e8e8e", "p c #909090", "a c #9d9d9d", "s c #9f9f9f", "d c #b7b7b7", "f c Gray72", "g c #c0c0c0", "h c #cacaca", "j c #cbcbcb", "k c #cecece", "l c Gray81", "z c #d0d0d0", "x c Gray82", "c c #d2d2d2", "v c #d3d3d3", "b c Gray83", "n c #d5d5d5", "m c Gray84", "M c #d7d7d7", "N c #d8d8d8", "B c Gray85", "V c #dadada", "C c Gray86", "Z c gainsboro", "A c #dddddd", "S c Gray87", "D c #dfdfdf", "F c #e2e2e2", "G c Gray89", "H c #e4e4e4", "J c Gray90", "K c #e7e7e7", "L c Gray91", "P c #e9e9e9", "I c #eaeaea", "U c Gray92", "Y c #ececec", "T c Gray93", "R c #eeeeee", "E c #efefef", "W c #f1f1f1", "Q c #f4f4f4", /* pixels */ "mmmmmmmmmmmmZmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmNjNmmmmmmmmmmmmmmmm", "mmmmmmmmmmcK0wEcmmmmmmmmmmmmmm", "mmmmmmmmmmmcE&6Ecmmmmmmmmmmmmm", "mmmmmmmmmmmmmf69Kcmmmmmmmmmmmm", "mmmmmmmmmmmmmZE8eEmmmmmmmmmmmm", "mmmmmmmmmmmmmccW=8Fmmmmmmmmmmm", "mmmmmmmmmmmmmmmZa=Kcmmmmmmmmmm", "mmmmmmmmmmmmmmmNj>Fcmmmmmmmmmm", "mmmmmmmmmmmmmmmNk;Fcmmmmmmmmmm", "mmmmmmmmmmmmmmmE,%Kcmmmmmmmmmm", "mmmmmmmmmmmmmmI1ocNmmmmmmmmmmm", "mmmmmmmmmmmmmI4@mZmmmmmmmmmmmm", "mmmmmmmmmmmmIEmmmmmmmmmmmmmmmm", "mmmmmmmmmmNj#4Zmmmmmmmmmmmmmmm", "mmmmmmmmmmcZm#dFmcmmmmmmmmmmmm", "mmmmmmmmmmmmNN@1EKcmmmmmmmmmmm", "mmmmmmmmmmmmcZc#=uKcmmmmmmmmmm", "mmmmmmmmmmmmmcZkr rKcmmmmmmmmm", "mmmmmmmmmmmmmmcNIkjNmmmmmmmmmm", "mmmmmmmmmmmmmmmmcNNmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm" }; gpaint-2-0.3.3/pixmaps/defspray.xbm0000664000076400007640000000045007172011161014072 00000000000000#define defspray_width 16 #define defspray_height 16 static unsigned char defspray_bits[] = { 0x00, 0x00, 0x20, 0x04, 0x00, 0x01, 0x00, 0x00, 0x20, 0x08, 0x00, 0x41, 0x04, 0x00, 0x00, 0x20, 0x40, 0x04, 0x10, 0x40, 0x00, 0x08, 0x08, 0x02, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00}; gpaint-2-0.3.3/pixmaps/dergates.jpg0000664000076400007640000017501207172011161014054 00000000000000ÿØÿàJFIFHHÿíèPhotoshop 3.08BIMéxHH8Aÿ÷ÿ÷AJG{àHHØ(dÿ`8BIMíHH8BIMó8BIM 8BIM' 8BIMõH/fflff/ff¡™š2Z5-8BIMøpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿè8BIM@@8BIMÿþ'File written by Adobe Photoshop¨ 4.0ÿîAdobed€ÿÛ„            ÿÀp"ÿÝ2ÿĨ!1AQ"aq2‘B¡Rb#±Ár‚’3$Ñ¢²ÒCðáÂñâSƒ4%!1AQa"q2B‘¡±Rb#ár‚’ÂÒÿÚ ?g!Œ¤ßó¨GAÊôÃ-°Ö€ÌF•–ä‘9\Ô¡R»Šß+oXd·ã@íÑv¨*]¯Qy=֚ũ ¢Fõ&”:R‚ak“zŸ>VµÅõµ#…½*ê-~;ëH 8N›õ£ãËÆÃ¨¤˜“cÖ¶¥”ï­4è1²þ:Õ®6MÈ®WP ÉÖ­ðònªL¤_æçÈP~¨œ~jk’ÄÛ2tŒ})£7ʺE~æ;Ç©JþbÕŽê»î?ŽÞ¾|gDv|o‘ú©xüžƒ¸˜°ãEhÀÜúš`k­EF•--ZÖªªƒ•¶ÛmÌ™ ¥ä„Èܯ¥1kÖ:ÓÈœ‹¬ ·CDD!H©…¶Õ½zP Q|Œa"hÖöŸxßÞS ódQ²c¼rô±í„ò¯#ÿR1Wî#06IãmÕÿU+i>[Cô9Ï #d‹ô®¶5Úxé]ñ`=\/ˆ$ä΄ظ½ë®ûnBø­úLGç­aÝäY¾ËO“›òÿn4¬dˆƒ}Å;â|àñøäw{IÜzÕ¸0E‘ZöÚ£IR&Àá¿íÁ"À°üèyyŠÖŒŽ-ëPCäãqP4 æ i Cuz*ðˆtnBÖ º§H¿#½"Tñ>å5g…ãW!‚"–¹ÖûSPS$EY[€`hËŒÍÐ ×_ÿëqþÜ.ΣJ«ý›A7jeÜÓûƒ³!áfn<ãHÞ›“í¢Ð›O¥ªÿ%à€è§lÐiM 8?ò’+bµÐøÿíã/–mOfx¸òtö·[Sxð¢T߈¢2 1 q q]‘‡½ã ¾œ¨ÕVD‘mMƒ)Ÿѿ¦1XÆl)}t(âK-…Lˆ¦‘#¥ˆ¡Ë,«ÓB*×(Á»{}jºr²)TÖ€*ƒ‰Ks6cRp: ©ƒ…¦ÚÑ¢Å}ˆÖà ’äE·ò,ÚHå}9Ssc)„+®lqY èlÞ X9V¡5äÜd<},¿ûhÇÍ-Ö€‚D_U§,ÿùî{=ûÖQÓŠÿí¦!ò ³òüû*¶<2än¦¬`ÃìÇóÚ‰a!šRwj ŽTÜ6”®NIG Ú|iyòYVÝZ$CË··!zŸî?ªªÔ³£^‹Éè‘ÁÿÐvi­p)W.HøÔçmÅ-, î+(3A®•]hlê/Z*T €E÷Ý·6„®¤Þô×l+Cz‹XÛ@:Q .´ô§!BFÕN§ja§JÓ¨Q¨¡ÚÓÇ}Í,ăµ½iHÌ@ ×ð©Á÷ “SmëFbzë@ƒÇ¹§±%±·¥U£›Ó¾ Ó)3¤Ã–à °Å°$|oT˜R*ç÷¿­Z©mQ]ª[Õ 2·°¬½·­þtš±ÜÖ™¸)w *‹“ð¬•Ò$i$`ˆ¢ìÇ@¯5û§ï)|“¾/Žv }¬Û3ŸÕÿøéo÷ß«8¾$‰X‚ptSýç^n|¼Ð“äJÓHêÚŸu€ÏZÄ;‡¾‚ô˜·*ñ§‘N:\Y«¥û{#‡““è® :æ%ctg]_•^àH±ù|vÝÝ?:Dz83§ã¸í¯ÔêX€ÚÐÈÔÔ݇;ZõbM…yñƒéuIúb-}è¨ÀZÕªEi, ý)¥+$ojƒ>U${éY%Ž”žI‹›ƒ ¦#&ÃøÐq:,$ÐU²‰H ëC¶£µ¸ÐM­þ4‰«Ä?ÆŠ—¨;Ñåi°l:ê–ÔÓR­ Ýh‘›0š4Kêa}yƒ–©¡ÜUœ9!´Þ¹± "Ú×ÜÕ‚÷qÙx“½wÓ nlß©zñ©Pá%£RÛš%lŒ Ðr2 ÆNäÎ6¹¢ª/n8º†„\b+¿ý—ÀóíœèCÿ)k”ŸqxHÇ¿2%¿«V²~Ýð™&óaÄ[ù‚€5µ+'Ù¿oÉõcí·¹¿ñ£îü“y±Üì·Ö‡ÿíßo…$e!CcB—ìo·äˆ8½¬æãóª©ÿÓ|;’™. ì,)4ü¯è)·‚ÒO¾~܈ß-oåRi9¿ÔŸ »7ÒVËþ—wÒÇ3‡ÅWÿO+ý,ÍK6>JJGF?$Ÿ”)·‚ÖOõOÅ 'ö²›zA_õgÆ®$£_æS¥s¹é÷žÆV&!2ŽˆA?¨ò~ÛòøÜ|)"ŒýE5\–Öÿäzÿ«>° Šìm¥X㨟lNá æ2ÝYH_ù«Ç¤ÁpJ²ÿ ©cÑ1½hú9Ðú+?6>î$É22Š=xŸØÞið|¼1M’qñX؇6Azôï=÷.&Œy°ò"“!´‰ysÿ )J/¯P’h¢Rò0E’m\§ÙßuÍä× yIaŽHZÈ …%mõX×/þ¢}ÇÞ͸9]ظ¨}¼½4¡¼H¤ô6ûŸÀ!âÙðƒèXR²ýíöÌMcšÒ먯f’i¿3 И‰ìYù{O¸ŠYÙ„žîŸ{}´ä›·S ¢Å÷oÛ²+þ-^#=Èbê-MÅ…—!T”¯ÑT]¿…4ŸŸð·Ð÷8ü׊”ñ*&>…2³BßK©¿¡½xŒ_mýÊÀö±çâu‰¦ ð¿wÆ£„9IÇÓ¡ÏÔ9£Ún++Éco¿!·ÌP>¿æšƒÍýþ„‚’ÉÇùã¿ø(¢_è Èõ ^yfFþµÄG÷Oß £ŸŽëoún¿í§?ý‹ïÿ'¿©Ö¦ÍÆŒr¼–Þc>@½žQ­s2•_j’XêÂÿ7óóÉÿsâH뮵8’l¨Ý¥Æì=EJÉÔ©h `Dà¨Ýd¾–¥‹²¯mEÖûÛ¥]&$}ÒŒ J³ÆÃÇB¬aZÄS€ÉÌ@SŸŒ‹ªºO)»j—¿ê§ò<~8D ßm)ìL1ר¢ç[ÓJCP¢ö×zذÊÁ™A"›¶•¥@wªŠ€qÁנڈ̕?ð¥¦cr)€EkÔùXRÈ#ZÛÌT^ô… ódÕ[¸4l™]˜“JÙˆ×jLɬaÏáQŸØ†ÛÔã Y*SsD ¹ÆQ bozSI’vô5a•ŠÀÝ$è)5„4Öˆ©i2㸠lÔHæ`AjªÌWïYl@;Šs¹__C@ ¼’8b5QUi<ƒ"À:ƒV¦ BžÚw¡. ÷Ûõ ÁÈ9[_JÉ1âú UnMé™qã1Ü p"·(QýÃAµ"u½ŽÃjÃŽC\l:T%e"ÄkD«Ê]ù¦ô ¢Wú/ƬZ&7¸¸ ²06 ¡¥ÆÇâÀ®ÝA«Ü~*G*D]j}Ñü´à$ÿÑ;”¿/ZUâ%¹/Zj>'K^¶ñ6× ¬™˜žå³t4Ä1qÖ£{° °©Ü*ï¯J” o}ikŽFçZ“5ØBäªHÜÐ0€ŸÔtè(‚N–ùRÂ]-m}hœšÃ–—  'rþÐt,‡÷ 5É­ûMD)'kúRe'°6 5¯­lH–¸Þ¦ð©Ô 1¨öHÉ .Jo®E'ÀMbp¦$_øõ&Õ}Žš ©ñh4«èÔ*ê‹$½‡Æ·¥DŸZ 0‰¬äøÞ¢I&¹¾>â>? ö8Íl¬©¥?Qÿy©ŠJ_½¾êl™ÛÆaµñc6™Çëo@‘k‘áÔið¬R5 ÔyÛ€0©ô7;UŸðÏ*‰²:ªu?ûiŸ┪eO©"ñ§ÿ“UÁ°ú½-\ý½Ñí¯Ý˜ß¶WîÏ7óqIžÜmÁZ¬£—݉?êV[üKî\u“,™?´¶¸?,x~=¼l™åj:ÿMª–zÛŽ¾«{ºì·gTÖ*¬ãz,4©ÇÇ3Û6°éXÊAÔWŸl6}?UÓ¥`nj>¶©n iE…ºÓL-©¸œòãL¦”©5ë•«SLN«l ™á²£b'觉¡ä"„mÛÙØƒcò¯}h!­­µÀ5[ç|y\Ú$Ÿ· u¥!qieöÇÛqyÉ¥W—´`NJGÇÛ­Tåx©†\±…'¶J÷µz‡ÛgOà²ÚeËîÅ ³ÅÆ×ôÖõÑ."±q rmÏzµhñOö¯•ò'Ž.;5Ž®ÞÐ?:ì¼wúd­¿6拯ñ®ùcDE ò©P7Y×%.ÙÞ2³u-­YCãð !¡†Ä(ó¦k(/@­Ûá[¬ f­Y[¬ F´¨jfµC4ÚÊÂyð6 ¸«Vˆ¥ÆDÑEcÎy/+ì}*ËòæûtY•A ñ¢£TªäK]HË$P§' ëC‡.)EÔØt½ÉIJcž©5Î.lªx‚Hõ©s,yü(È›/?y'"l})Is‹µ¤¤àÀ½ÅDG{[z#V-ëR\Ž&͵•”ZÁ˜û‡­‹10;VI çIÄÅ[ˆ7g`æ‘eˆýF•Ÿñ>µfbHMê ’lÿ•(Vˆ[ˆ×zo[Z$b%:)ÈnÚ)ˆ„h¶ÄÑW;Üjf8†ÇåBæXÐ2eDz®Ô3Š.8Ðòfo¤RÂ"×-ôÐ?¸îŸnÝj,„‹P ÀŽ Vx1ú©ˆMb,¼@÷PûeU×Òºð71o•nhqïr£JC‚"䤰6=+?b=>5i,QØpÐPøŸZbƒÿÒl Ûzƒ3µ ©7¬LÍ_ñ"§¸¾çÒ€e jk&ÜzÓ2r˜éK¡bìÇ[ì>4Û‡;m RÝG[Ñ#BÿÝV”Ef$:t£2uÔ +|-§­$ßMè€qµIP_M†ÔK-I‚ lÍ…D #‰ : {Ð6ˆühøâÌ C…µ¢F,oÒšÑø©F‚¯ÑÇÖ¹, a]&+–Az´ÊC~¦¢Öµë¡ÈÄnµCò>J,Yræ•›ózjÊÉ5àEŽ´X_5FcøÑ°«¸Ë -@ ÜŸJ>¦…&†’EšŒ€h­b){¯!ð¦A^:Q ØÔ€³k±¨H,ki~TÙC1›iN`“ûˆÀÚâô”gaO`ûˆÁ´©Ëò? }Æ28 ïK'.‡J24¾µèÖØG͵’uºˆ7Ò·ZLˆÝeee2²²²€2²²²€2²²²€2²²²€2²²²€2²²²€2²²²€2²µQæ/n´*Ýì cµm&GØÒä€-eFâ·Lfë++(•••”£XH¬5/›— žµü†6€[Z«Íñ™SMuREýjqxvvàĨz‰bZÈ_-˜^Esl¸-¥««,99k kKKöâ—ä­¡éL3ઈ—Ú-j]гìjèøžÉ .G§/‰WPÀØÓd䦎=ª9|j-ŒÊÄ/ÔU¿ùodÞ´1Ñ׉Ðî($0ñ±ÌbÿYÞôiqcSÉE­B²j»Š#HYliH ƒãó³â¸"ãOJv"AÞµ+³ij'Ú¹°ÒÕ) %5­1d7,=¬(Í·»Ö‡"„ØëW'öì/mj«4ÚæÚµ&!‘–ñ.›”\Lµ })l¾6¶°Ö¡‹!4€¼Gvh‹ “Ê–€¹u¦V~:¡ý‹J·¿º„0&]…0™vVÎQõ öÅø…/íèÊ–yÁkÖfùPß¹“`h˯¸Õa—€ÐÞ²<¢[C@/eÒ÷‡ÈTQƒjÕ;%9ÿÓ<ŽSA­.ó²Ž6Þ¦XßãPuç{éñ¬ˆD  mv;Ñc-ÐV㌅ä þhÐ.½hImaÜüEÕC^úô7*@=h,EïzB6¦×A[ déCcovÿ š6œºSH”ŸoJ0ˆnzTbaÈL±Re$.Ì¢¡qÒ¤åoz‡5ÜSBhØ(ˆ—4.èÜQ ’ì)„¾?äèq“ŠŠ©ñ¶65wÒ©‰m¥*tÄÅ—&Kq… µþö¦ÖõËÿ¨@cx‘ŠºI’ÖÓÑ}Çþj´œåe>f\ÙRÝšg,O ;å Ü’môÖà©Þ·FY•$9 añ¤ÞâI¶’ú>ÄÅ“‡$™7÷!ø5!›ãf—‹‚ÑŸ¥úZº¬h»XëûQE­E1Å4F9:ìÀ×ùVWoZ·¡ì[àQõVºvU~^¾§¦ýGJê¾Ù 1îÚ‹Þ«<‡€x9OvŠ×)¹eàü~ZãxµB>?Í[vÞ·¢ug/GC§kWQ _þ§F°â¿Ôµ§ÂÂa¨Û­$0sÔ’AP|_/nØ`U·n¢¹âZÉÔÒZ]“ÎÀI=°5Py•´Ì9=:ÕŒãËáÈP$N–ÜÐÛÍ\Êö Rñª¯$á²n•£WÅ&Ä ~µJÛíéJ)ÆäÄG»qó¦¤V½‰Ðìj;Z¿ÉÒ&^¦˜X*›T†º¨­øÔ£}UmI”×z Q‡¸kS¡ ¹4fë~´9S]+ ¸6=iÆ$ä]/P¯FaC7Ê‚¤bhôÿŽ[äÇZ®Œê Þ¬|sqÈC¾½(Y²G/Éü-ô:ÈÐð¢Û©¨Dn€úÔɯF©AóQ\™š;”Þ žEDWm_ÐS ±ÔRÓa¨e+¥÷©ÊÐC0d$»~TjP¤{ }h•­f2ë++)ˆÊÊÊÊÊÊÊÕeë/Q·]Mj2Ä]…'[­Vè•••”•••”®”.6{úÑkEoI ‚ÉkøTR4]…cÂß­\J'aÆõ +U±M(•ºÊÕ02²²´M¨ºÕ¯QY©Þ”ˆËVXTYÀÞ¢²†6¢P’p²úV¨J£ûbæ˜Û!&R)"ÚŠ|È4…E`žw¼«À ­Ö›H£ŒiJ È—¸žCCQXX›V$Ò´È\o@ஓ +KsNð™Í¶U‰T|h@‰År"µÅ=)‰Ú[Ùôñä'›‹J²bRê5ªÆ $>•{.;0µª®lIù¨|‚-ÔÒR»»§üjÁq¤ú·­L´øÒ•ŠÌÅ”q¿JœxÓ U”pºêÃZ!M( A°Öµfc®ôã JÒo@‰Ešï[‘ ƒX&éZw¸ 'z(BE ’ºÔ•É ÈŒõ¸£`oFPõ»± AF‹cQæ}hfCkThÿÔ!OvÔEM-Ö¥¶µœØ›(¬H c¨½ê5þ«•µúïQ. /LF¤"ÚPå 75µ½.9sŽÛQ¢eœ1ÿ ,)ÈcøPZ6$É{ƒÒ¥µ®4Fû€X(µ«k;»mP…yš3C}-I‚°>åù>T0Ú 0BtÚ ä­Ò„S`Ã5´¢Âçõ¨…ßZ,*¼©¢dè_2Xu×ãNEæí“ã˜,9ƒEb>”«ù©Ïãò<|.¹Qñvcņ̽ µaò-Ç®Íoƒ§áSŸ}SÑ{¿õ,”*Øoz Q¯KÔR2E΂ˆ!ñæžã`æWÆþÐ5ùS8Ùq¤hQAR:PÞÅJô#QJøœˆ‡(\Yƒu­)š¹9»¹J”Z ÊÛó©&Tt5¶\>G’‚HÖ¶SDzƩâ“7ÇA¯%8 oˆ¥32ÑOVµ|–H4Öë+VªˆuºÕeéÈ­Vk/¥®+u×m*CAjIȬ­ŠÃL VëUºÊÊÊÊeeeeeeeej²·Z dH­« h°¢DJ²¢æ¥J@Ê ­Äv¢‘@ÈRÈ@Þ‡¡6ÐJ!FuÐãòNWΫ'",«²7¿­Ms‘œ!][AY<—©c&To~›‘RÇÉc#Ö–ÄÆwr®4'z·‡(‡´ úÑDǨ8òͽàïG䢴ʿý¨NÁk ¥;„i@¡…'.U¨?ºÖ€’ÈNÀÖû×Õræ/­Mr”š%€”X264—î”V¿p¤Ð9,C ß!j¯ýÐjK’Z#,nt¨r±Ô^†Ó¨½.Ùk{@›q7ëB’E·Ê—y¯{Pkni CHá–—g#jßÔoÒ´â€Îh,ÇsS`×4&å×jmZæ¥g­F†ô}€QúŠšGjÙ”|ê<ÉøPت$úVÍCÝ@ÌW­k¸}kL¯{ßdÐÿÕ`µë/Ç®”:z‚±6½d@Å™«$[E\‘aEµÖ 'áRíñ š(_öTÊ­…õ40Û¬£j’Fäm`7¢q+¨Ú²Ò“uÑFôÄm ‡°ÒÛÔÚ{(¯z kuõ¥#ɯµ­Zâ¤Î- Ú¢\Úœ&ÀÓjš5ˆ4.U$$µ© /ücÜŠè!'ˆ¶µÏx•Úº(´¤Zóù·ðÙr ÄÖù‘jñ´¹±ük¼û‹îÉ0~àlR‚l$·‘ŽQow%þVZ£ò 2å>ß=ìs¬øŸü‘ØqþJ¦&P.Á¹˜ØÖõ×Í÷"x¼È¼FRw°b‰QÎîŽG.Jߪ¨¾ßÃ9>föDˆ™d'@{õÿŠ’ÏÈýævFAö÷$b-·Ù?òQªiån†›NS†·=¡ŒÂ¹8² ñdY½¿¥ª*-î&ÚWàü¾ÈTÅ&T˜…lvúX?æ®æeÆÈ2 )U¥‚Ýø/vŽVÍ\=ÿ&Ýy_éðzæ«Å;[ý^EÝ”ÚßRù#$˜ ú‡Æ­¹-¬GáUÞ^xÓKþ¿h‡RnÉ-ÙÕÛTºíg²’²O3žÇûd4Ò«ò~æòQ8Š8ÿ÷¦qr‹…ìWcUžf40´ ò}ë·‚V‡ƒÎý¶uš¶D}É+‚$³®´hó23¤Q ÅrÑÌYGί¼4Ì& ƒacZZеŸC:^ÎÊ©iå 1ˆbß!XnI«?öt’ªäyà¤éïoê«_‡‡É2\Èo§—O÷jöÿ ó¾W̽}~ß6ßÿ¿TÙ»yÐF2ÇŒGJ¦t(ÜOç]I—…޵EŸŽÐ¿=»ƒXôvsÅœØíø}ë®ß­þ6mïRBn¢@½ºÖÐEµ­ß©ëlÃn”»‹¯L)öØïP‘I[ŠIÚ:-mÁ#J7V4sr.*‚rb¥©ü/sØ mH¡ô§0ج‚ÆÍJ¿‘ÍóüVd™$2•qaúM_xœtlpî/m-IÇ4,ëÉÁ«,lˆÒ+ÄWbz`ùæ<ªiR¥#Ο‰6ô£¤èâàíZ«($%a­½nª@×Jˆ¥[¤Ô k­ŠÊ`AVÆæ§YkÖÅ @YYYLFVVVPVVVPVV«t•••”•••”ª‹R¨¹°¤Áèb•=u¢P&´ê\Ee©€7‚9>  (oÁåøiÄY´mÿFeúXý5ñþÌœò>¢"B}¹­LEïûv\쟡3òá1M—_¨Ûôò¯*Ÿ'wÅÉCÑ:6õêG:Hü“<.Aˆq·JwñsEig>5öÊ»ñþd¬©ßK]Ótÿö:;>5ë×^Íke/ý§ öÜËåc’PDX€ä9ޝþjR/)—!§¼ò3A7ãþítøÌ¯·ü_•—5xM/xXì?æ®WBt!Z˜Ïó~tˆØ.'‘è½’K'õÕ'ÜÒH¹KˆÃŒrañ4¯Û˜âO,’Ëí\Ui‰ôà?ûÕˆóp4eDyÛ5,-ü©/ôV¦œÿbÃñ±·ÿ«±õ>¦æ®3ü¡1oîÛ­7æ|[2"Ò¼µ­åøÌÜ •ÇÊAïÖ)éuþd5s;,Þ‹~”+ùSìÂVõâ.„›u¤ó-9PÕqâ£á”PìÄU,N±e‹ ͪóHir +¾UAuJ²Ÿ:‘ÅțơÃä¹1ØÆTØéLx/¸b̶YìæÇí<´ G§õQ1$cŽö²èk‰ÏY>V{£ó,¬4ÿˆW-º)ÝWKa¯ÆÛ"iezèõ=PrBþt ÜT• 6·ë\¯Û¿x½× Ë öÇ’wøw+²^Û t<ƒ j¯+³§³ãöE”¦ÛX…tòµ9iQ„­ Scê*#MªïÉøã:÷Û*iõùÕ"±$£Ž2.…k¶—]•Ÿä¿$z¿ åò¯ ¿rÐ"Ü‹T­í·J‚Üjt¢ ¸•KCºÀ@³éµ[iQd³iD"é¦ô-DÌM~tÜ mÖ“C­ºõ§¡ÇZ}‘Çó­ÿ /*?}jÃÃÆ"}ïÒ«RÑêEÃmDƒÈC^]:Zºö<©k&"wU‰a@vP¤dÝÇÊÕ‰äÕn×¾¢­1b'[_¥ ²H¿Ì´B)½w4úÏ)½ü|DY=¤î}hâE ¸EkUd0õ•••`e«++b€2²²µ@ÖV«t•••”•••”­zVë+(+UºÊÊÕnµ@X@;ÖVP3V¶ÕºËÔI Ð,"W­Ôo[½n´k/Xh"ÆúÖù ^†Ñ\·5ÎæúS/r„sØžD¦Z­äÒ]-øÕÆC€µÅÕ®Átè*SÉfJ)âš&$-”õ¤žR‡Sî«ß.Žb!r¬ÏÜ1¸Ö˜Ice†ºÓØÙícé½Ubã– SÙÞ: Ä!‡-íq½hªàxÒ·ÿ¤›ük.¿Žúû]›š¤ÚgGoË]½5몋¶•‘]—•㼓Oã|‚6VÛQý_¥«ƒû‡í|¿ æXÁ›²qúo²IWîÅÛž÷Ô×GácîøÖ@IÞÈÂâß>Žû^έNò/™ñ)ÕJÞ®*ëþãÎür6'ÛÙÞH‹¶K®,WôÿåÿÕTÄ\ZÕÙùïäüZEöØY"ñÒ9ÈÇ_®çê ~®5ƨ³• ‚§PwºN¤ûc*l†lLÐfÁ‚6‘‹jÈÿÛj8Š6ÃÈD$ĬÜ/üµ¯ ÂefH¤~à„à¿Wþª®ËÁ ¨X÷è-Y÷O½M¾<+6üAÃg¨0ØÉ·ÂõjÒ3Hb9}&«|ËÈù|Ï]­éV8år0 Qííu=iÄÕz¿Øþ§uáä–NÒ̼"â?ÞÞ5mlIôŽÛØËzsÂ(x¡$ Z­ü”+63%®-îSÖ¢‰rðiÙ.™<¸Æû«Ÿ÷6g‡~Ì Í„ÇUo©?™£ÿÛFòžK4ø~á»EÔ|R¹òNªOÀƒ¸­;º“§b”ÎZÛtzÎ^/Ʋ cm­¸ÿyMUy¼Ê]Ô‡ù-BŸªçz7]+ZmÖ´õ¬}N³jºé½= ' ê\t¥"ïSM4½„º±­:3y<ïîV޳d¸<†ÿËRh£ @é8²¤y¬u$U¿ÇýÙãÚ7®¦x‚ØRªf/öÉÒºØÈ*Òâ‡$¨TQ¦Ç­åWZÆ|‚Fê-"Eý…F8¬nu¦ìÛ„0Šn/R¬ª¥„ë++) 2²²²[­VPëU•”ºËÖ«(u†µ[½j²·Z  ¬¬¬  µe«+($mC»–øQH¨[Z‹I-¨–"¤X(&õA††”ƒD•Á©Ü^D$\iZ†c~-MXJÞF¬*%A­ÜVUêV¦Ç\oIòup» ´`iiáæn:T4E–D³ºXo\æGˆnf@×bo­t’$±“Én´®TLVè-z›ä´+ðÇhŽbÜjÌecÈ8¡©÷ 1¢ÛŽr4܉²ƒµ8eóã½íUùAM×s¥2É}TÜUn_È®M<@Ñ1O´ïE†mlMW$†ôtkoR2Ã!ã×­PK ¶®Ò@ʨIv÷@ž‚øxªÅMþuhö†0 ^‘‰‘ ¡ô¡Kžüø |Ÿvµ$ÉS¥ê²Y˜+qC+¸±øÐ²ZA ¡ºXÔÔ´hIЊ\å­Íè|[Ò³…êQ̇ñ©‚„Û­9޵½;À* #ÒýjM±øÔX”7éZï[¥;luµ™ôëD2~u.? ÿÐa˜ƒY¯Q¡­·»Ü6¬±5‰™œvPgM5S[µFD'^”ÀI¡.¸ô­$fú i•lßÖ¤¨Ú€ÎÈ8o·Z`©šŠ ¯Z™&ö¤#B÷©ò**#MëRH S3šv=hO0ãZÐf-¥0ôî"]‡Æ«â×~•g„uZeTèpÉj|29X ½#†n#çgþôq!±AÊãÖ•û8UØß§¥öö*'¹,¼Ì3âñDZ»¯R¥Sx˜{¾AQÔÞqZÛ^¯ükNøQ4æîFÿ 2Õ¥UØ{˜njmÔ¯jv}&¬Ò¿!õuöt´žª·¯’y+‰ŒÓ°¸Nž´rðü®1@A ,é{HýÏ!I oaU^6 Š cò´¯Ü×j¤Jxù×ñSøÏ¹·[Õ»UúT&w‡ÈÄ–ñƒ$LB‚>5oäòSÄ}¿4¨ö¢!þb=¿ùªÃ#'.æCŠáy6‚çé®WýGÉ”x˜1âRÑO .˨}ë¯õV}5¥¬ë£ÿÿ“~êV¶þÿ«êpxy¹Ø3Œ¼i;rÞäˆ?¥—õ-t©…÷f<™¸‘~ÛÊc‹N«ÿNRvoézä%½ö¯Mûöž÷RI2rþ¢V‡9Îùñ'ÂÀñL-2§rsÓ‘é\÷X‚QîÜ‘]7ܹ‘fçE$€ 2‚:‹ûk˜ÎpöÛM*{*Ó† ×¯ñ”QyxÀd”kÐÑp$cˆtú[jß•^xÀ 7¥üc·jE'Qk uXòMž‰öþ@x#7ú@•t©Âg±>Ò5¸_µæq1Y>ž|ë°ÂtPn)&)6 eee02°+ ¨Þô›­ÖV@̬¬¬  ¬¬¬  ¬¬¬ FTH×Z‘­hi1€ÉŒ²{iäx%´‡Úv«CµWçbs÷ †õ•ÔhCŽU}AÒ…,mÈ2žµN™í‹!äƒKUÎ>JN‡QB° ÁQ¬ÚÓ áµw ¤­5ö­ cçj… <”k ëEßZx†HùiUù21N€íV•œFýj`8ÉA6/ï áˆ1 µ62É~ŸFH\tZjAÔª—!¡ ¤X‘T³Hò1-ëW^H(J Ømµ ˜ t4Ìl)Z2J,UÅ´©ózE'½3©Þ€„I¸Þ–ÉDzž+v4ÌN¦‚Æê õ –Šxb<¬ãj¶Â‚0 íjü[PrÀ&ÃÒˆÇrØ} S䱊~Fgˆ–Þ«x³=Z ¦ p$^­1Õø)qîõ¡áb)?áV%xÙm¨¤A]F¤ëQiÐíA™Òõ^îQô4fȒІ%ö¥£Éâ?5ÄY‡Òh‘ÉŸ²#zÏÛµ÷<ΚZ·Ý4äÿÑ7" Š’êƒÖµ"ÜT OCøV2f% iùV¤)ˆ€KoAœ<….S­h‡Ð)ük?UL-Žô"yôüê%œXž´ePA$Ô÷ß§JbÓðß­ ¥% E•ü F8š×Ü ÅR$:?:Øv$‘¡¢öCíð­ˆG+ƒøPdmêu«,9†‚«Ö1½1 âAëD‚gSãäÚ™Ëñæñkð~¡ÔzU_–ö®—&(c+R@¹øÓj®­[Cn«Þ¶NòÚâQj€h¢ß•WgùÙfG Pcay¨«ÂÚk}sk#÷÷”IÜ*0Ø ª{íjÑ:jÚ7øtìík±ã‹qå—y¸ÞF,.§Tq¸¥¼?Š|fg<¹(¦¬âa‰c]”)tò¸ žÞ;ºZ(sô>•|jí{‘—ﺭºÕ¿ã·ñg1þ¥fqÂÅÁâg/ ø/Ðæª´üæ\Ù)á2ï0çöq}Yª“újêÏ8$–6LuP?é#êoüÆ™ÿN¼wÉKžÂËqSгèßùjÌLó¿adA:>2ãË V_Ô€ÿêZì3R,1£UPD|¨ÞOÉ.Æ]y ßu5©ãÄòØ€Â÷ãªüõ-]Tqµ—¶uz¥©ç>eLY8ìÆÂæÇá¥Ry7þãŽÐ×c÷?ˆ”Aw_tî^«ð®'*d$Xß­/”æÜ–èÓ£Hð"3.(Ñ€ªŒDy%IЋ]C«ëm6ª‡ýßÀµªjçßYðu¿j5óJÉ%쇈=uÚÇ’±@ît¾Õç¾:Fƒ.2ƒRl?íq¡ïH‚VåmHƒÖ jÓAòñ7ÆÎe—Pu®@èÜNŒµêŒR8½Ú,¢¼ÿîL/Ùù«û†´¬îeÛ]õ*[[›ØuÕ}«öé ¾C-~0¡ÿÖj«íÏ|Ž)þÞ/s„’½ÐZÔ¬ö2H( ‚-ò¤s .¤‘¾ÔÜmséz“( ƒ¨Uì?'%ŸŒàÜ2ìE;ã§2ÅïkºéMyT ¹Ð¤,ø³ UQY÷uò®χÞúíÅ¿k/á½ß…;<À*5õ@j¾9–EGQn@>\ùX¿ÙXt(¹ÑýÊ_]XÓd€¢I Éý49² ά—éUï#È΃jsä 6ø×KGŽYxô.MΧ¥^A@:KÇb;‡CÓãV¸Ð’ÔA/¥`75I$«NYIäaµeD› §‚“jîh.ææÆ÷éEM÷©™bœ“¬$T]¸‚i^ék›ÑkFFô¬¸ «ÙnÓMÄkÔóü…nàЊÀ7©£ «V‘HJÑ*ºÖ‹@žM4; l#Ík[[ÐÉ–þÓ¯¥2Jñ -èiÈ%åÖ¦[ ’hOË~µ*Õn­ejúÖV&à ÊÐ5”H5¦µ+Ö&ÄÍn+L ‚ZÑ6"¥{íH[~CÇF 2-É¥±Zlsbİ®‚XÃ)©³ +bM€Ú¥¢gbÏ!]lßUd±+ߥö5̡͌2û†‡§¥\áæ‰Bvª$I#k& Q±ò¤õ¢¸M ¢öÚ¡Èn¦§Hb3%ÖÖÖ6§#“fÇJ ãÐ^Òô9µúÐ2ŸÈc,«k~5E™ãÙZà^ÕÔ9,MÆ”–D*Çàh’]|¹Ç+¾õ¥_I‚¤Z®Ÿ ”h)È…í­9ˆ­vPmQ ƒ@Çja2xíUÍHLh 71­ Aè( 1µ% P6ލËÚhAºŠÃéjѸò¸gJs(ɸ½&˜ä‹Þ›Š­¥=ܧ¶ªÕL­¶µo: M#ì¸ë@ƒ ’€ÃjdÀ¨¼@Ò€|’G£iëD6'ë½ @éYÈzÓ´2(¡öcõ¦3ÿÒz(Õ’l~5(Ô'Ôu¥¹Ü…0©P÷%ÈÐ ÄÌØ”òcm(R¹ÜlhšØ\hhO­Fš×u­r`F”2Ha~”u#­Xô¿CÒ°"íGHI^[V” d‹öÆÿ Q‚‘kS…£¾ÚŠ 9kékÒ ‹Ä4²PX¥HƒôªVö4˜Î· ÑkšÏmþ5 Eì)iãò5kä –|eâ D7`75UãG¸WO‹ô -NUuòoÓØú쮳¼d¬8ÐÞär×}u¦¸¿Î´:W÷ßÜž;? N܉y˜n/ôÿÒÕ¥RI/›YÚÎÛ·'fÚk{½x÷šòRåù¼Œ¸ ,)lASÁxÛýÚõ/—/–ðÑddGÙ|”<Ð[¯¶¹I>Á›ÏbÏw° œžú2q÷_Ïɪ‰y:¨}kÍr“”¼-×ZÃ²Žª¿îRkÕmPKsPÆü†µ]xe:Õs(pãj¬òJ£ ÛNµ«<04‰,„\•$­]×a&œHõçøòò†7µ­` w^#\Xκªo¯©§Nk©{–÷‰M¾UG÷7ŽýÔxï»ío•XÉ/"‹ü´Ïí„ñò6!uãP­ w^Ð>/ÇÇ…†°D5µØõ'­é¶åkÒ“ÄzÖj¯O,ĘºQSB QCÒÚV%ÇÎP›xŠØÒ¹œÕ1µ÷S¥u“/$×oZç<¢*ÝÜo¯­W,@Ô¦šâ2Õ 'ÞºzU–qc‰-So¹,\–‡;š›(6—Zë¢ÿ»Åbº€[W*J½²wö[ŸÆ{ºŠÂ“ƒ‹›ß«ÿŽ&*Ì=‹Uø8Åø«-á]&,a, t7'’ÆÐª­†€mZcÈ(2N°}ThÁ#_Æ µ&«q~”Aµh ,+6¢ÁKÅ/4Ê¿:#¹ q½WÉ#HöÜëJÎT°XÈ‹t¦Áé@Š.MúÑ»ˆˆYˆÞ•EYlÓ§%±4¬ŠËíQ{Õ“û 35ýÄhŠ?™¤ªùþúñ+!–OESoù«;[8NßCeÓgéõ/ï8Kq¨ò‘G¹€øWžù?¿üœÎkhÔhµª•û›Ëe“ŒT1·=µùÓU»Ú>¬¯×]í/Ѹ®xt¢‚¼EÛy犌4fLìæŠHÍÐÇ&¶þ«Õ®/Ü) ö›9r…ô£Rûq¬¾4©˜úkò'CzÉ I`ùlwm%QꬬcÈÇylޤŸCzµec;õµª&¸ê@ä/m¨Ê‹ «bÖ­5ö¦ˆ»ZŠ@Ã{Ð¥n']6¥Ö`¬ÐzT;4Lä±T[Cð¨ÆáÔ05'R9’Èr±¢qz6Ћ‘½ ïéI70Jd÷¬Ú³^•º¨((qȇKQ˜iKL„j&œ‘mF ¿ãKdÀ²!R7T œ0±ÐŠ)ÖLœ–wŒžrn)ï…0nDßÖ®rqÄËkkÐб¢hTóÜP*¡¹½Aˆ&‡, ‹^Ô(òb¹RuÚ‰9[¦ô¬¹ÅhH:S 0ÔPÿnyoJRàÏ]IäåršƒÒªæ1¡F£SjÞ6xs¢ícLhrBÆü*¶´Cu!Ê[:žëž„]– ò%A±ãzëüA8oþ“µMÞQ}M&ÒÓRñ²yÀXÍ[xùyEfµëŸÇ-f¾€ÕÏd¶·¾Õ“[>Hb2y²u½L€/ëA,Uƒ¦ÄÑo §Œ,¡˜ì­ÛÝð5«ÜÚ¦¶M&LÁ…®¤ZæÚW9æTÇŸ_κ x\ú×3÷œ¹1%øÐÜ)T¸G-1t”ëkëjìþØÈ3ã"/Õn,>5ÇÍÅšÖ÷/Z½û7!—<ÆV·õ5¥¤ü¸::ÛUµwhï°q{iwš,Ç·k ”§ŠØw¥ y¤á{Èhnm¦ôâ u¥"B5¦Ðª¦%©=«NkD(39­U™M™ÜíøÐàˆ››uÞ£Èó bo¹¦À·c`5½A$fu†>r\ןòÚÇ EŒ>°‡Ü§J«ûÏî2ŸÛW°åhÑN¿ïµq©$Üù»–-©ÕqàÞ”UiÙNåÎÎ~QFb7´GnƒõõU<Ò÷ ÕBŸ…Fy]ïcøR¦I@4õªTKC[Y³n/­ì†r !ŒúTä™mï]mI;7*Ò3oÉpĆ üë]×å}Aõ¬7ÐŽ½j7bß*¬2[bÇÊåBB´…ãê ÔUÜ_r:ñ8ÓvÛczå,~¯áS¡æ ê©t«Ðªö=?ÌôO÷T°¢wf–gò75Ñc}×të 伤èEyt2ñŠØ±²£è\Ÿð®¯ílDÃ&|›«¸²±;ƒYYC DLÙŒfµúm[IȽÃqJdºÄÇ€Ô‹Š 'âPÚK{©A‘Òa¸â: núW?‰$‘0V6«˜e侦šÍÊ­ËM=kM/[ÝO­*\Ä/z7‘n>µºSpG­éo­R±I›5^B¥YÒœ‰¢³*‰„‰µõ¦1òAbu¢ÌCqz­í˜å6½C& B(2k¾Ý(ªÁ´)\ `ЖKÙ Ž•K>k¤“N¶«ŒÕ2FÊ¢Ìv®g)]'[@æ4- ò 3]ŽÆ­qåº×õW9ˆ®¶ ØE;’xØ#Sbi@Ii<;²•Få’VQÐézè ™$ŒiÌ%’ì‚Æ© ‡.T“ÝbOZ±ÆÍîuùš¦š)[jl+X²:$ñ¹§LéQ”íøÔ[KÒXÓ5ìt­6d ½HÈñþ5¦SR$m[âH¡€ H¥Ÿ”ñ¯ZíÛz$EFF-¯jQ 6«É¢¥.øà‚-NIh£hëF&ÓócñÚ†ÀkLBëuÖ7¬sP€ŽF§#”•µV#e^Ãz@\xœ–a¯­4HZÁ´ô­÷I&:^Ä)¢aŽ·’vΡû¥ÿmW‘w×¥Oÿe3ÿÔ}VÖ¬–EÛµm¥ïY ,»^²2i,÷¾•659J44(УCÊ‚5½8Èòä€AéJ¤bà*Æâ÷mÔ„ÍÈi{ÐÉ$µc!O¨Üš8èoL Š ÷oD²‘Ç¥Xƒ}èêC ´¤3rÄ8\‘µ.G"9SÜW…è-àÔPŠhÆ7?…;a½&\\_ò¦!“z¤#k'ýÇã]n«ÛQ~šW¢ÙÉÒûWI…”P­öéDšQj^‹ÒpdÏã^LpÜÁ¯A}Z…ù§!S6e!…ÁЊ֖†­¬lM–ðÓääøø¦É±‘Åî:Òi èúJÒ"Æ¡PqA°¾~~> "YÍ/×Z•Ÿ«Â@¡,®›U’óRáyDrDUÏ¥]ÁiØêŠxüëË3¤l¸VG÷=õjî~þ\É|iÀ¸. ª»ñÓ\L"þ4ÉbU?:Êß‹4ª‹AK!hò‘|è~@Óßzo5Bå©Q©¡å¨7'PF¢ªšdÒÈ®ñLFZ‚~¡jêü$¦<™b¥ëÄ—³–¯Ð5tØs¬^G–ÂDµ+“F§WÚ#Ô6çÒ¬¼cÛ9 Õ$°}:ÕŸ‡ÀäŸk +3d?0–3§ÈSž:R˜AeÜŽ´Ê·¨Þ„åv¬“‘}GÜ»éRÖ×w¬±°Š Íúe¿Æ¹73K”TJšWY™ ‹IN…G´zšâòX¿9ü˜Þ•šÐÓª³’½™K ¹éNýµ$‘y¬r¿Qk[çIȘ(6ëM}¼?ÿ¯À~¾µ;qði 7¨˜Ã¿#¦”hbKk¨¡„ }hèê*ªqÛPÈŠµLž$iCåÅA§Ø^­8&I»¥,ÆäÚ±äO¯J ‘‚-I¹Ð´‡ÝH`øÒÀûÝ‚€7·ZµT ¾µÆÿ¨ñÄ5NPÁ! ÔéNâäƒí'åD”‡ïQv°¨wEk˜}µµTšfúT8+^ÔN lF±VÍqµ!@Pv5 OºãÒ™p8š®–Y[Z÷Ú€7 %nºªs¼{”ö‹±7"¯"»Z£<$­Ôûª…'%$“ n!4œò±[±ØÕï‘Çn€A¹ø×;–¬ãÒ”Œ{É4L ±#Òº ,ÄÈQ­¯\JÊü½ºiOøÌÙS¹µTÖOŽvH—7ØîiÌy´¼õ=i‘Åí§Zcxqc¦à è\Œ{)§ƒŽ¨xƒ£ C/’› º^Hu–Ä5ô¦pÂÞ´’ƒÙSð­+2ë@Ë%U¶úÖ0ëJE’Ck­4%V6¤ ò¨4tR: º^€š ©â°µ\°¸Ö––ÃjŽ~TkÔµ[M‰©Ò’—×¥T“¯kVÃÔ^2*Ð ü©» › Çr-@v¡òbkTÿÕ31V©sqk BÅu:Ö ±µbfM£f÷¥iWݧZš´j{Ôƒ§+ò¦$ÉDƒ®õ¹ZÚ ’› -39$Zÿ„Œ r ™Ú£#²–ÔÔ eŒirw¢ C) ¸ã­èÈXÞæß J9>`ÌEÆô qg!xzPž{|è-+/º´$æ¤îÇjP4ü›î_mé˜ ýfÔ˜º‘} –Ö©œ×qµ\a̲B 6eTU˜(Øó˜ÍºTv8IúœíjïYã2C Ru; ²¹µr‘NVDš#ø|k¦Æ—½¿ÃZºZI½Z~ 3ñmi7âÍ1V0ý·CÉ=ûÔìÁˆmÖµ‹ pGPkJö:Ù5±›S÷#…Џ˜‘c(Ò5Š_‰âmvØQ:× ÷ÿ”ÎÄò8#”mÝ%ý%·‡ü´KyóÑAÛŽV¹°¯%ý¦NwÝ2#xfyŒ®­pBƒõWªaI’ض@æE/Çk‘JçcãÓ*HÃNŠUd¶¡Nâ¥Ú"§.Q~ é\îOŽq¦Šø«1rГ½]æJãÀ[çFÄ‚7ù}N¤Ʋoo&‰¹<ŸÊ¹q7è½´¡äLѹVÖU—ÜXO“Ù (G¿áU“´lÖ$+MQs)/B™­Þ¸õ®ŠBªÐ˽­\þJpÛkÕšd1ìVÚÓzWgUÅÁßqWžËD@ÖÃZæ0ç/ŽúkWÞaûFPxïYÛõòYøö¼ÌTõÖ¬ÀS&ºU‹˜$ÄÞ­¡v.Äën•S¯*±¶ˆèFÕ‹:EŒŠ-ÓzŽ\‰½õAñªxG2O—Ê_=•ôã&¶Õí\ÞQe ËE;U¤ò¾¦Öô†RÉÀ .6½bï6G§OíN¥TªÚ½®>Ueö´O(œ´kzG% eþb55öF-æ–I‹)øÕ;e½˜v;hˆ÷z^ôž'SPçaD|½kDp¼›y,ºt¨³“bkE:¨LêÎ@éµ2`ÔÒ’ÖQqLÀª¨S@‰’ÔÂZ÷þaMŠØ›Wþ£ãÛÁ ˆÖUäCWY4¼H½r¿ê4ƒü™Pä_oàh_š*º£Ë9X ëÓ>ÇÀƒÇó@ Ójí×å^y‡ru ©¾Õë±<|iaÎ×4¾M°—“³ãÕfÍz"ÊáFŸOp:^…‘Ÿ8þóð¤&û—ÆÄx™.O 5ÇÅì™Ô”d>D Ûõª¬Œ±7Þšocý¶½jyÂq'EjiY®-g%6GP5Þ«2qŠêÝjã#Èc+¿6ÐmñªŒ%ŽAã}ö®ŠsÜæíýyR„ÊßÒ‘ŽXߥ©–ˉ‡·Bw­ÄèËs­ëe'3IटB­j‚°g½é'Ža­¹kI…$Ùw½jž lÒpw~`!`mZ³YÝ…·½!âÔà v±â9|è³ÃC­dÞYœ…|¹C\„VÄí`noÖ—¹XÈ:Û©­ÂÎG^ýhÁ%÷ÌxÜkÉHÖº(¤WŒ\,m:9*H·¥u>;1Œ*¬=ÖÔÒ%àß—.ª5¿­T/up/kjõÜÊ ¸¸®oÉÀÐÌX )éHugI’$E,n=i˜Àf¿ISµ†T‡+ÞAôÕ7Åî-ÊãsWæ2 ïµFlnbÆšÆ IKÓþ3³+9Õw«qL<ø â‘aµ©î„8®êCXöÍYãÎ0ßÖ©22Nšû?–¥‹œa¿!kìi3 *i½Wgb™=6¦q²DªèÌ¡µµ"ŠÔ"T&äiQu±µ3,Ü Zsc`j„@©¶’ñ{^´mQq„r†©‚HªØfàú)ôX|è;ô ïS^#}ëmb~€Eð ËޤS–6¨J©O6/ ¤ä—¥t ¨¥æÆS’]N|©§,dS“â€v¨ä€1ö5•&Þµc@ÿÖ5‰ùTÈtÞ¡¨;ÔÔëñ¬L͈ùÛÚ°2ŽšÑ;–_äR,F¦˜Y¨¸Sªµ n5é[^<µªçøÖ$eS7†˜à-ì]ýheYVÇ[@ cPnwô­ª/ÕˆH‘øTI¹¸…1‘aëQŽ XE¨Ã]HÖ³úšCD‚nÚëETRÚ+K_¥CQT€ÍE…ì*-pjLuùT ¸&²ïü~çwöÕÿ7Øk'…—{×Yáß–>õÛ¥ˆüêÿíÿ+Àˆeêt5Od<³·çüI¯ì¢ú£¦—D'øRØŸõ ´¥0$GÐu cšÊt;×CyG’–ÜnÔ¼\ÈÄyQ¬¨`^Äu¢‹úÖ\Ú¶ÕA² ¶QŸ–áHxßkt«,™‚¯·~µAä$¦Ý?cl¸E¥hÙæ½îmz¼ÃÆ~Úé¡ÕoŽƒ¹8}ÒÆº8"T …-\-A¶9ûûÅ2L“ä6 × ˜‹ª5ìŸ{Aø––UäÐû–Ûדyu^"P,€mZQè£B‘K›¨¸Ú Š˜šm@ÊOeÇÓRÁ*êQ…ôëZ2/‹"ûÇ3.2¹:Uÿ‡{ã½Ï[þÉxÉ­ˆ›…'Jè|<ã¶ê}t¬¬²kW‚Û e–€íW¸R­Èç­s8Ì'C{t®‡Ç¨7e:õ›Á¤â $È0È_aÕˆªÿ#›û‚Ãô…7/(Â6šïHgãq5Rj;e¤ÑÑñ)Öû95î+têÝ)\˜Ù×aM´lczVuâZ×Ú±®\½NþÔ’q’²t$©çÒ»µqN/äEšcs\®#dfD¶ö±±®êàâ‹`tW.Yä|«%…¹aëØ“éKãSé[’V_¨î/z³†0å(·c¥&&/1ã¡¡É”O·u4L( n]Zp!øåëýUÊfgù? qø6¿¤ŠïÛaS$qøš£Í‡31¿»akØWÕz§¢ú‹·ªÖR­öHçð&Ÿ¾¥Vüup=õÔdùÜ`÷q ïD¢ÅØÚÄoí¥ñü3bA$Äû¤Rª½nj鮦¡ÙhØ€ä¨[è=Edà ~4Þ6P‚ÒK`í¥H† xÁc×áLPއ hæØŠwŽ:sÒ£âR ¾š^ÕnJ„fpU`øq'<‰Ô€Õ¬hÛÐV3q; „rò¹RÐÑyãùV€½`ajkÚ›*Q …½÷ I.ÃjŒ³@iC8z™T:0m}/U§ Ô‚Hã{éV }?ª±à²_ê¦Næã@cr:Ô·½Å¨"F°ZÝ)ˆ‹¨Þ„6/&75$ê¾|6PE¬µxãaKJ€ï¨ëLG7.3xô¡s¨m*Û2. ”ªÉc,ºèFõHqrÞ2ôøUÔóPo­sŠª-¸øSXù&7 N” 3 * %“Ž $iGǘ8¸4fPËêiQ¹÷€+aìli¹±¬yIȧ‘ªB%í'j,@øŠY$ëMGfµ©Q+T„öµE£=(N­¥ITŠÝ†þµ\’2õ¦#žÿUÜŠƒ 4Eu#JÕºÒ€‘9¡¿J¯Ê„šºez^Xô¡0jNyâ"³·Vsbž‚ƒûWôª&ÿ×7ML'SZ +FOCYi‘‹^ûVÈê·ÊããÒ´ZâÆâNÕ%[[ù«ka¨©.×½¨4&”’» ÐnâÔc–ÃzÝÅ[ßj6ô5´[hD³jt¢`­1¢wKTIô6­4¤@ZûR;‘kÑ“JZäZf»SCFþá'n•`kOÿPØéBW×ZÏ»5;ÿ¶¸ì°G7MvéR‚k6"´@e%öÉ~•ÈÒ>…$ë“©ñžaV%†sc²¿þ5qó`N¶®&7×ÔU¯òÒb$<ãÛâ+JwhŸõ<Ÿ—ðZ›u­s\šVZÃÖƒ‹—B‰® »jåažCM8jrbB„è ®o9›š†«¥Ëâ"b}4ª!ÝX‚@Þ³z—TÃxÈG.`\†®£6jw $(ª;c‰;Ó œG¯­Y‘Z6ò˜é—‹$_š‘^;çñ%ÅA"òí6§á^ÖËk‘·Zó¾0Z<ã+Ç:íñ­&*¼žg4,c¸:m[ñ…?qfØ‹Q²ÇÉ5§Ê•ÃPr^Õu÷Êe†;,YnÐíWž&@ÁúkT L¥÷jjÓÄËï+}/½edÓ4OÄDÅ’¬Ýk Á˜ò%o¨®nim" ïÖ®0§nØÛ­E‘I—îêØÜ‰$Šž‹<&´è)\i–LgRuj4Ä^ÆÀR*®ÏÄ|ixÛÚ~Ÿ•#Ûgsòúk¡Í7 p>èÅÉõ¥|_21–Eö¨ú}k+u´ðw/—UÔùþKC~ (Ôò#ÚJ´—] “ƒ€µ¡`¬ïzÙ$‘ävvs»³ûyN9j=j9YAãµ­m…I–XÕTý&…!æVú|*’3 î°«œXÊ%ºR8“k µA¦¿•6cYVõU(*u±öTÁ«ò¹ôŸÂÒÍœ÷7¸ëZ‘È/`Ç_•%!%Ë{îl8R¬†ÖÖ“©§[ãdýN™¡OvÿãÚb^´,GLŒTÈìÊ/ó­«qÐ×%”8ð{ ò®™*ð‚ȼÐêW¨ùU¹ÝÜž±¢oVžOÊC‹ <„X ¯\ŠO•åó»X઱»·@+JVrÔFäÚΉWù=޳ ãÈ™I£[úš°Ï*ØÒk¡S§áKEl,dc.BFô¿—òÅk€Î,Z˜›`¦²›ÂG™`ßUô âÎa<]9†6DM%Ƚ!<݆Àt®Å¤6²V”÷-–~fåOñ¨LåÍßM,£ ¡A乨B›Ô™Õ¿ñ¤«¢›OùH£u:€.>tÏ„Y–µ‚‹|h³ž•mâ"Ô•[޵[3Ÿ·ûŒöÁ<­¥1Ø7-¿”ÔæQ²õùÔ»¾àU¨9Í,º0“SҚă˜·V¡÷ÍŠ¾´þ ˆ€„$$Àâ.=*߯øÕ A©ƒL@‘“®¦œRRˆ¬†ê-Y!à· åù,|}Ú’o"™_ô´u¦ã`p´ —+”*¦×ëI') uÑäk©}*‹È³+,¤Ú¡‰2ý<ÔF+Þ§rÊJn7®Qežæýiß”ªåi¹&†[I!]$Û¡­ÃÁ½ÛßjQåy@öÝo©§±±ï¨[{MZp†T\ñjhFœF”²·fúÓÈÒ™,ƒÅk­Fã—¥¨ä¥g‡J3’R8¸RjC)±¡¸úzÑbmB(°![[J¬ÈÅXص´«¦±Þ—ž%eÚ¨rF’@:ÓYX­¿K2ñÒ˜âd² «ˆgWZç94§±rŠØ™s 4ªì˜í{S)8a¥EמÔS=Õ©¨&ãkԧù$PY8€=DYÇ"ºï­h€j¹&dÒ™‹ ­( bP~4 =§Jd0ßz(c@ÈÇ9Ó1LzW´z Å,­X-Q+®”8d ¹£°ëI hï½G´=)¾>µJCÁÿÐ)ÛãQ[ÖØ‹Þ´ š² "‹mZ'¥H/ñ¬Ôï@[TÕ€ÔÖZÛq"Ô×{›{j,Ò6µmQyz^¦äa­ºÒÖ¤el+NU…€¡ºÛE fù_zÞ„ïPú*@[j%­¨éÒ¥zÐ…Á7©FIj`mÁ,H¤dg Éiò-s~•Q+°f°©º•_ô]²Îº¡&úkXä©?•À–ññ:ØÓ’X•ÆÖYô]våAˆä¹mmi Þ…È7¾”âµ€ô5 ªÆq³'Æpcr]áýÏY2W‰&Á…s ÄÔMÇ]zUõÞÕÑýŽ~ÿ…ÕÚ¦Ê-å隈¯‡øÖàÇE¹=w®¼ˆ1¹[•k‹÷R•I@u;‘¡­WrþX<ÞßíÝ´žšÿ¬EA°©XtªÌo;…&…¸ê§—/­ÆU7øŠÞ–«Ñ£†ýw«ÍZ a\ßÞ~52ükHƒû‘ê tFX¿œ~t®kc´®ëb Åé»/$ÕgCÂ<®2#—bJÍSDÁ&»p+¿ûŸÅcªKØ÷-îÖ¼ùîˆ5§]“œÈûjÒMîXæ&9‡¦´\,”GÍ/1VÄR›õ¨bÙˆ ¸Ú›H+hPΗ"eã.´÷ÉîFEímê­\,* _J'šÒ² µë6*ίap¤éµI ¤*>›ÕVCxŸZ~BUýj!¡Ég?âº)Þ¬¾jÃ)ò0cRt¸ª¯òæw2LwÙEu(8¬Üþ0jÝoní9¹: „Q‡*h7=v£è øìq“œ¡ôD‘] ŽË‚Àu—ƒ‹¶!PYôô«"âáÈ Ú¦Ìçì³v~,¶}JŸfPÁ}*1©v%[®Õa|¥YΤ‰5$Ì-^xÿ¦0Íó½qÕlÕ©s» B¦ß[ŠGÄiÓO+“‘)%Åí¦µZÞPBÍÝ“— ªl¬–ÊšêÆÇ¥4&Ãù ¤–@ÎÄ©ÒÞ•9Ú )ºô«­ôa¨ëRŒª€ü¬W¥7 ]<òJmk|E&x[¿¥Xæßñ¦ra^¾"“ÉÍ—ž.5+;Þàé½ö©ù$Yy[ccSÅñ’ÌC ']})­r‹¬ ¼T ¬/j¶ÿãPšXmU¸^5à"ûU¢%…$)u]õ¬Wà,u¬•8]‡Z“¾ÿ e,Œ¬¼‰ÖÖÚ£)§‘Ò•22GÒw5²ýÀm©¤&²@ÿ`·zž>Eô ÏÜXΜšÚ _™X÷>‚š.yµq:ê-@F,—| &“sLbÙ†E$þO6+«‘jé[‰ŽF?+‘½1$6è+k%šàíGÈÇ#CKq±µ©€ô9&ÀUŽ;†µQ#Øß¥=9kAI—&0Ë{kéHäÁ`HÌ9†úÔÝC) ¤àKj䆬æÆ+¨¥ 5ªLF¡˜‘©¦QÁ¤8ÚQ’N;Ñ: ¡JnÕ8¶‡Z.GZ@I©§ZLR&ÛP’¸aYqIÀíj=èŸÿÑ)PMl.·ô© ë-zȃDéY¨Öõ²*'×Ó¥aÚµÈÔI¾§J’.6¢@‘äl!YwükvØÞ°ÞÖÞ/{‹iCÒÆÆ¦nFÖ¨ñ)¥k‚75>hk߯Z—é ‹oRMµ¢-Öät­'z`mämµSäÝe"­È:š®Ì‰¤QZ›c'GÆRì R§æjÈ’GΩP·o®µkŽKD·Ö¹»+ |žßÃìÖ¯Á%¸kt§£¹U×JIÍ—ˆ=i¸[Øö¬ì½ª<´L Éê(ìE…S­BpYÇARGá¾ô+WéXX±ªkÏÄbo­hF¶? ^N½zÓ(»PÛò'TõH*óÜ»~f´÷*EÉ{šÅ#­lši½ÙŸ Ïâ¿ ¬ðÆð4EEˆ5å^V›,Gô±¯YJó»ñ»>MŸ¤š×WÄ·¹¯CÏþåÔ•+dŠìVf…ÆöÚ„­*1?ž…V­jIPl.OJî<’Ö ·*ªEô§0›ŽH ÜÇΨ£È’6OÕ¥ªÛ ØH%V5PàÒ®T—ñÍÙ”}}jÕÉí£)¿­sfFÓ]¹«ˆgVÆMÍfש¢÷”½íPfá"°ÜïYŒÁÖ×Ö—É-‚ÆáGM–½ŽÜZ¶˜§'´_Zôª¬9H@M=‰˜Ø²¸jzJ®%*ßRèE_øç@ºïKA‰˜ŽlßPjŠw1Ø«jW¨§©Ëj4^sPzmIfd{o~”«g¶¿Mj³+5®BÜéJH’Ÿ»qµºÒ „)kÜz`¹mv?‚U‚ØëcB(/s¿¥EbSwÖèhìáG&[ú ®4k[áL h¢ç¯Jc!o¦ÃaÖ•i¹]ˆ±§p¢w Î8ûA×åQyH×ã§ûäy\”)Ðéøã SNÂToj²ñ9k4f94a°®v±(õ«Øô¶Á²§h¢æ¢âÕËæy™DaøWY:ÆêPè*Ÿ/ y1‘§×j¯É6Vuöµ_©ÌI›,¢íAi5¸ëOeC2Ú“ˆÐWU!œ7”Ú³“d]uÞœñ¸G%®þØ×sH¨bÀZéñ1ÐÆ¡t°Ö›0ì³KŒãÇh¢=—j83d¹[h»Ð ±¢*&¦úÔ̲"’‡‰©9µy"q‚¶*zõ£6BÇ*ñß­~âu¸p-¹4&(ZçV].(€e„ž^hÛûd‘jM³'‡bmÖ´¬€µÉ¨÷G-aÖ„£üM×¾,FûÑFô5Èp×Cp:T%”»ƒk_zp¿tÍuüªãqq[oí¥À¸nµ¥±mÖ€X,|n[E!ëʯÐw‚¿+Ü×- ü”\×O„Ë,QØY­î¤K[™Ño4rc§Jdµ5®>µ(È: Æ z$evl Ž@Ud±Ÿ«j½˜ \kz®ÉÇ`R°ÝFµ¸¥âu¢K õµ–Çjbƒ+‹^õi”Žë\â»)µ3SGJ'@åZ–’+6¥¡Ïå`zÓñ0aë@Ê·€«vw6«© R»^«f‡Í ƒîEŠSzBI©$dSâ5ê`^Á£‚øÒ4n"‹Þ•¹;V{©ÿÒe…A¯}*d޵k]u¬ˆ5ÈÞÕšƒ[Ö¶F”0I6© õÚ¥m/Yò  ž;u¨ÜšÎµ—4  s<­Ò´-{VÆ¢þ•°ô´·ZÙøV´½a$}k÷Ö¦5!ÜÐJ­µ¤å¹özÕ’ÃÊäúRÓc‚•”£n‹ñ¶t(&å`7½5ãryúªYÐÝK¨¥ r’+ZÄV7ʇ±éu_…ÓOò,æ H¦0ÈéAw½f “)c·¥ciƒ¾·÷¨Ü±m? ^F¹Ò˜ß^”£Úú+:·:´Tƒ;‹†mw¥C3M`.?¯{UY™õ¹ñƉ¶•°¢.»T<”̵hî5­¿­ò£[@ 5&à† šáþ÷‚ÒG&ý/]yÈVk)¿Æ¹ÿ»bYp;„{‘·øVÿ8þsVéúV6’½úT挴§N=' 6ëVÞ7fÈñ—:ƒ^ƒq ž7Ю™8*nE;ÜM÷;T'Ä1SpTÛ‰¨ã¨ MÎôœ[!¡k …‹s×åVXÚ0£BtÖ©•Z7W¾hÃ)Z?n„êMÁÔc—ÄØ!ÐòØX­ìPi2Ö3ËR5¦rHhÈSÓZ”¼ŽGâ¤\ô¡0å¥õ$e³0%QW˜_n˜Âee°!Ç%ÿu<…T•X^6\·ª–B¸ÛXWMQEtEmè(-‘4Æ [ zÒøžK¹xæmX_Ö¦ÙPoÕí²b½á î.¬*JÑÉÜAoB*yÑMeµÁ×ð¤%Êb}+%XØíæšÎÁs¼ô¨¡uþqµª¦0\I½Jy{‡†ã­VËk•µ+U±…ûoçÛ)›jÅRÀÓ]ªqúµ©-ØhiZ@¡¤UµÒFL|@mTþ/ÊÀH«õŠHг Û×qY·îƒ>õíL 2‘}u)'•äºè§@*BüMþ’u©žÊEÉÚpQ¿o—tûo°©6F0÷*û[q[D)VSbw©¦µÐb`E´(#{‘O†Jsê IÍCö̱Úïó§°0fÇ<_kèjÕåŒ‹Ž”ʉ5voI‰¯PÇéÒ„UJ›ïQ‹2)²5ÔVݹ )Ö”’Qy{ª› ›ëPñˆY‚ëmÍ\KjÕ÷¨ãH‰µ€ô"Ó…,47¢vGê44•D"ýhàŽV½¨5q{ …bصë75ÚíÆ˜ÆÚVÁko["ý*”$Œ‘+ ¬Ÿ–BUl[­­Cš>CJÀàB¶§CR3ĵ$eZÛV‚Ù®u5 *°ÛPeŒÆôkØTSTrâŽ7«²1¬.^>¢•š+Šh}Òß:,XdcmK éL@ã‘·e…˜ÀÙ+zQ3.´ ºŽ`ãzŒÐ†Z­Ç™ØÕ„S«é@ÅÇjœxàŠt¢°¸¥§—².4Á€š.Ð]È¥ró¤vÓj°È‰FÔÚ!ƒRå@úN•.t gÿÓ9SµG‰›–0­CásY TÚ¤VÔP VŸ¨+ô¬ä¦±@ò FÉ­qô¬Jݾ4Š-½K¥DDT&°©$Ôøü(ˆ¢˜XíDDµïZ.V»‚€ u Ó(4 çJœ%1ÈžTå¦õG…$^ºë]fD¢'r+œò‚4õ¬®‘ÝñÜ×þÐÌÊaô¢`…½Á¤qXtöµ3„ǹ¾•…–§£ÒåÔ´‘®ºR°¾†Æš•ø­éW~"³ªÁÓÝoâÖ úÓQ¾úmHË—*–ÚߤUNW›ÉÉ °m:úÕ*6ðfþO_Z_¡ÐÏå11–î×>‚«¥û‹“Züê˜ı¿Zo+HZÝ+OÕDòçÐæ·Ëì»öûF‘͘±_•8œñ$–õ½j%çÇ]­M¢› 7©|R…‚ë[Y'k6iAV<}6¥|²,Þ:Eq°$|êÀ-îzP2c- Š5¸§W£ î«t~¨ó‚ KVþstLv…oÆ«r£È‘úNÔ÷Š˜$±ÊëÈFâÕÛ|×ìxôŸØô…mƒîoÁ.¨q\­Œ_ªÚ×¥öÖh×—¸8Ø×÷‹8™ßlmr+žÕš?&ÿ'¡ÖÕìþ1”%SHâoÒ£¯ÝtcKG‘$/mÅ11º+NõÑsN1£,qç+ K65r?éßrEsQLU•ÉÔt«œ,§Ã¦Õ ¬”­8îé#µt>.a&änm§­s&Giz³ð“´RöÛ^ZŠN ’ÍVÎni‘!P,.)gVÜèM©‡<#ô d⟶äÔ4£G%¹ :ÕvK‹5õšŽ`ñ£È –XcùIVØ×ŽÕ,ß8?fÃ']¬j«÷&hi¹¦1à4‹¨iøÑ]Dô/eò8 Œ¥Bݬþ5k›Ã^#O¼®Ù²&ÇGn¢×®âl—“1¿°5vô#®©,Iêu`I·Î‘˜ì6:¡¦•_sBÉžHžß¢ûTC5X/#”gAÛ'û¨4>µAähÝ†ß w(† ãFÍÇñžŒŠ/ó4¢ Øç•¹'ç@–f'OΧ8x\G0*o×­AˆÔU¢,Ÿƒ5õüèÊ kC]iŒxÙþÄÕI)o%çŽ1úˆ-ò×y˜#*e„]H÷Z¹\\üohµÈafsþʸðÞg¼¦ Ø#ZÍÕÌ‹µr¬xŽ'v>ÇPi‡Ã°…€ØÓ™‹ªÚî(‚h‡!zK.8;º6¡5ã·¾ôòxé\[™U4ÐÀU‹ˆk·©¥$6QO$íÊ8ΔL?óËÛqÆÛšºí â†„ô¢¬AMÃjw¢A•¹>%Ãb7µ)—Có)úiµ»\j²l3 :ÐI)¼üäñ‰4?“%”îæÄëV°àbÆ·>âÇJ2á@—km¹£Ë“š¨B©eaIK4íí`Cu¬ÌÈeƒÇޯ𠆿ßPК0GrC­ÇöÎõr‰¨?­9ŠÄ‘éj”R#-×Z1"k ò€°ëU“ÃÄ…rQWÜÚŠ_%F¥E1Õ•ø°Í r-rzÓÂmF´“Ï")²ÜúT±y\¥#I.[ƒ­oë½G6RAÚŒ,/aM@àŠ†$-ETy^´X[Méî+B°t½aµ4æˆ6´œ€©« xAšU6•„Ú¢càoXO"¦ÛkÖqjVÓZõ–hIŽ/µ:VõP 9Pã%¶©¾"µ@åÇ÷ª£?î&RR3`*6;>*-Í,²›zªÿ;yt&õ͸ކ€¿‡63¡;P²¦Y4×>3¸èñf:šP1©1×zÔù{Q’pR’““Ý RC#(ò§ûŸüi%”ÙÍNâ‰+‰ÿÔµÉCʇ޵a“úR$m+"H¸ÔÚ‚ä8‘ò¹µxln(c!‰±kÔÊ|+\(ƒ…H*“nµ°JÀÐ"µ",k`ØT$½ô4¾å·¬\|h,Oζ·ùP‹Òkv"¤‰ÔŠ"¯!EEU¡jÃ!4 .8Ö¨ü”@Ö«.Z–Ï‹½¿¸ƒYÞuG_E£J(n}:ïV8l‚fkUò!IíúHþ4÷Œ¸Y†ÃJÊÑÕÿ6C³¸ãÄkHäæÅ‰3¬3)1îÏ©=+žgÊ‘‰úOÓEjñ ù=Ñv–°d™9Ý Ú§Z5…n8È(¶½U.6­'Â8å¼½HÄ”ÚÕeÛA©jN5l54ü*ÀŽ>šš‹É¿ZÎÆžà:u¦Ö>&ÃQB@moãLÆ·±üëòztÁ¦B4éAp+ëM5ù|)y4kP˜¯L3ÏüäF/!/MhxRYxu½ªÃîØ€ÍWÀj§½ç[W£Ouô<ä«ÙoVzWŒ˜É‹ J‹Š7ñÐgãæPNêÝAªÏ¶%/ã®ÆåXWÑ?%Ûjó¯5»kY=šUvt¤ÒÒ4ò~"L<–FßÒi|lˆœn§kwÿqx¡™ŠgAySa^q,e&`ÂÌ ¸®ÞžÅu/'•òz]_ÁîÀÕŽ.G7Õ¡ªå”+q+½³mÇaW Ž+òk~¢™ÂË1Í›®ÄÒxdK~»Qª]v#QJÉ™ÖR† ‹ÔÁ ¾ô– ½ØS–ÀQ£qÜ+Ò“CfvšH\ò €¿öçV^¾”ÍýÜFÔ´1ªK!ß×åBP) –}œÆœj»ËJ¹8QÄZܘr½[èQmj›ÍƱ@¤-ìÀӪȄ²°c‚lvOQkWQ†ÆD vzã¥ò"l¬tÙAÕá½€QMŠ‚÷8þK‘°V;ô¦|„!Íú_ÉEÉyÓZ9™&ÆV'êÒз¨¤DÂà)öš”þOö\§™¬:Zócây e¨êk–ò~Fo#—îB¿ôÐzzši&.QžW’Ëϻ٠ ÝOQAÙr[µ~z¹ññÇ‹RÉ{­É5Êådö3ûñif¤”ànÙrÎ…<˜oz*d‹2¨·Ê•G¬Ê>±©£AE#{ëIê(<ƒØ5¹5gàRÓ4­Ò֪ŹAa{è~mý¨­ª‰Ì.&v>d¼-¢èjÄDWéÕzW'ƒ'í¥þ£WÐya "Ø7ZÎËÀ¯Eu%œnüEÆ‚§ÝA«~U¸ž "ä¤zЄ±!…êN[uZ¬ƒ¢L¤ƒÇ]h«Pü­Häd‹Å=uZ’g¼QruÐíTLŽBô…âvÒÉò<µ·ZO3Ê•'޾”@@ûæÁZÞ÷¥¥òŠ÷ Ä UT™r’IåRŽÁ ZåºzPàÜ™,Ä2“{Ö6vdkÆ)Zß œäذҮ± ñ@ 6.ºôà ŒfÊy]™†÷«¯dÍuõœ…Z ,=/,­ËØ-zÜ©J‰[jEèPHN„Q‰$Z‘›À³¬a´š>0qP‘BëoƵÞû hÒŒ°ÐkP-¡­ºÔC€uëMš3.•0Fõ­/ó¨¨ÔúR$(5±ñ¨‹ZÕ±L£:Þ¥kŠÎ•«éM¢½*P©§e•nƪs|”H­8Ñ`kW½VAžïOÅ"¾¢ÂEAÆ”Bt­t  ÜÈY”Ú¹¼ìf I®ÂE¥ò•Iˆæ vÍiòH<ȬƖXËoLp@Í#8+OãJöÒÉëFK-!Áb²’-ùÔ–Dî=)8‹éYû€-Çñ¤ZCÌÜläÞ‡û…¥Âö&ÿ Îàþ^´ÿÕì†1‘=ÛÒïãIkŠu¹FÞÓSŠRNºÔÀ4W®Pt¥rá z3yv2X$]Ø/ÊþÚ–I­×­DdÁJÖ¹4ic!¨LmA$k,kÍNÖнEׯZß*’뽉½Mè¥@­\P3aa¢ ½M¢Ò˜ µÅëQò&ÇJ;CX°’ÀHuDCG>KÔ”¸ò2‘­JN²m[AÈù¬S•tÕPG¥GƸTw'j¼òž1ÌØ®ƒå\ÓÈ1ñ¦¾—¸¬­\ÁÙÓÛð„|®Yž`£éSJÆ· Ò´}î êh¼u6éT—æu2µùÛ“ÈhŒ¦™ Úß­ )†[j#d°F4éN%Æ‚…;RÑñà/½4µac¿¯Lp‚ økM0¸4 ÐHvXg)÷„¡Ië½r¸æÒv5Ü}ÍIˆÀ €.Mpá¬úü«ÑøùëoÁóÿ5píŸ'eö„æòÀÇA¨®­tQjàþÕ”¦z++¼€Ôj+“äV->§§ð/˦¾ŠB‹Àê:Šâ~èðÉ#dF‡ƒ“{t®Øv¥üŽ2dã˜Û¨ÐÔtö:Ûòú•èñ'˜IÄ€^Ô“¸ö7¹Ü °òx³bÈбößz« £òJôinG‡ocI¢ßÇ·Œ_Ö‹4c¥úÕv$ò+–mÍZä1lUkPÑuÉiâå;\µï 'j—ÇÊ‘:­¥[N%“cSókŠ¯ÊŸöYbB/‹0§±O(ÉßÒ•ÎÇ^⾃HÀÂ5FÔGîÃø¶t>ä÷Œžli[cÉ?øêÚo——á2rQ9Ǫº¶”@LjyÌ$þá~b»\YŠ´dÖ¸É#‹)µt³¤PÉúH'Ö®Ú!VÓlìHÏõ «YF"ºHlQMàÎ “î;R¾O÷ò&Ì*Kz”ÓÉä²­ÊÑ ²Š ˜2wR8O÷Ô|* !ÁŽ‚¬ñ0dwÏÕkS’wó$>#öó1‰øÛ•Q."Ïw ž–®ƒÎc¤¸útªO û>«š`äwÀpËŽßTg­70f[j)¥Áµª]Pa¬$¸peµán ½éL¥š#Ú&àRùIc•ª£CV­,4¶S ã$>å¶› ²ñø¦ ë@ÀÄѩ[›šhÁ $l)°¢ûV:›iOŽF”•àqk)T@ž-z”$hâ“PE‘'^w±^Ù¾ÆkX‘Bxù^” ®¸!©ÒŠËKÆB4êÒ“Y6anµ.4Þµpz—%"⥠1 ¶µ0†îÔf[Üü¨‘§•W­\ØÔj¯+1”ت«+È›z¨(°Îò,IéTyMÌÜÔeÎå¥õªùå.oM 'dm•wã¼p5Ö¹ H:Ն섪MÈQK{j“7Ú.iá–¤oSÈ5½VgÈ“FŸ$*’ Rgfr^˜A[˜ü˜Ú—[‹Þ§+†jî7¦PFaÇMê@›_ZÐ`hWÔúVùÛåCî(ëZêÂõ>t¨È Ö¬ýÅ–ÿÖ¿Éó ­kÖñ|Â;ZõÆfe;Íë0òäY/zCƒ¦ÉÎ#)ŠJ¢f[¤g(Ëxä#®"L‡9R86»±üÍZøß#R†•‰øÔ±$ð^Ô„‘ÕofL@¤ŠtÚ‡&4nn¶50CErÆmzÓ­X BÕÆ>” àºÑ£[ 1ÇÚ¦SYh ^– ¬dE 6š —z¢â„& †çLŸ RqoV¸iÈ uc˜qs²°«/ÚFö¥ñÓ´µ<Ûjµ Û(¼¤РëμÜF%•-`ZõLÞ#a\ÝØLñ<‘®ÿV•FÝv8ä ¶;Š:îÔŒª.vÒÔT¾£­Cе†Æ¢¸àzSéf>†‘IERno©«XiñÒ³»ÁÙЧRm,{ܨ_ÝöÜZ™(F‡ð¬t7Öõ–YÕÅ(ƒq.‚ûúSk  id•5-kVv:)„j,h2)0PŸEéÖÔ¤§”TùˆÚ\)"Fæ¼íÅœ¯òšô¼Åc ê5¯7ÏR™r/Ä×oÅÊuûž/÷îR=â§0eFûê? ô„è*¾_½gQÁtôõªÿ)“ÞbÕI1MKoV¤Òµ[Ž'ÜSÎT;Üš¼Äò`‹r¹¯5ÄË*ýCcW˜9æ&»5É¡¢ ô(r«¥J`†?v•Íaù`£Skѧó¶}Ô D|£ªý5Ìgd•céOfùzßJ¨œ¬·&˜ÌŽnmq­iU*§AEjcH—1½3P›ÒÝÕ;ïP|€£C@ø–‘döô˜CÔ×:Ùdßzf½ÈˆÞMlEê¾|¥kš¬ýÉkÞ„Ùé  i²917¡÷m­é3%‰­I šbzïPi™A7ùP9ØT˜ééL™˜õ¬YXi}èwµ` $a^ûÔ¹Z\’—4 $ÿפœû¨hüZõ9¬[ZÚ¤¢Mc!7ÜÑa±ÒÆü…7±µ†ÃÌ€pb5« '“Ù¤6µZ¬X Çc·¯ZP ï<‘ŠTÙI=iò‘8¸"¼ÍdÈŒ’¬E¶¦àóF0-!·ÆAÞ62EØE¸Ò¹ˆ¾çÎŒ\›ÛÖ›‹îA/¶eßÒApÙÍ¡65¡ oªi6ú«q4D~‰?äÄ#¥èÇALÇ’TÙØM!΄PK©_;rÚ­°  Š$XÈv§#ˆ&¤4ö‹ÑiPF&˜[Z© RhIªì¿Lm †Ñªíìh%UA¸©±Ug›ùï³çÅ“½Š†HR¥j•p]”©åÔÅ{µ—ˆ¾÷¤ò|F&Aäñ/.¦ÚÔñŸRÕðytxüñ§ñA¸°®·'íLF>Ë­/µÕ "O•E©žžå]JU€°±ÔšŸíNƺlo·"³N§„ÄBþt—KƒK|Ô¶8‚€XOÊ”(ãÔÚ»aƒ‹ºÆ ü…cDœtP*_JÜkçÛjœ¾^˜«’,mP/†÷<¬=jÇï«ï![’ã˜kþªä ¬Ämmª?RO&ŸþÛµ5H»i¡ž#Úpn7® ÎÁÙò¶‡ónb–$º1P*«Í–’T•¿RØþ·Bãm`åù}ß±E—¼ð¹V¸®ÿÀd0‘» óø®n=+¬ûg6%€¤­ÄíZ|¤šPä_ ±V꾇Y— S;HE  ÜSѵÖ㯭yöY=¥iR€dp?pßsãVGÞ—û›Èù\Ê,­Ø],jªÌ{(ÖOF,-A—;#i%U>„׎¿ÜžYP É/¥égò™RHX³³Û{š¹fqcײ~âñÂò”ðè pÿp}í™Å0ß´ƒ Ü×&VC¯^$ê+D݃5È¡?"ãç%ƒ}Áäù'c~„Òg*Y]™Ø–cAXIކ־´ÌQ”K²Üßzm-‡Ù âæIáÔŠ7îäÆc©¥8€Àõ©Ö±Ôž´š óžàÜ:Ð]ƒrR-z“ è5ëAer-Ö‰#VacÆÛdOÁu:¨]£`O¥k¶¾â‰,cÍ( ÜÑk°âNµ\²mj“±½Åâ1&ClM¾uXŸ•AœÛãÖè3Þ£‘m* "¢O&ÁÉ6 ´ìÖ­$+}£a@2k@“z*Ä >¢³³e6¢C Ë+Zêh‚"w¢vn $ [Ro[ã±õ¦R#mªf/hQ!¼éRTÔ›S&5åQuøÑ!xu©v×Kt¢4bÂûŠ’Ó­q¼š'E*_¥OŠQ!ÿТ“ë#­ zk%x¹µ@›^¤ ,nt­ %êEïñ­Ø)¸ ¨_cj.(õÓjÎé v©'S %”\u¢™.·þ†g1b-X¸Ò¢YTüêƒ|¨•ø\ ʘ7ÔE-‹oZwm…:¹ù·"EI|žLW`ÄÕpcÒ¤Y€×j ̺sa ºŽ†®pþóB}*⻀Þâ‡Ýè(€=_ÏxܲJC¥Z¬ˆFŒ xÌS½Çb”ü^kÈÀOXØ_J«°k\kB*[}ëÏñ~÷òpX5¤Õ]7ûÏÇåé80Û©ÔRjC(¼D#¥miX<– ãûR©¿Æ™ ¤hEUp'$Z54.Üjv£ÛãQíoI©piºQ-¥b¨ºu˜`Ú0hE íLÚµmoIÖF®Ð”øÂxš'^Hà†Ò¼ÿÉø¶ÄÉ’,/íùt¯GÈÉÇÇNr¸U¦¸ÿ¹s0r¦Iqœ3Û‹Z°í¤fruü;·ÙŬXä20ÁF—ªO7‰Ã¯Äï]sBSTßpã9ñÎQ¹©êºœù7ùVõ8˜šÆ¬|t†Ìõ\©b.w§¼UŽUºzWMÖØózÛç®…ÂæeÄ6ô§q>äΊN ƵŽ8¯¶–ž.@W=’z£µ^ô‡Éäê1<¾>|@E¡?UôªÏ¹bµ÷×J ,Fð¹BJ´òyòM‡µ¹ Ú¦´ãokûvw®Î¨¶,·G)”Ò;…aÄ E?âã2-ÁØj),ù-*/mÍÅÈÑÈÂö ]Žl§s‚­Is‘ÜÄVSvZž¸Rƒ¨¶´p¨`VÔ pÉ’³l´† bªÉk‘[/³,d®¤ïFvãÔoJL¥cäÆì§JX– è$¤Æ u'ZE G_J?Ì3b*ŸªÕDŒìH=!€–üN¤qcÖ«±Q†<ÉÃjÒ ÊCНÈ)ä‰Ô•n/ÕªêɱSÄÇ$‘õ®|¶¤iƒ¨äHYp€©3:ÌÉmê*J‚HÐR3mb¦ÃZ rýTÂXÜ=FXý¤µ&8'/ oÈuû¦‡jœaˆ¼:qêÂîXó4 fVÔ6½ì:ј3Iß­D 妴ÇV3qüje.}ºJ0¸ÞÖ­„ÛMzÒ‘À©S­úT[‘½<Ñ iZíráD„ öŽ•‹›js±î×Aé[H‚’¾”H@ºÃí éS0hÞš1‡MEªJºXjE4„Ä+ G”jiî!T—ÐÔl§‹t4¤|DÌ$5ŽÕ5‰oñ£É ‘Ú¢ cDŠªZâ¦ZäÑ{ITž"€€-Ätß­ ép:mGd¬OáCdm Ó ÜÚõ®|m¦´Sj‰]ö Phr?KƦˆãQÒ¥¯§Æ€?ÿѪÉúèhù'ÝKÖ¤£|:ÔjJúV0¸¤ÿV›ê ^¶ÚŠê$S%ˆ#¥‘¢Ëôš'@ r» ´5v×Z›ßð¨„{µè)ö¬g±cPPAøÔZ÷¾ô„YôNç+Òуj˜6Ö€A‹‹THS ÞÝÓMjaÍît a$"ÔS+ ‚.(e‡Y{Þýv¤ ÐÈG`£KoE‹+¶Í®‡aPÇÇi%/%¾¶Þº¿öÊS-•…À=)À“òScfÈ‘ŽÞý*ò+˜p•®ÕÐã}•ã"‰UÁfªÊ/ ãã#KÚ§ƒº9Ìo=äUnêÒ•\aùÙB³BÁX_PjÕ1`ŒqD|¨€(ÀPºý`9¯#–V­mF´)ó1ñдŽÎy?½a]`K°Ð1Ú«E¨› é¤ž8”¼„*ަ¹_¸~ñ†ƒ‡1õI½¾UÊy_º²ó% dmmX\Ò™0’įAjsÄ0—ÅDÌu ­Wy/#ŽÍfäÀl+‘~N¯ìz]¿¯õ«6£a„×ÐßZ_' HWéQcHeù)§6BB±ÖÕ¸a²›Év;Vô£^æy׺˜¬Á µ@5ÜÖa ÎÕ¼®BÀmARÉ"–Õ~¥jÒ‰ªÌ\ ‹Êtô¡åFFRKúO¥CÅ¿zYVŸÉ„v†¶ô¬š5Ô’Çtä§JK-@º“¸ÐS8’±^Ú£Åáæ½:ü)ia@ŸŒÎx2M{…^äŽIÌo\ÜÌA%7]®‡OÜ@=HÖ› Zâ`í ½G˪¼ *Øt>”? Drq¶€ëGî pø®öÒš`Î{'!CG(7hØÄWQ‡9Èã­î/\NW¶iˆm«¨ð9|â[ÛM.)´Ú’‹A{“‚ í½+2÷­¶¦Ìb+¸aI#²“mª Ï“Fm¸©`¯(Ñס֔òrqSêN´ö#ªb!š~I{L×P>,nr[ÖµÞ;Ÿ¨ÖñÜ*ÜnÔl’›ÇeÜoK‡“¶/½è¥‡o]è1ó6¿­{1…@ùÒSEÆ$ljÈòãc§Æò,¿¶ 7¾´I N¢±¨kt”òR;_-}H¦L©@éE]ߦôËI fGÚ°·+XÕf:´q1$r>”Ç“Ÿ*umH$ª‘ëµP´Ì†Ž9‘¿Zèãä—f,w;ÕŽÅIe7Õ ©‹]ÆÕg…(íèm}é[ygK–£+&Qªn*©£<…¿þ*ëÅÈ+¨XŠK2ÆÊöi¦˜¬„½÷o@4©r`‹ËAë[,·&×jNÈ@V>Þ•Dp{šìv5ŽQ—¥îMƒkathloŽX7»•Šü('Q(6æÔTnT3¸cµK]œv­{kZ,V{2› Á pa ¦…ÿH¬ØüNôx– ±; Ë‘#/ZA kßáZdPF–"‹ÃCþ5$ÖSµèŒ³0^†Š" ýCjŠ ±]Šìi¼H;ä†ÞÔ7­[‰4!ÆûÙT-Á)Óãæîq¿²Ž|ZB}jyúÚ×SÄ܈+ Z¦š—hœ›ÜÜ0] “céD‡x°,±mð¦ñü]…þ‘êk^#RÑljï&01¾›‹n)V[*ñZ¨*fñƒ…Ü_QU¹¢5z¿ÁNBE7 u±ÿeWæDÀ2ò¡¸¿tÎÅj«³…¶–ֆЯ¸õéN)lh˜ø‚^A·¦žêÛ‚´ ņ†±;q]«!ãKo¨tfñ¾ÝWÆŽAÂ0Ê# رÜܪñ+¨§eÂ1Þõ€Ñ‹oG!plK¶–¹ÐÔB!C§ãOE„ìIqzÉeˆ?O­27Ç-Ë•ô£ÅnÙ*ßg 3R³Ë:+Ylji’1"îw§“qÞýWÒ…ÊÙ:èGJhL¾½Ñ@ÜÓl¬‘© Ò’¬T±Òõg+°µ†„iIèn{w½µ­c9[ØêoJ,}ƒrkbhŠ©§kTò[—ÂÍa•˜¡¸©Þ«2¦O# Ö‹,d9fÓŽ†ŒÇʲ;ri6¦ÝVX«FðŠ)3;…N†4ª¸Å…«¥_µ°ý¤¤oJå}±—`ä,£¥/ÛCGñî–œQŽ8ƒ»r¥rF+&‡ ®›?í¬¸â%Jç'Æx›ŒªU‡CZUÕéc ÖÕy«‘X¶à­XddrUK^ô8{ذyÀØðzmdS¤‡3qnÕ¬Z¬1æ1„MÍT¼«Þå¿¡¦ñL’È8êz VÓAÖSúwò(ªª~¡½]gD¹x©4cTÜü+™ñ¾6Y“rüë°ñ^7/³ÛK)$íQ¹»ëq6„sìœÂþ¡kˆRÂêu§ü¬RãLðN,é¨=5^{;‡U$kñ«G;Ù²Hdå ºÐ¤ƒir^;¨µãJ&L‰?m•^2mq½1…7(ÊARo²äB h¬*̓ڬûtŸI?¤íU¨Τ|ªÞy’k5 t¹6¨ä¥›®·Å'¨†0O¦ÍWâH¦Æ!ܧsnµU6:'Wu:Öäȼ,PØÚŸ&œ¡~¤éÙ$×ÇW‰ë½,ó$ΔñY/$O ~’mEUa'ïIËe®*˜XFäÇæÃ¶5©á¹\£Ž•8¬²qvãj]É4K{­÷¦ðŒëÒ^¤)Û.t>´ŒsÈfí–‡§ZsG–2SÒô£Dcfru=:U&•Q¥ÚBYÉÅÛÒ—ÁââÝA¦ç·.]i<+.A32jªÓIêZöDQò[øÖ£e`ê ˆ©»ƒEäv¦ðqÒƒ8÷¸×Òªtƒ'Vž™9ÜÈ€ n†—³ è31#rYÌUí>mQ,Ò¾‡ÿÓ¢eÐTjDž•¾Ù"õ%ã¥KjŸ ­66;Vpj(N”e„z‰öÆÞ•¾Ý2ÑØÔxÞ€©ð¸¬+­JöÒ ëRá¥êGqQg¶(‚!j[*1°Z‹Ý( SïCT“•­¾ÔÞ> ϡހ” D³h.3ŒÙ*ÄÇp-¥XãøÛ_Öžh¶!l8!ß"Þ/#ÉãÀž7¿n+²ÄòBuNQŽG}j‚;„ÑnjqË$@6Ü©ª’í;@›Ýb ëz›06(ß…sñLYOrBS¨­¶dq ·"=iÈ˧˜·ôŒK&¢æª±¼ŒjÀ­ý5§Fm͇ãHMš$-bªß!â ÉŒ†6?ãV<6gaô‹›Ò’̲)‘>ž”sEV–yG3‘öŽ;L²wHþš¿fÈÌ{. ú¸Ïòxð¬›IÁ÷ ‡nfÖÚ‰+‹[•}‹”БÍU¯¥Wf}½?Ž!òfzWO•÷#È¡Pƒc¸ªœìÉ2däæöRÔÙ”2x™Î,„hNÕ\ž͉=,jýd™Çe±c¥°%Š0î¤_¥)HµÖÚÂg5ä¼Gc’\õ"¨øWy“߆HÈ×·ÎÕÃH7(G¹N¢®¹TµC˜´žãCÑbädc¼ð'uF¡ŒV$Ço–Á´ÿ¡òcÌxÈ×öR4`¶  ƒþòÕ7•ó¾SÉÅÿzH t*8ÿ…%Òî¼»ø5‰;îÖ<ÈË*hxÈAV…ø²ý šæÄKRx*dbÎxòÐ}ilà R=ÄnQº½Gü5nþ2hòp&r2TWäºm¯*&Tèd“äë¬8úˆ¡å$,O(ýÑ•Gÿõ&:³rSÖ¬ü®DŽZ$Tl)‘ŸâËjx®U¿˜R会~»%”B#î¯*Ý$_i5liÖ)gÞqñ½Jiq‰&8±„ZKé·ÕF†Dÿ/$öv7íÓõ_BÛºäb #Q¡üêÃ4#¶í°ª·&í+ÂOºü« ÎæÇ¥x Y˜íQ×ç Ó»“­,” ;äã7t†eÙ…Ve¨(ºj¦¬’NÂpUa©íK}/𩽔¤kÓÕeY¶âIw6:Ú—›BC{t4ãÄa~iùQÆMíÄéÖØ‚o×™@±&+ØÙ†„VŽIlÓÌýKmic*Ç)[Û]+rw ‹(’Y*Ö„žãN ?’ËžÜeCÄìE1S8(âÄlE !RïrE )@.j¯!^) LCµ«¢Åˆùu:Òùð$…X­Åõ¢µgdàç0׳˜B5ÔÕ¬|Zk,)\¼NÎW8Ç´ÑåkSþBJzÜ+‘7­I‹Ü¶u  þó íVž1,§—Aµ+?tcƒ´h7Œq¨ÚPe‡”®v-OÉí0ÔU*ùvýØ‹!8‹ñ6«âŒWc™ÔVxÈbT’,•oÒjóÈÆ5VÉfp:Q¢hèžPÐöy$»u«uŒœ~#êZ©ðæó©[Ï8Ç%˜{ÔÓë®—ȼ]"´y^÷aÏ ok¨ý…ÿmSÎ!Ëft ÈNãp7|Ï_þ/þšªV‘¼òÏ_Ç‘ÿÔ¨–‡ZÅÐjÊlv˜ÚÖµEKí¾õÔÒH€e ¦¹™VU1‘²›×G7(ƒ¥ÇåYv3¿âþ9HO3ÇÂUŒBÍm@¯/ò±4^BTµ"kÖÜݬ£zóß¼±£ƒÊ±Ûšr:®›{ˆùj´vEz8¿C^‰âñ\Hò•tâ5?*óxØ“sÒ½íÈçÉðñ¬RÚ2,G¥iØáÎÇ'M-en8Nìt'[ÓrªË„ZöÒ¬ÿÉð–"í!’u½UD½Ÿ@'JÅÙ7ƒ£ƒ¤¦qÙü—/[•‰9ÔS^M¡Å]IºÞ†8•â?*Õ#BÀò[hÔÖˆÇgÐÜR "®¶ØÓèªU&úm½Mä±\Xî+k ÍÆu-µéNjò¤j–ö’úô¤VÄ!2F¦]CZß b>pÍõ{N·ŸŽÉl„ÖçÝ[!U×Js+ÆßÎ)2Oe–Ö`}µ8æ³›è:Ô¦@éÍu¥ÄgÍk…ûÆ”Çöß-KÛÜ-TÌ …ÈÔ­ý­&DÈ„H‡K\¢Ÿ¨™]ç|CCd,5½ýj³Ææ[Œlu½1ädò FÒ#þRvµTE/jT“Ðu«YNu"!—žYx ?͵-â.1kkµfnOî!F…KÆÂV"ç]v¤Ô'%LÂ.º/Zq$-fSfY$YÄ;Cˆ]ßaYv"ŒÒ+È}”¸àjÉ8-ZQ2ØÞõO÷,"CkÈs¦¹w¿´Û_JS'¼ˆ&Yv"…[: ãM,„ÝA’Ú×yâüŽ.\A%XiÄúWŸÅ+&dr7Ðv®é|~7’d„rÛqYwCËö›üoÇ‚Æ\ iVñiò¤òaÉÇuxÔ˜ÇÕjO÷CÆ’‚Ñ©·!N/Üœ-!·!±¬•l¿ÜùWèo7qO!¸¥ òfosý'jG;/Y‹"ÝNõ P¡K‰ÐV•¥Qí³p_$ÊH×OJ­û‡Âcåãw‘m ?P©¬·· )¬™WöG‹jl¤¥< Í5“ˆÊÂËñåѲÄuÒÔÖ6j³vÖ?pý_ îû8™pAJI.º«šó_læ`HÓøÕîB5)¹µå:˜&Ó×Oöo@f±’Ü?•uå0_"&K)Ÿ§üµä¸þW5á}N–ý$W}â~í\œdƒÈ+Å(ï(¸?ª´µX'²²æ»‰Ç$sÆì9²H _’6«¯˜™+"IRË8±àÞîµ¼y<.4߸îwäoÔâä»qBò~hå¯c1dqf#ÜE.Æ›vÑ´«ö§®îÕKg#EÔëz€Ç‚cï@IëQÄ@1…ÈÖ¶Y£ajæÜõZM@œ¾ nªÌ·ÖÀÖ±ü:’I:‹U¦“®º8­QE÷ªW²ÜÇôÓF²SG…'ÏPíÎ)†‡¨5a3®¶¹VVü«¡Ç‘~ÖºU<þ]fÄaÀabâœ6äX¥sˆÑxÙºñ‘Êš”Oá¥f1,Á5æÕ_öÌïÚ–Õopk ñÐräUû‡é¬û6züVíV…l)ýmW>,ì×éj¢!ÆC0Ò­|\à8Bl[üi'îF¶¯üvH{ÊdK‹ÊЋZ¨hrìŸK±Ü“V>c8vÄ/qf»~ ,8%’ £³wƒù«nÅX«œ»BƒÏV´:é:‡ÎŠAëÀ jœ“ß½ºWCšJÆÃ¥PÊGt‘éY_S³£ñ‘¿å'ôåVK-?g"9m¾uE8ob \>&6z+¹!­î¶—ªê²O"ù}mÅ‘UŽÓFÅnBé±®ƒöñú~Ž?…Vâ`͇•Û-Ï}É}ïV=ñüjæÜùãò˜ÿgúN>8ñ?ÿÕµìÇ}´-¶ÕR É¢†¸±°dä ­ªi ÛQ©¢rZ¢N·?…hEvôµK¶/­G¼ƒ®¢¶[RhUtÒˆc‡¯z¯ŸÈáÀJÉ ½¨pù|I˜*H.IÐÓ)T²h×ôì+‚hoUGÏAˆDlO&ØRŸçÌʼ ëH8 ɯ¥.eØoTïçqmÁf ÛÓþj‰òBŒÎnž´^‡=zVÍ-{Ú¹wû¡Y¬Št­cyôä{‰kìh©>` ÌZÖ5ÇeyŒœ™ä<ÉB}½4¡äù ¹fv.}×F‚Ç¥-Ä‹øÐRIi$'—"©+±`ÄÜÐÉ$ùT ü('›¶=»Þ‡"÷t½hI-µô©~@.¦Œ rÄèÕŽ—­$÷Q{W2bA·Rk¢À0¢QÕEÀ®~×9ƒ¿áa¿Aõ˜0)}-¥l)hŒSFLO b*^dæ‰$ÿ§éõ5ÓL˜²EÚdÚÞ•4ë³S%÷ü¥[ðã+sÏåñ³cÈR%æ·öŸ…I$H‡‰/jè³0ßòåCHåcE“øŽB©]§?NÊò§ô+<¢0´jIµ7‡Ë° qª|×ɇ„NLJ+¯Â­p›ûd­µ4v=Ãã{oe‘&›!b„rw6ùW-þ¤x“‰&4Ä—g[ÐZ»Ï·!Oܳ‘vFªõRo2êà|5ªêZ3>þÆîèÿÈ¢Ö[z'ØÙà<k_ó¯:ˆžåë³û5w.16.Ÿ…iÚŸ¦¦ËöY=ô; S…÷cÖªüŽûŒ¤>5bPoMª d!­Ö¹ë©×ÛYLó7 Ñä Ô:zPñˆdRO¸ïVÞeye½Î†àTxó©5ì×ÛÖºk-IÀÜ<‚É¢“ê'–ÔþSpíÊ·ñ­e@ïà.Àÿ I$).¦Ì7´ÛP'…/BÝ£capEÀ¨bËyZC¡ƒû¤*[Ö…;¬2+ƒõoQ¨çS¨OûŒCèÔŠÆc›´OçQñy‹Ú {“µ1™ua½y)CÔ^XÙI5,g¤JoÈéð­¹2 ßKR]À¥ƒ6ÇJQ;dⵉ’[zC"|ƒÌsÇ}ô«LiL˜ä–¿JC%9¿ÒhœdM¶C3¶êÒF}­Ò¹éã+!PjÖGXè>ÆéJðF€ÔEUrÉ”°GB77_J|GÛ>Ã`j‰dxä¸Ü¼Â~úëkŠ«~ žpkÈgL° Hœë«ÛÒ¡“‡‡ÈÆÌvœZñ‘o!š%I]¶¹ÜP9LÑÜý4è“&Ú–˜Yó̼Y½Ê-N&r2öd¾†©ð ÷kO[Óù1w*èÞµÔº=üˇ™_N”÷…óòøùûr·%k ßaTë‘'¿§@hr£0 -qJÉYC ;Q»WVz„~O. ±Xnk˜ò‹Œ$þɸJæW;*3a°SùV"¶¬~£Y®·WƒoÜ®–!îZÄáòˆ¹Û!4µ#ÌX‚}”XŸŠ“Ðõ§  rYOKj(–en ÒˆÈxh©ÄÎ-°ÔÒPØ7Ëù\hÄv;^ôFó2¬±ÈÔn@uéjç$Êä$ l/¥HåH`D½Åµ¡ÓryN ¿/â±Rù°¯µÊµ¦ü>^Ðñìð+ Ò«¡ò 7Š‘wdCÉd¤7ˆXßQéF\ƒ¡ò24\{p‚—Ô­'®¬WB§zE~äÉYU2¢ hXoLχ‘ÈÇö9÷¿YLµf´:#!ípÝ—B}k±Å+ØÖ¦•÷2û»¢‡©¦ÂÇ|BÇÖ‘ž+¬7 ù‰óðíûî…Åýh~?ÈÉä!eÉNýDlÃnbªõ«ÓR:»l¬¹LYÂ’2Ä¥Z&Ô­sK6l˜ù\¸Hm>uÔLÞáT~Q J™nÛÿ×çQÖÜ=õšòÝ x©#$µÑIº]wŠk´¼}6®:†ç„Ä"oÈéLEa'.¢§š ä4Édœª›Ut.›)iî^de$ËÌqÔÒªÑO3w:íQ‚&$ñk[¥.2¤ÑwEšz3¨C‹’ŸÝEfµÅ ,,‡d>ÇúWÒ«âžúƒÅÖŒÓÍÊãQMYîc~¤Ü×AÏ# ÖûÕnŠxhÀSÙØÜÜÒy ™lÛ)jäÓð¤Ð;ó¿QÒ­ñ³Zã‰Ôn*«"6ƒ-xꦞHS»Ü\Qd‚–mqy-Fw1b5¨÷¤þ^¿Â“W°¹½éžçø_ð£“IýK–‡ÿÖ¸’D(m-–éøP%.ççC§+_jFi1€fs®•žð54»ç‹rÚŠS#ËDz››PT3,w$Õvg‘ ÖF·Ê«r<„ÒÞÆ”÷½™¨‘ª›Ê˜33Ü’Ô²³^àÑL,Àž(Ñb#Ó¥VE2e“&Q#êÊßåZÚIÞý‘Q©½ bÞæôHdL%ö5>oÀ®¼GJeqˆµ5€ñÔoJB•5¡©XßAOˆ†• ¼FhÉ.~W©2‘Àq½÷§2IéRHˆâzQ#nÒ—'Q «Žun†´1‡õ466„„*VÄm­HÀ{ÈÊm¦ÔÚ…¶×éS0AÂÞÔ&*±Ü’vëFÇŒ¡¦EÈ îUxèz M•Ä‚bʱ¼ª†ž;ôÜ)Èf,Yw6µ±]$uââ¥ÚÂJ³ •b.ýµwâ\E¹¹€èƒŸ¥ˆ?:sÆ‹ãDzY÷i_ÄYqàê¼6(‡ d;¾µ¯'šÞ8~ë‡qÔ£z.$ÀTêRù$ ¤Û·¥«J¨¢iIËwcMîZaù,O1Œý¿k/Ô‡qURŒ‡ÖÕ¯ ¼ƒdDGBXOÓGòHå­nZÖ]±jòÑ›ü.Ï{­\×1ö)<ìC„d /©¨á?²ÃoZ?–nXvµÈ¥p®b 4¨oÙc¥ã¶N›íù8´ˆz‹ƒIýè‘æx Ø?ùy­þéSñ²AFµ?<Ñ·ˆœ€ hÙWæEtt/lýÎ’ãµ³ÂÕ¬úU÷Ú¹7ŽÄhÍoΩ%N2·´©§¼fAƒ2 on.¤~u¯d:[×C>¥Çµ7àõì‹«.›Ð²$woʦ®²D’Þà€E#äÚGOíHé\U™=ÇìŸC“óf38*»›Þ¨|’¼2ò:‚.¶é]”ˆ99âõÏgrh…ºu®ªx<÷F|vCMp5½'“$ÞÑc½è89C'pê»V…ÀÞ‹'ÊUN$Ž^¶ØQ–H扔‹•Ú¤ð?oŠ{oëBLvŽÖ#MéËBÈ<—Ùok uΙXª¯mO­rrcJÊ¢èN¤UžÒÂÑ–>ÁÒ¦òƬÓÉb×I{vßzK&`O¡½…?žŸÜDn¤R‰$ޤ­,DÏÁ9û(9\«ŸÈÕ—ö§[2‹Õl˜³®? 775máq|~d#öù«ô+ý-oê£$SM„ªî{Nפ#Ç1HÃôµtS§uÞ"465_ä1[[zSœ`VÉI›ˆ±ÿqv;Ô¼|­ t})†-2p*-H:àlÄ^ôšò[ä©r¡H4ψ’dæ…¯·R"ëvÓáL@óCÉõniB{8-¼nYÿ1íÞë­…z¾¹¹é^oá!Hå/)÷ô½wžpèccnCÛQGÆÙ.õå׌À—œ“.'‰EŸRVõ¿¶ÚY2dY#à{7ר-õ Ï2žAäUã½®?ÕL}»1›%ÃÆÑI"9´×—/mmt½®¹™åý=§2oãš›É@ Rù˜¡—”ñ ûOÆ®²Lò¨Öƹ︺¤q‹½ôzçKÜzŽßðËÖ ¸ÌÑ嘃k×S‰í—uÖ¹,9Üù…{XúŠêâfòÐSìY“?ާ­§¹bØx¹ÑÜ’¥¾»Í/'‚Š™±åd~‡§û´òdÇ—O¢¬FtGÆö=jëyY9ïÐëldI“³ˆ÷ÇçUXŽS)Áên =ä%2ŽÜ{µTŽb˜3 ·¤ó¡s IÐÏ’5µE•)‚Ž@Úõ}ŽÝü`cÕÆ zÕfD9=ó7aŠ)»é®ž•¢JÕ0mÖÄà. &ÞÛíéY&Dœl¥9†©& È•˜ôŒŠöŠÅ­6:ºnì¡å"¿#!ËMî ÄòÌü/J_>ù*9[{T|d®Ù€l*£åî„;<ˆÀ°µ?„1kèFÔ6f6cÖ¥”c‘¹ $ö¨Ó”# !!½ÿMIˆšQç™%NWÔtªögw&Ö˜“añ$6äßU&K»zô©`£¡5çU…dê44“‚íYI‰ÌOv._¨€?·í€€ú  yÖLìR~Û|êöY‹ÙTkJáÓfšÅAäV¿¹Aƒ27[©ºƒj'}½:ÿ #þÊLIÿ×NC½é~O¸56 Ûš‹*ôéQ%ñ”ËÈŽ„Ö‚G©¦Ú5$Øm­ „ ˆ×Z‘ŠÊКmUAÚ¤8@½8Ù@ÞŒ©k-µ[­[KH è‚,· ˆm¸ÜÑVe*HVÜ©•BŸi¤’0ëZèAÛ¥”I8íz²´|±¾¢€j vÓ}íQ*¼Á¢¾†´ˆ­'l·¢GJ%ÈêzTø(P P®¢G%½ËôÑ÷XmëD‚F‡¸‘{Ò³‰"ÇKT¡´šr ÔP£ŽF”%Ï÷M—áD„"„¶–&ˆ{Œ@<‰¬š7ïvÀhÅÁõ­÷ävŒÅí+õQ J²¤ÒñÕ€÷ü*X²ð‹”‰Ë‰ÜÑüp2Ï0›ëm­ H ªØ): Lq†WV Ç®”ç•2Ã<àÝd<I¦~ïºÊÀZ˜ʘåxÞÙhÍÖÝ)XªYȇ>I;цMTüêÇÇ8Ð)þPiYü²Ëák'&”X\í¥5†ëûX9oÄ…gÛ¡Õñ#”N²t¸ù%‰Ðù0–RËu”ÑŽ2äòë@ž5U 57ÐQ_:ÆÑ¥'i&V#Ý}ÆÍ–X5å±"שù!C©Øüé7òvTŽGm45YßEžËôš¥SÎäð‹©²ïÄ¡ÔP³3’\Q­¥S¿CI¬šÜmX†3 æÖ­\#7{=͆¹‚pºFnE1“>MÐ~4Cãƒ/8äR¿K̆%$°½(BæÑ<dÃ7rPtÝoRÍŸþÙ®lmNcx¯%?Pª#(Üô©Ù—W”‘²äÂIçètùÕ¶?Ÿ0Æ ägj¦—Çä.#ãdY­ôØÞ’ÆLlx•WWAkŠž*pàÝ÷MU{ÁÓdyùd‰xÜÕ.o1ûSÝ+›R/!˜Å­¿œVÕÖÜ>„¶ô*7<„»«D×Z†Ö¦åXåÇgäLª.õù)çŠ,LEþí¬YZ4¸$ÊÊë*݇QTž.#>Gýª èV­QþÛ'©}Ž™ ˜çn3¨ÒÇKÔ¢òŽÒ,)bÆÀÔgñ?pÀ‚y¢†§]i,”™Y'ÚAÔzN¨?uæg%Wß1«ÙßÔÕÈF×½vžyŸ+ ‹û˜qQèJìoZSñ…±—cnÓ£:¯´g‘dtF Úä|+£ýÔ‘;ÈIámkûjQ°7ä¦õÑù<Øññäbn¶½ªZ–œDœ‡ŸÎýÎi°°M*°ëkTòÉ+Io¨“jÈÐ#­õ­VˆÉ³m‡”± š6žÚPˆ ØÕžW‘±Æ(’ñ {-éHKÄê~¯AµLv!v³ÐÇm Ų€–£¥?— U±2…<«q¡¢2Òxʹ™EŪYj²–kÐPŽd¡85ŠZÔ§6ò:„ɆXOi?”ÔZUÒâÍTØ’¼r’ÍLI#•ç~ºRu¦8ÌÜîÇNµ6E컩òÈkLnµ)³S‡ÍÏ” `ÆCcºµõ«š9@=:š©ˆ,­ÅšíDa$gFÓÒ„žÃ•¢ÖWeÕoì ƒƒ=•ØÐ¯ð ®[£›ßK™ óñ&êv>„Ó‹@I ÂJ®¦¢“8‘¶õi•8.«=ŸÛ}>5]1‰œ˜´GޔɄg ¢ÃÚFõ%  ïJ ³q-ì§@‡ˆ÷j®%UΠ—“Úß…ZøŒ'’eôøÕeÔÉìÐô«ï20ÞZêÍgO©xeÍc$K‡–AÀƒf­¦åb29€ºš_ÏÇ7‘…<”J [u·ê¡b¹|u÷\ÚÆ¥¿äèr¸Ñ¤îÎmv7ùÐN4ay)×¥t>_Æ÷£.ƒQ©¨ŠÉ¶An&®HØ„Ž¼x¹Ö· qº‘}+Y.’€„mñ¨c±Œ•e½éÏLd¿Ü)?a`Ž5ã#‹š®2(~vü*FU˜X‚li=G8гi±"M@b(½f‘D+£izM­Çˆ»U‰ÅUt/©aµ(NÐô;? 8¾0{ד{™¾uh™ú#¨®FiÌxò*›,(Þ3/¹ “¡]¬__–tWäºÆ“&Hò€IЊÖ*&0n.\^úÕx†ç¸¶”þY¢%ýî-G Š}͹Xå žN°0’4úÓ¨¯‘É9ž:)÷ÂoùSÙ,ƒn¬*±Sµ‘> >ÒMKUF ÆÝ–n[>^U͉ã<]”‚jIFs•Ë3>t›ÇÇ (ÚþãOxÉÞb¤ƒ}t§ˆ%ÙìÆ—Çy,)Q¥…Á_ªÀõ«8%…Óµ6±7ð58<æj ¼Ãý@TA7)\*´›@ëõKËãã?j2$•¨?ÛU±ääO(u7.}¨:SI…žKÀ©f74“HˆäkÑÛÅù%7ßQUYX¹°Ky…èzQ’ß:Hǵ¶§ß;¹g)-£¨×—ƨ1¥*.ÃZ~ AÜX©AJÌÒÏ•6{M9Ä/MÆ‹ØE+@òob ¥¹o¥dâ^ ÷ 8Ý@4@ÔL™6LÑßU%=ÜÃp(홬­Év7£cœ^<ʇ;ÛzçAXL øbi¦q#RZü½:Söf&áVoÔ4¤ÂéDŽ#S¾3'-ê â‘¢-d”l lu7‘Ц™“'/²BYކƇ©E&DÔ1ÃJ»Äo*‘"FÍÛ e×KUo“x؉?høŸ¼‘‡!‘X-éÆ Rž2; ÈŽe“(ñKØßãPò1 |‚Öç‚êËëK¼ZwLí)ýAŽ—¦;ÎU{£UÐüE"›~¨ àKšZHWAp§¨¦pðâɌŔ  ¶°4Bý®/ù –SÉ,BWÑâÔ|½(‘qÜH‰#i±¥auá WíÜÙ±¢ð!îž¶£ù –Ë–»ì©|líC´&ÌÌO»Qzj&ᣪ1›*…ÙÁéUìÈ'bEÁý4ÄY¾M¢`1¢,ƒù}U[>T¸Ó«åŽM'éN”1·³C™°Á'x•B‚5¯2t ËèÄW¥K•„Ñ-žýÀn§¥y߆d½#o•ê©‚oå•àÊI6M)¬ï#$Ò˜î5ÜU{Ž%ZûíEXLŒwýUm&Ó#Õ›\5”—ÃÐR¬–;t5lÒE ïîn”¬Î%PYvÔPì.)ˆIõŠƒýF¬— &¸B\Mí; s‚^¸+¬k)–Å• Ø|+K{ëo… & à‘ÈzQd!ÍÂq£âà†nO°4îLp€bÜ‹µ)XuS¥èp\NƒÔ‹Óù(‘§°ZÔ¦*sÉSýBšs zNR}«û8øôy8(. Zß BOµVt2ÃícqeI_‡Õî¡xŒ2Lüy¶0ä€ê/üßð×HÞS¡I3W¹+-Ã&À7ó騗ä3±ÅOöÐûr?fC¢òSÿ-“ö¯”†7ÊŒ£F¢ìC ¾Óyl”TvâV½í¥P¿’<ñ¹[˜µ>AÎ{˜y.ñ©4ï0]Áüh_ÜbP ±4î?ŽÌfUt(»òmHh^è¶$õ©Å–Šä‘íãMw¼f9h§?¬ž ¯˜\ÝBzµvÎÊL¸Ð7ýEêOJ@·Åk$ˆªÞô5k}($9°ÿ·±€nƉ&\…RÀrh2@".õ¡°¦â´Ëó®´åI&$*}Ï´|Gƹ,"FB›_Zêà‰Z#ÄØ‘S}K©}ã2áÚÞ ‡Sñª¿)ž+5„mÊÕE'–U»%¸²5uGÎxÑŽãÖ9÷·­e¼,ès~7Î#dß+´"ü€×ñ¦|†'Ûùj)ŒLæöâÚ)\|lœ,à™P5£6pÁ?¦­¥Lv™x÷Œ›ÞÚ nÑ %;Ž_Š~mØÕA²©9#›ZhÏûº79 $bÈÔÌqbåøåçňêrüÓGÜÜ£Z’Fdn ¢ºQâp+*ïúhß±˜‚-:ØSV€*SÆI:ÌÖ%M}ö¦F>CK6:ÌXYKôùPd…âÆD¹ëV> $˜ÌËÃ`úJïÁ0çc¡ý÷ˆÉ%ÀC}ôøW9ž¸QfÄ„A~µêÓ+ÄM |ÄÊ×ÓÚk›ò²v&K½í¥·µJ˜*V蹌Ü6*v©b¼©'¸àt ­ÃÊdµÍÁÔUŒ“«2U¼˜®±ô¿çKäGÑ‘½êVò+‹’¯ì#[hjÁ1=*¢8¤…+iV^6xes¶–¸ ¸æ+@•¹ü©¨#ŽGàÆËµèY¸ÃÊ1ä‡T? C` †aëDrmGºÛÒ«ˆà ½;þc†Zï.šš 1¢)ÈÞš‹5‘;WºÔÒ²åc=‡Ðž´›d{…޽M HJØ{; ’ ×» <¯ÁP’E´øP„唋èhØY¬M­µ8 !”…ãµùk½IaD㢯Ʀءña½BE)húQ •‰›vãÚ”õM%þRÿOþôrÍÓq[ïËëÒÔf %IÿÒ Èƒ£—¾×¢¬“‘¤cÓZ‚IÜAöƒãEf ý¦kƒ³ Äßp|fîò{èÕ©’GŽ8õEL€ƒ~½h¥Ä¬c}/±¦?¸š:*ªÆ}£Ku&†Þ6FI^[£ƒtSþÚ”8ÓG‘Ý[/x“ëüÔIfÉåÂFæZ€ÕdSÇ´1Hÿº ÉmÆõ`r¼aE1Å#‘Òßýê·gýÓ€¥‚ê@*Ù_FÇ+é ê(p*ÏŸ°L<Åx¥Ç‘GjAíFÞ#_’±(»/¥a‰ƒ4ޤ/éaSŠ^Ù'ujR#%àh¤‹ü©Á?mËîh›-,¶·þ5Z³Äd‘¹ ÔŽ´C‹Ž€Byj}*¬§ çÚ‚‘voвÅ^w2-ÁÚôcàÿÛ öšf¨ƒ¶Ãéê(¸/<Â'‘¶ L',"Lmï©§š…Râ°–ëýÅ>–¦¼¬)9X!±"„°Š×³qÐQ2.;ÄÉÜ íFO»çOIãÝ>3 ÔìmU˜Ø`°äo®Õd³dc­‘lzIÄS¨‹Ï$Rptee;ïNbHïq(â­ÔÖgN¦ûR¦¦«ŸÍ ‹Eí½E°Dn/äæ1—ÄÞçÚß [Ãx¼¬‘$‰eH˜ÙÛ­½+ “Àcâ"åy2Ï(¼ptQëKx¹eá6¾. ´=Æe†’ :šå³üT«å›•®·Ø-YG’¨¢7å¨=*Õñ—Êá4‘­ó ^—©MÎG ¬”gÇøè&à}à ;^´|6`+öøëÉN ¬Zp™°Q£i ¦âp³vúÅ·¤æGUåx¨Š‰Ð{Wãj„>PCeЖSÙèφÌ.fúu®p¹2rm«®S%¥%›yY%NƒÒ‡‡É2p…1‹áfÉ€e‚=/¹«3‰‰‡<ä?SŸð*tPrwW—CEq$PØ!áJãçM‡´CZW ÷GoŽGŽŽÇ_ü¦“C×Cžœ?¸Xí}i<\†Štt6j¸Îò?ºvíc¿STá¢Á–ÇáL2tPJ, ѵ½1œé“ЬrN7ÖÕÏaÌîK6ÓJ<ÐZ{!ÐSLß· ˜b,7/jš6˜DèEô7ÆóÅ^DµlÁ"瓤mS«‚¾lxÈU²­ 8 Í¢±½è99¹Ž1Äuc¹£bÁ‰Œ—åÒ© l,Ð(Oí@ímêXøó[˜S¥/#ˆBñ=iŒL¼ôbø„1ê­µ&% {•oÄÒÙRžâô£äy_ cã$IØ­Vg6E–Y=ŸÓD¦4¯rĪ|¿Âô”Sk±/ݧòŸJaÿÓWñT/t7/…Y¡ah£}vb4¡à0K‡´ìÇaM9£-Á_ÑjÉên´ÕyAPäØJÞ4¬òØ=Mm"C£èzÔs 5’&úºP/PÎb ÆS§B:ÔÛ IÝeK×­Rœ“#Ê×Mãk Få÷“PZ|´Ås•/jÏqbM%–¼…xÁŒXµg+þævµ´öB™ÄŽ—Œ‚ü¯J|…«¼nnH²ÉÄÅúU¨ùXx9{DÇ>äí?…Q`²Üˆ ¬ñÇ) ~dÚÞ”n (#ˆ ·vK2¦¦ófknѵíC›ÎgtÉe)ȯ©­£Bd¤ 2žI¤WF÷7¡xÒê½ÉVñƒbHÐUñò)yd!QÅô­bÈfØüCFÄßÖœŠ¨!æKp*a:­½hB6Œps½ö4Šó‡%Äwã}¯pòä–"™a^ûúÚƒV*’ñƒjzQqš0Bƒ©Þ£›Œã¹†ÌÝ ¾´8 †44·kKO‹fF“›v¤Yc'MAåOäþÒ˜, 4º–©ü¤³gÉxñ³Ê}£ˆ¸#úªÎ™qÐdêñ$ëMh‚6Ô$’¤½¾\£'Vê+ÀI8>8óëC¿ü5<ŒnÌÊÈ÷.µg²A˜Å…ºu¡¸Ê)RVN;'¿ Ý©”ÆýTÕ¯€g—QÛVÞJ %‡/%ôBQº‚) R[{i»J!R.<æ€cc©Ö§6'{i­(_J£Ëò‰œÖ’ÂÖ¦?Î¥\!°¨OʹL{ *6 ${nA‡œ“Å uC ¢AåÃÆ%W÷“ôš;y;Ü—"Œ“\h$09'“2~W?àãy¤Œžc•ÁùUúùæÄhJ¸øU^cüé»V «ÊÝj¼ÊØ›©i¢óËe;¹6¸^ª±áçE%M‹|©œ©5f?OAF9C{Ü.¿:_T7—ôšEy‹©Q;¤ª½½Ôx|l99ŽNÛ½ÙG¥.þÊÅ ”s;Üšx%ÎÀñòe_–½A®[$‘uæ×‰Öº"ÈÆ”œ˜Ê¿õUoÝXæ8c”›÷/Åj«2M¦2qðªÈä^ÚmëS‚0]ã¶âÿ* NË1;DIÙgf'V­rf6%ÅH<” j3Î%]4Vé@‡ÚÍÜÕOJż²„AaҢɢë’ÇXC`.zQPHA {—p*xÑ7Ñ?3GcùRLB:%ÖÆŽ˜Æ‚ý(s]$$‹‚/[„)†”Hâ,-ë[µ¾£¥b¢A7&†YQ&ãÒ“b ¬×,¿GSEBH¸6ô ¹R€Â²9Wˆ¾§Òñ:;ÈMë}¶V½ý£©©Èê\½nÖ§OJhP¨äl} M}¶&Àž´9ø•½J‚! bÆÄmL Ud¹¿+TLVÔ‹Y¯é: +Ç‹(Ì¥…@h Š5àI ôQükSaeÙ¶µ.@/$‹úŸJ˜’]ºÔB(…®W©¥Œ²)âC½8 ÂÛäiYѸŽÓI~Ù ·¾â„TñµÇSéF@îœë©Â®¾ÛéK³žäò£ [º V.d‹2±±§psø:FÀ››^“Y´üh ˆ n:/Sg0%6z.,ÊyÓM+·£PMT`7,ÔG`#“zé²0ñ–4°õ¬ÛFÊ¢2d…±N£¥C ZIE>ÛíO¶¢œÿÛåû»+ ᦓÇböâ~Sß—2u¿Ê’hÖQÌýÏYL 9JGÂaœŒÕcÿF2 ŸûŸ%òeL ›X·­ª^%š‘€õ.•i¾&r¹h[äå¨òq@ˆ"ÙxéDšV˜ÌU¯õµNd/˜·æ/ccQÉ¦ÐŠÓ ~ûŸ¶«¬ÄR陞6Ó¶i¤Ì[K Ñ-̰ް$’“^wí`|ßþõž ϯ²¸dcIIE‰Ð×ä$Že@mËB~uÊ}Ó‚±y–=X…§zº·£dY'”5â²C €íÓøë]‹Í)'´ñÐÞ¸3&J“¦¶"ºxÛ„…ÔèÃjOQN$¾b1‹$|±csmmT"(—(±´úØQU½ÜúºÐÙ äð¿¶Ô’Æ¥O€¹“,˜R,CÚ£Aêk™H{ÒûÀUSvø]>DwÇhWK‹W36<ñf\•…Uw87"Æ!…xÄš( 7“’M”ʼn¤˜Cú›øUö?Û‘,ƒ½%ÕG&·SéE”< -îVã¶A•J)%Ž‚º$ý˼Ùw½9…ŽÇÇ&8A•Ž„ôùRy™ Žï(ÝGJ–äµ+QO%4˜ØÌMƒtæZcÏ™;ï]–æDÿ»FpVÇãÔU™û[+Ò / úHÿm:ÆŒ›yBÞ+%{†&;›¯Î­Üº8uØšåâä“\2êƺ'lœd'붣Њ«(Ü”ä¾Äó¸¼&2­½éôŸâ´žvZ6KAdÙ[|j &Vç!PÜÛrFÊj«*‚EbK2ë©©®¥Ù2Éq„ò•æq~´®Xñö4¬Þ]JŽ+gz]s)»gRÔôpL†9Nã®)ïBŽã)Tmš—ŽÆÅ‹)—º£RSW9yÄ F8-RÞÅU5‘&ÇnìÞÝÅRy ä“ ©$ªý"¬¤9"2ç·ü·«i<~/“*ŒD/Ù×çB€³OL´RŒ‡¿*—r¬¦ñrcäZUme#j_ö'Ó¯ð«ÄÿÔ.ÉÚauûˆÇ‰ØéWóø’¤[7Z„^ËWzÎ eÓe”_î[Üw¢Á>^&„?aB>5GæÿºÈ„åtà¬V˜ûg74ÌìQ$^![N¡¯ÿ–†±2:¹´p§ÆÏ\I´{‚؃±®*V‚%ÀU]h~R#û¸2H÷%•¾#֡圴 Ö¢ÎM*¸¦7˜"Âö½ „ èKýCCü+‘ÄcͱÓK ig“exØŸPv£¡ öJ:¥‡…•¬u¤ß (g|ˆßŸ!ô‘µT/šÑ™Rk%òÈê¥ZÍÔS‡"ý•ž_-Rtàt|õ¤±¤i§ÞäèiçðÿæXK—ŠÖœ’ÄŠOÁÄÇ:ÍpÑ\2ŸQí§ˆy/M!åÙP¥é xd‡H&Ü|*Y9M*«0ÛJheÄ#±ÜT¦a} ñÂI™” ¿:bETò[n)³Ž‘ƒ±"ìT/Dx1t’À‹éH˜‚³u'µÐîkŸÌšxsß9)ËKþuÓA Ëš¹nµGçqÜù%a`Œã¶}j”OŒnOdƒ¨ÇXð<:¬V ¼¶ÖßÊ*ª…\¶Énþšõ4ÖT Å7EUc*$Ð9>îå…)Áa¦‹ #–&+ôü©¤•8Úüi<Œ•{˜õ‘65Ÿ¾EU÷Ö’Ê6”7£÷€=)(—´ó@¿¯Ü¥,‡f•Ƶé?>_H2¢[GaB q©Yæ¢xÉpº k@Çòx²!^èWPjæR™°§;qo¨×/åü~4y.‰`¬n­)¤]C”õlÌeaýà¶×CXÞP¡ä³¾ÚÕWì#ÐËM*QxÄNEÍÁÔ|*š^LÛlqüÓ-k·Â˜ûc+Ÿ‘‘œÜ•¿3ÿ¦¨çädÑÚoéGñ“¾&P«Òu•2 ÐÒ–v>LH#3%øsTç.v]‰B6««®F7jFä¼k’ÎLœiœ"µÞÃÒ¢ªp‹¼ìtž?Í&;•pE¶5už!I,5Ö¯=‹ËFYD¨G-ÉéZo*¿²N‡ð4Ý,*Ý­EÏÏYq–CÅË ô¯<óYrM8!eRBŽ‚¤žrIGiƒ[r:UfR3ÈY înUjÓ‘ÚÉŠiß>—­É/Ë•·B ºëRÄ8ƒükC3a^I)ìhHrWKo@í2ñ1Šnu~,,z›ç©øAdÞÄVï ÜÞÝ*)!N¶Ò‹vko¸©ˆ îÇêµéXY³ij´·ö¦R§!*¥ê© ö´‡Am©v,Ì ­ÖŠ$b¾ÝmQY$f…ª ”b0¿µm% JX656A¨ÓÖ…8d Ñ€OSC›!pJŽKD{¹_n䊊ÌíÅBjw5) «uQoZÈ[hÍÇQSˆ;kjVbG´wÜÖâ*…åùÓ‘I5Y“mM™èÔëL²3)õÞ—‘fX­$¦—ŠŽ(ß­a(óh=¶Ô ÈUІk\î*}–é¥úÒ`d¿¹#ßãC,LVO«­2a—õèrCÚ{ŸÔ(‚¤Y"t*}kMÎ@Ì _Mâ9¹è(EdV*MÞ‘2Á¬#ê:µC^aúŠqÌJ¶CzPîkAþã°$ T¤W‘QI·¨ ˜Ûµ¡ÜÑ„e@ Ö¾Ôœ-G0go)$³n:«UÒ}Ñ8 x%úš‘ ïQ!°OMa‰_“שÃ)6·_¹2Tÿa¬£{V¦óò9ç~LF´¡L}€o¯Æ•ÍH£nI±Ü !>CÉ>N{(X›Ws^e€jT ¡ñl8 -ÄÕþRr7ÛzM`È<\–d™¾ƒÔt«#b·÷FÇzŽÜ¡Œ4éSštfT{éPõEÁ5ÉVwµ¸^H†[ÝH¦cñX™>Ô“³ ·Ðü)\¯œ‘‘‹5Ϲ6+ùÕ`PþÀ0ùÈÁØß]~‡ÝXˆkjziVé¸ñ,|5mÏøÕGÜî‹Ú=£r:Ò®^É$Q "QÛ:ß­tøò“e{+§Î¹xîĸáWØlLˆ÷¢ªÉò3¯â=,r˜Á©©B&¸w=k\ùCËn„T"™¹öº oKbÐÞ^gí`G(efk_âMVýÀ,"xˆ³ b>'Z·Ú±ãf'B}+œóPHÖSîØü(NZ a}Cø\d×!ˆ$éùUœ¹Ÿˆ=),eX0#CkŸÆ ™<ç4[P«p]@¬c;Ô'Œ9`Ö¨ãL8^Ä1 Yµ%J.šXÕŒy«4-ÇG ­vQq@Ž`fR‡@hÁ¸ðsžscg¢ÄoéRñY;ñ*·åHÃ,˜Å>–QÅ®‹íï/Íãš1v6rÊoý>Æf®&RÞ+ÎOƒ*²׉ô4•^å;×g"O3WŸ€ €IÚ’“Ìg1àÑ€@ú½k¡ò9iûV,Uµ®}C~ ,v­*ÓF‰Àò™ê44§—$Žn8Ûb)ȑ٭Y“ŽJpãMÇ‚a²ûì¬Ö‘%$äQƒØŸæl?ä«¡yYM¬&»|ŽõÆ}¿ž|o•íƒg#ùOZí|„–…3ä®Hô5Ô}ÍúܯZà¯óŒÒ€mnØÒX܈æõm•xÂD:Zö®Zó )c\ñ4è¦dW”乇>lBáO4=ôqæ•BƒqÔƒ\³ù|é.BkíP>K9ß´È WC7:™<š4—W¸ÜŠF$r|Ž€ïPèçNÍSC¾>쨖ã{‹Òm‹i¢rõ¢ææP=ÆúªQ¹+~„Ufw%¶$Ò:¥„})iD¶VØïV9<ïÁG»¥V&KXÜj¾Ä]’ü—‘=jhýØlÖëQ›»Ä°ØT"i‘z`YÂŒð®–#­J;Øò‘Ö£‚Îðú0¦àVWäEÇ¥F姃H’+"àÑØ½í[)²ãÔ74²Æ"p@p(9ª4þµöØ‘¸¢©–À‚Fô x‚špÜuûSf9CsƒÒ£“ÆÌû_j4v1-ÛST™0 Ne9.¿:‡¼!çaqS±×½¨y@(Ô›Zúц ‘„b­Ö‰$¶nG^”¦.H2XûSmÚf76°H7ÐÛ¦Ô´ÒHªNž´C4A ÍÅíS‘!xÇ/o¦€,£ÚVÇÒ§)%¸±ùRÀe± µ9¤ê} I„ð©e÷)þlyGnÒ=Ûp)+JP–cc°4H]–ÚëN ÷¹2ŸoUô­IýØÀ$Ük[B®ØzМµŽšQ ——ƒ;[•ì(b7•ší{ ÔÛ¶¥IÚûTÕ’W²ûm½(`"×@OZRi֞ȇ­µª»ðsc¥êÀm¨±¹£Ç2I'^ lhKXu¢—!‡½ºÔ¹z€ó‹€[E^«§–A#*è:Q2³%tUmíJ<ÎäS¥5T9†C àçQ±¦¥ŠËî]-½V£n=§ãOÉ䲎FÔš*~ļp)?0,é]VB_0$kð®æW-{zWc‹ÓáFª9õMŠhDáÚHŸ‰Zôe9HË, ¿j»É¤Ø¹¤GxÎÿ $k:%ã*QÖŸ †)kVt1åő͎å&éo…gKÇ'–Ín¢¹9üÊJn"(zzÑSËÊ»Öô:0Ÿ ë†tRÚ2H'Uª¹„±¡ƒ¹¤×ÍÉ"Û Ãb) ó2òå1½¶Õ`nÓ€d–.@*ÛÅfŒþf«™¥³ ´D„´¼Rà Eª³9R% AÓE,&>$ëC(À‡Ø›6ªlh§ý©r 8º“¡ÜAPÂ:r–½fÜÖ¹)*±Ú|…(ƒCðªÅíy‚E ÆC®÷öÕò»‰]`ºòmG¥%Ÿˆ!ÍL‹Ü8³¼:б¨žBåX‹dµ3‡ÚG"Òµ ˜íûƒÒ’Äó v¦]Þ‹ `¶Èˆ D4&ýÔ^猰m.)1åYGô“Ö®bòmŠßÜ[ÄÉ-¶µ5Ðq8+¦Î´TŽ.4&¥‡$k_u« dÁËnÔ±+ Õt7øÔeÆ„"”¸âuÛð$µÉG÷ pbbÍì+Ÿ[w}Ö`Z¼û•y²Öj¨ÀÆiòWLí©ôMZ^ÆgoÉ/ˆK±g™‰åÅ%AöVG‚7…„j=ƒJt£³…ÃZ•䍨¡ñ1˜°Cõ¹$Öß!T¿Jk6Ǩׂ ‹• y#iÐÑmB¨°Ç˜ c #1b1b55", ", c #100f6e", "< c #17176f", "1 c #18186f", "2 c #1a1a6e", "3 c #131376", "4 c #1b2374", "5 c #202048", "6 c #3a3a40", "7 c #363653", "8 c #202061", "9 c #3c3c60", "0 c #433b0f", "q c #40351e", "w c #463b1a", "e c #6e3836", "r c #623a3b", "t c #4d4126", "y c #43413b", "u c #4b4435", "i c #5a4721", "p c #5e4a21", "a c #614a14", "s c #6c5310", "d c #7d5e1f", "f c #484641", "g c #4e504f", "h c #4d564d", "j c #4f5257", "k c #504040", "l c #55504a", "z c #55575a", "x c #56565d", "c c #404571", "v c #595966", "b c #665e51", "n c #754d45", "m c #646456", "M c #636359", "N c #69695d", "B c #71715b", "V c #636770", "C c #656870", "Z c #706f68", "A c #777775", "S c #7f7f7b", "D c #79797a", "F c #1e1e9d", "G c #25258f", "H c #2d2d97", "J c #2e2e97", "K c #2a309c", "L c #2929af", "P c #2e2eae", "I c #2c2cb2", "U c #2d2dbb", "Y c #3e3eff", "T c #545486", "R c #5d638a", "E c #6c6c96", "W c #757c89", "Q c #4545da", "! c #4141e5", "~ c #4242ea", "^ c #4242ec", "/ c #4848ea", "( c #4343ff", ") c #4141fe", "_ c #4747fb", "` c #4747fd", "' c #4444ff", "] c #4e4ef6", "[ c #4949ff", "{ c #4b4bff", "} c #4a4afd", "| c #4f4ff9", " . c #4f4ffa", ".. c #4f4fff", "X. c #4d4dfe", "o. c #5050fb", "O. c #5252fa", "+. c #5050fc", "@. c #5151ff", "#. c #5252ff", "$. c #5353fc", "%. c #5555fa", "&. c #5454ff", "*. c #5656ff", "=. c #5655fd", "-. c #5959fa", ";. c #5959ff", ":. c #5a5afe", ">. c #5c5cff", ",. c #5d5dfc", "<. c #6060ff", "1. c #6666f8", "2. c #6967ff", "3. c #6f6ff6", "4. c #80601d", "5. c #8d6814", "6. c #92703b", "7. c #a57e1b", "8. c #a07b29", "9. c #a65252", "0. c #b66859", "q. c #c66466", "w. c #c76c6c", "e. c #b88828", "r. c #80807e", "t. c #c19323", "y. c #cba42a", "u. c #e0ac30", "i. c #e6ad36", "p. c #f1b735", "a. c #c89d74", "s. c #ffc843", "d. c #ffc945", "f. c #ffd043", "g. c #ffd044", "h. c #ffd548", "j. c #ffdb6d", "k. c #ffe350", "l. c #828790", "z. c #929281", "x. c #9b9b8b", "c. c #9f9f8f", "v. c #9c9c8c", "b. c #9a9694", "n. c #989aa2", "m. c #999da9", "M. c #9ea3a5", "N. c #a6a696", "B. c #adad9f", "V. c #a1a2a6", "C. c #a5a7ae", "Z. c #a5a9aa", "A. c #adada7", "S. c #aaadad", "D. c #a7adb7", "F. c #a8aeba", "G. c #ababb4", "H. c #b8b8a8", "J. c #8585ee", "K. c #8b8be9", "L. c #8989ee", "P. c #b8b8db", "I. c #babade", "U. c #ff9ea2", "Y. c #c5c5bb", "T. c #c5c5bd", "R. c #ffd38f", "E. c #c3c6c6", "W. c #c2c3cd", "Q. c #cbcbc1", "!. c #cbcbc2", "~. c #ccccc4", "^. c #c8caca", "/. c #cdcdcd", "(. c Gray81", "). c #cececc", "_. c #c1c1dd", "`. c #c3c3dc", "'. c #cfcfd1", "]. c #cdced5", "[. c #d0d0ca", "{. c #d4d4c9", "}. c #d9d9ce", "|. c Gray82", " X c #d2d3d3", ".X c #d1d2d2", "XX c #d1d1d7", "oX c #d3d3d7", "OX c #d4d4d3", "+X c #d5d5d4", "@X c #d5d5d6", "#X c #d7d5d5", "$X c Gray84", "%X c #d6d6d5", "&X c #d7d7d9", "*X c #d6d7d9", "=X c #d1d4d9", "-X c #d7d8d8", ";X c #dbdbd5", ":X c #d8d8d6", ">X c #dfdfd3", ",X c #ddddd4", ".>.>.>.;.I L P $ S }.2X|.*X+X", "*X+X*X+X+X*X+X4XS.r 9.e K *.] | | | | | ;.;.-._ J X A.pX|.+X", "+X+X*X+X+X+X+X|.uXM.h R @. .@.@.@.@.@.@.@.@.@.*.*.@.8 B.eX|.", "+X*X+X+X*X*X+X*X X5XkX7X' >.@.@.@.@.@.@.@.@.@.@.@.@.O.> H.wX", "+X+X*X+X+X+X+X+X+X+X'.].,XP.@.@.@.@.@.@.@.@.@.@.@.| >.G A 4X", "*X*X+X+X+X+X+X*X+X+X,X8X_.*. .@.@.@.@.@.@.@.@.@.@.@.| ;.; !.", "+X+X+X*X*X*X+X+X,X>XJ.3.-.} @.@.@.@.@.@.@.@.@.@.@.@.O.*.- !.", "+X+X+X*X+X+X+XoX_.L.' } .@.@.@.@.@.@.@.@.@.@.@.@.@.@./ 7 [.", "*X*X+X+X+X*X1XoX( Y @.*.@.@.@.@.@.@.@.@.@.@.@.@.@.] <.2 N.pX", "+X+X*X+X+X+X+X+XP._.1. .@.@.@.@.@.@.@.@.@.@.@.| %.<.U v +X+X", "+X*X+X+X*X*X+X1XhXK.} O.@.@.@.@.@.@.@.@.O.O.| <.Q F x 0X1X+X", "+X+X*X+X+X*X*X{.T ( *.*.*.*.@.*.*.*.*.@.*.*.%.3 9 B 4X*X+X+X", "*X+X*X+X+X*X*X/.G.E . o J _ ! ~ ~ ~ ^ ! : - 5 z.Y.lX|.+X+X*X", "+X*X+X+X+X+X+X*XuX{.Y.}.r.# = * * * & 6 Y.!.!.pX2X'.+X+X+X+X", "+X+X+X*X*X+X+X+X|.*X2X1X4XuXtXuXtXtXtXtX1X2X2X X+X+X*X+X*X+X", "*X+X*X+X+X*X+X*X+X+X+X+X+X X X X|.|. X X+X+X+X+X+X+X+X*X+X+X", "*X+X+X+X+X+X+X*X+X+X*X+X+X*X*X+X+X+X+X*X+X*X*X+X+X+X+X*X+X*X" }; gpaint-2-0.3.3/pixmaps/fboxOp.xpm0000664000076400007640000000352507172011161013536 00000000000000/* XPM */ const char * fboxOp_xpm[] = { "40 40 3 1", " c #D6D6D6D6D6D6", ". c #000000000000", "X c #FBFB14144141", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ....................... ", " ....................... ", " ..XXXXXXXXXXXXXXXXXXX.. ", " ..XXXXXXXXXXXXXXXXXXX.. ", " ..XXXXXXXXXXXXXXXXXXX.. ", " ..XXXXXXXXXXXXXXXXXXX.. ", " ..XXXXXXXXXXXXXXXXXXX.. ", " ..XXXXXXXXXXXXXXXXXXX.. ", " ..XXXXXXXXXXXXXXXXXXX.. ", " ..XXXXXXXXXXXXXXXXXXX.. ", " ..XXXXXXXXXXXXXXXXXXX.. ", " ..XXXXXXXXXXXXXXXXXXX.. ", " ..XXXXXXXXXXXXXXXXXXX.. ", " ..XXXXXXXXXXXXXXXXXXX.. ", " ..XXXXXXXXXXXXXXXXXXX.. ", " ..XXXXXXXXXXXXXXXXXXX.. ", " ....................... ", " ....................... ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}; gpaint-2-0.3.3/pixmaps/ffillOp.xpm0000664000076400007640000000702107172011161013667 00000000000000/* XPM */ const char * ffillOp_xpm[] = { "40 40 85 1", " c #C0C0C0C0C0C0", ". c #000000000000", "X c #FFFFFFFFFFFF", "o c #FFFF65650000", "O c #FFFF18180000", "+ c #00000000FFFF", "@ c #0C0CFFFF0000", "# c #FFFF0000FFFF", "$ c #2424FFFF0000", "% c #8282FFFF0000", "& c #DBDBFFFF0000", "* c #FFFFFFFF0000", "= c #FFFFBEBE0000", "- c #FFFF8E8E0000", "; c #4141FFFF0000", ": c #F3F3FFFF0000", "> c #FFFF7D7D0000", ", c #9A9AFFFF0000", "< c #0000FFFF0C0C", "1 c #6565FFFF0000", "2 c #A6A6FFFF0000", "3 c #E7E7FFFF0000", "4 c #FFFFF3F30000", "5 c #FFFFB2B20000", "6 c #FFFF71710000", "7 c #4D4DFFFF0000", "8 c #0000FFFF0000", "9 c #1818FFFF0000", "0 c #3030FFFF0000", "q c #8E8EFFFF0000", "w c #B2B2FFFF0000", "e c #FFFFCFCF0000", "r c #FFFFA6A60000", "t c #7171FFFF0000", "y c #FFFFE7E70000", "u c #C3C3FFFF0000", "i c #FFFFDBDB0000", "p c #FFFF59590000", "a c #CFCFFFFF0000", "s c #FFFF9A9A0000", "d c #FFFF4D4D0000", "f c #FFFF3C3C0000", "g c #5959FFFF0000", "h c #8E8E0000FFFF", "j c #7D7D0000FFFF", "k c #59590000FFFF", "l c #24240000FFFF", "z c #0C0C0000FFFF", "x c #0000FFFFDBDB", "c c #0000FFFF9A9A", "v c #0000FFFF7171", "b c #0000FFFF3030", "n c #FFFF0000E7E7", "m c #F3F30000FFFF", "M c #CFCF0000FFFF", "N c #9A9A0000FFFF", "B c #71710000FFFF", "V c #65650000FFFF", "C c #3C3C0000FFFF", "Z c #18180000FFFF", "A c #0000FFFFE7E7", "S c #0000FFFFB2B2", "D c #0000FFFF7D7D", "F c #0000FFFF5959", "G c #0000FFFF3C3C", "H c #FFFF0000DBDB", "J c #E7E70000FFFF", "K c #A6A60000FFFF", "L c #4D4D0000FFFF", "P c #0000FFFFF3F3", "I c #0000FFFFCFCF", "U c #0000FFFF6565", "Y c #0000FFFF4D4D", "T c #0000FFFF2424", "R c #FFFF0000F3F3", "E c #BEBE0000FFFF", "W c #0000FFFFBEBE", "Q c #DBDB0000FFFF", "! c #B2B20000FFFF", "~ c #0000FFFFA6A6", "^ c #0000FFFF1818", "/ c #0000FFFF8E8E", "( c #FFFF0000CFCF", ") c #30300000FFFF", "_ c #FFFF30300000", " ", " ", " ", " ", " ", " ", " ", " .. ", " .X.. ", " .XXXX.. ", " .XXXXXX.. ", " ..XXXXXXXX.. ", " .XXXXXXXXXXX.. ", " .XXXXXXXXXXXXX.. ", " .oO+@#$%&*=-#. ; ", " .:>*,;<123456. 7 ", " .88@@90qw:ero. 70 ", " .$;1t%q,3y=r>. ;$ ", " .qu&:*:3ir>66. ,, ", " .%u&33:::=-6p. aa ", " ..a:*yii4=s66. *3: ", " ...-sr5e>op. 3: ", " ..6>--odd. 3 ", " ...6df. & 5 ", " ..... ,a 4 ", " .. qu * ", " 9 %w& : ", " @9$ gt2u i5 ", " %,2 a ", " 0 tqw2,Xu = ", " h jklz xcv b 907g%%q,,u&3*y ", "nmMNBBVVkVCZ+AxSDFG<@0;0;1q,2wwu33*y=r--", "HJKjkLLCCClZzPAISUYT9;$;;g%,22w2ua&4i=s>", "RJENBLlzPPAxWWWcDYbb<8;;;7t%,2u&::4=5-66", "RQ!hjLl+AxWISSS~~vUYb^9071%,wwu3*4e5s>o6", "nQKhjLCxW~~~//~SWDvvYb^@0tquuwua4ies>o6>", "HJKhVCzAIS~c/Dv/~cc~Ub@9;1,2ua3*i5s--66p", "(m!NV)+xIWS/UFUv/cSWDb$07g%wu&4i=5-->dpd", "HJ!jklPI~~/vUUvD~SSSDY<$;g%wa&ye-6opopoo", "RQKBLlP~ccUFDvv/WSSW/FT<@;1w&:erpddf_opo"}; gpaint-2-0.3.3/pixmaps/ffreehandOp.xpm0000664000076400007640000000353207172011161014520 00000000000000/* XPM */ const char * ffreehandOp_xpm[] = { "40 40 3 1", " c #EAEAEAEAEAEA", ". c #000000000000", "X c #FBFB14144141", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ... ", " .XXX. ", " .XXXXX. ", " .XXXXXXX. ", " ... .XXXXXXX. ", " .XXX. .XXXXXXXX. ", " .XXXXX....XXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXX. ", " .XXXXXXXXXXXX.. ", " ..XXXXXXXX.. ", " ........ ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}; gpaint-2-0.3.3/pixmaps/filled.xpm0000664000076400007640000000074007203720120013531 00000000000000/* XPM */ const char * filled_xpm[] = { "20 16 2 1", " c #FFFFFFFFFFFF", ". c #000000000000", " ", " ", " .............. ", " .. . . . . . . ", " . . . . . . .. ", " .. . . . . . . ", " . . . . . . .. ", " .. . . . . . . ", " . . . . . . .. ", " .. . . . . . . ", " . . . . . . .. ", " .. . . . . . . ", " .............. ", " ", " ", " "}; gpaint-2-0.3.3/pixmaps/fillOp.xpm0000664000076400007640000001213507427457132013542 00000000000000/* XPM */ const char *fillOp_xpm[] = { /* columns rows colors chars-per-pixel */ "30 30 200 2", " c Gray0", ". c #02021a", "X c #0b0b1f", "o c #1f1f1e", "O c #040431", "+ c #252529", "@ c #2a2a2b", "# c #2f2f2e", "$ c #363623", "% c #383836", "& c Gray23", "* c #39393d", "= c #38383f", "- c #1c1c40", "; c #191962", ": c #1d1d62", "> c #18186b", ", c #1d1d6e", "< c #38384d", "1 c #2e2e76", "2 c Gray25", "3 c #4b4b42", "4 c #484848", "5 c Gray30", "6 c #4f4f4d", "7 c #4e4e52", "8 c #4d4d59", "9 c #545442", "0 c #565653", "q c #555555", "w c #5d5d5e", "e c #525266", "r c #787879", "t c #7c7c7a", "y c #232381", "u c #24248d", "i c #2d2d8f", "p c #2d2d91", "a c #363699", "s c #2828b7", "d c #3535c4", "f c #3737cb", "g c #3b3bff", "h c #4848d1", "j c #4646e8", "k c #4848eb", "l c #4141ff", "z c #4747ff", "x c #4d4df6", "c c #4848ff", "v c #4a4aff", "b c #4e4ef9", "n c #4d4dff", "m c #4f4ffc", "M c #4f4fff", "N c #5454f7", "B c #5252f8", "V c #5050fd", "C c #5151ff", "Z c #5353fe", "A c #5454fd", "S c #5555ff", "D c #5656fe", "F c #5959fd", "G c #5858ff", "H c #5b5bff", "J c #5e5ef9", "K c #5d5dff", "L c #5f5fff", "P c #6363f7", "I c #6060fb", "U c #6565f9", "Y c #6767f8", "T c #6b6bf7", "R c #6f6ff6", "E c #7575ee", "W c #7373f7", "Q c #7474f5", "! c #7878f3", "~ c #878777", "^ c #868674", "/ c #838383", "( c #848484", ") c #939387", "_ c #909090", "` c Gray61", "' c #a0a098", "] c #a7a799", "[ c #a4a49d", "{ c #a6a69f", "} c #a1a1a2", "| c Gray64", " . c #a6a6a7", ".. c #a4a4a4", "X. c Gray67", "o. c #aeaeaf", "O. c #b4b4b1", "+. c #8282ef", "@. c #8787eb", "#. c #8585ef", "$. c #8787ee", "%. c #8989ee", "&. c #8888ec", "*. c #8f8fec", "=. c #9191eb", "-. c #9797ea", ";. c #9898e6", ":. c #9d9de6", ">. c #9e9ee7", ",. c #9898e9", "<. c #9d9de8", "1. c #b6b6df", "2. c #b9b9df", "3. c #bcbcdf", "4. c #bebedd", "5. c #a1a1e7", "6. c #a5a5e5", "7. c #acace1", "8. c #aeaee2", "9. c #a5a5ff", "0. c #b3b3e1", "q. c #b5b5e0", "w. c #b7b7e0", "e. c #c4c4c0", "r. c Gray78", "t. c Gray77", "y. c #cbcbc9", "u. c #cbcbcb", "i. c Gray81", "p. c #c1c1dd", "a. c #c3c3dd", "s. c #c4c4db", "d. c #c6c6db", "f. c #c4c4dc", "g. c #cacad0", "h. c #ccccd3", "j. c #cdcdd5", "k. c #ceced4", "l. c #ccccd9", "z. c #d1d1d0", "x. c #d3d3d1", "c. c #d3d3d3", "v. c #d1d1d7", "b. c #d2d2d7", "n. c #d5d5d3", "m. c #d5d5d5", "M. c #d4d4d6", "N. c Gray84", "B. c #d3d3d8", "V. c #d7d7d9", "C. c #d8d8d1", "Z. c #dbdbd2", "A. c #d9d9d5", "S. c #d8d8d7", "D. c #dadad5", "F. c #dadad7", "G. c #dfdfd3", "H. c #ddddd4", "J. c #deded4", "K. c Gray85", "L. c #dadad9", "P. c Gray86", "I. c #dbdbdc", "U. c #dadadf", "Y. c #dcdcda", "T. c #dddddd", "R. c #dededd", "E. c Gray87", "W. c #dbdbe1", "Q. c #dddde0", "!. c #ededcf", "~. c #e1e1d3", "^. c #e2e2d2", "/. c #e0e0d4", "(. c #e6e6d1", "). c #e7e7d8", "_. c #ebebd0", "`. c #e8e8d0", "'. c #ececd0", "]. c #eeeedb", "[. c #e1e1e1", "{. c #e2e2e2", "}. c #e3e3e5", "|. c #e3e3e7", " X c #e4e4e4", ".X c #e7e7e7", "XX c #e6e6ee", "oX c #e1e1ed", "OX c #e9e9e9", "+X c Gray92", "@X c #e8e8ed", "#X c #eaeaed", "$X c #eaeaee", "%X c Gray93", "&X c #efefef", "*X c #f0f0ee", "=X c #f4f4e8", "-X c #f3f3f3", ";X c #f2f2f4", ":X c Gray97", /* pixels */ "N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.", "N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.", "N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.", "N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.", "N.N.N.N.N.N.N.N.N.N.{.{.i.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.", "N.N.N.N.N.N.N.N.N.K.X...:XK.z.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.", "N.N.N.N.N.N.N.N.z.%X& 5 q t.OXK.N.z.N.N.N.N.N.N.N.N.N.N.N.N.", "N.N.N.N.N.N.N.z.OX/ ( E._ 4 q u.E..Xi.N.N.N.N.N.N.N.N.N.N.N.", "N.N.N.N.N.N.N.z.K.2 ` .X.Xz.} @ r X.-XN.N.N.N.N.N.N.N.N.N.N.", "N.N.N.N.N.N.z..X .o u.K.z.K.Y.*Xt 0 w t.E.N.N.N.N.N.N.N.N.N.", "N.N.N.N.N.N.K.N.7 h.W.k.v.v.v.g.XXoX# + B.N.N.N.N.N.N.N.N.N.", "N.N.N.N.N.N.I.[ - L B D D D D D C a ) v.E H.N.N.N.N.N.N.N.N.", "N.N.N.N.N.z.%X% u D C C C C C C j * =X,.R ^.N.N.N.N.N.N.N.N.", "N.N.N.N.z.$X^ i G C C C C C m G : } ).P U H.v.N.N.N.N.N.N.N.", "N.N.N.N.N.F.e f D C C C C C C k < Z.K.N.c <.(.v.N.N.N.N.N.N.", "N.N.N.z.}.' O N G B C C C b L , ] }.n.v.c T l.F.N.N.N.N.N.N.", "N.N.N.N.N.I.5 . ; C L D x D d 8 K.N.N.F.5.g 1.H.F.F.N.N.N.N.", "N.N.N.N.N.K.Q.e.$ 1 s h L L p ^ $Xz.N.^.2.$.^.H.s.s.F.N.N.N.", "N.N.N.N.N.N.N.V.;X[ 9 X y > * %Xi.N.N.F.! *._.s.$.f.F.N.N.N.", "N.N.N.N.N.N.N.N.z.{.XXO.3 o.V.G.G.N.F.l *.!.:.@._.H.H.N.N.", "N.N.N.N.N.N.N.N.N.z.z..XI.k.].&.+.3.H.8.D c a.s.,.^.6.3.F.N.", "v.N.N.N.N.N.N.N.N.N.N.n.F.V.Z.0.&.:.^.5.C c q.8.(.v.&.0.F.v.", "H.H.H.H.H.N./.N.v.v.F.v.v.F.v._.<.v.F.=.m m W 9.;.^.a.8.(.H.", "q.q.q.2.8.R f.T C C <.I m -.Q a.J m G c C C m G m C U q.q.q.", "c z z z c m z m C C c m C c m z C C C C C C C m C C m c c z ", "C D C C C C C C C C C C C C C C C C C C C C C C C C C C C C ", "C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C ", "C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C ", "C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C ", "C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C " }; gpaint-2-0.3.3/pixmaps/fovalOp.xpm0000664000076400007640000000352607172011161013710 00000000000000/* XPM */ const char * fovalOp_xpm[] = { "40 40 3 1", " c #D6D6D6D6D6D6", ". c #000000000000", "X c #FBFB14144141", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ....... ", " ...XXXXXXX... ", " ..XXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXX. ", " ..XXXXXXXXXXXXX.. ", " ...XXXXXXX... ", " ....... ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}; gpaint-2-0.3.3/pixmaps/fpolyOp.xpm0000664000076400007640000000352607172011161013732 00000000000000/* XPM */ const char * fpolyOp_xpm[] = { "40 40 3 1", " c #D6D6D6D6D6D6", ". c #000000000000", "X c #FBFB14144141", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " . ", " ... ", " . .XX. ", " ... ..XXXX. ", " .XXX.. .XXXXXX. ", " .XXXXX.. ..XXXXXXX. ", " .XXXXXXX.XXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXXX. ", " .......XXXXXXXXXXXXXXXXXX. ", " ............XXXXXX. ", " ....... ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}; gpaint-2-0.3.3/pixmaps/freehandOp.xpm0000664000076400007640000000461207427457132014371 00000000000000/* XPM */ const char *freehandOp_xpm[] = { /* columns rows colors chars-per-pixel */ "30 30 90 1", " c #2a2a2a", ". c Gray18", "X c Gray19", "o c Gray20", "O c #343434", "+ c #393939", "@ c #3a3a3a", "# c Gray23", "$ c #3c3c3c", "% c Gray24", "& c Gray25", "* c Gray26", "= c Gray27", "- c #464646", "; c Gray29", ": c Gray30", "> c #4e4e4e", ", c #505050", "< c #515151", "1 c Gray32", "2 c Gray35", "3 c #5a5a5a", "4 c #5b5b5b", "5 c #5f5f5f", "6 c #606060", "7 c Gray38", "8 c Gray39", "9 c Gray46", "0 c #767676", "q c #777777", "w c #7c7c7c", "e c Gray49", "r c Gray", "t c #808080", "y c #818181", "u c #868686", "i c #909090", "p c Gray57", "a c #a0a0a0", "s c Gray63", "d c #a2a2a2", "f c Gray64", "g c #a4a4a4", "h c #a9a9a9", "j c Gray67", "k c Gray68", "l c Gray73", "z c #bbbbbb", "x c Gray75", "c c #c0c0c0", "v c #c1c1c1", "b c Gray76", "n c #c3c3c3", "m c Gray77", "M c Gray79", "N c #cbcbcb", "B c Gray80", "V c #cdcdcd", "C c #cecece", "Z c Gray81", "A c #d0d0d0", "S c Gray82", "D c #d2d2d2", "F c #d3d3d3", "G c Gray83", "H c #d5d5d5", "J c Gray84", "K c #d7d7d7", "L c #d8d8d8", "P c Gray85", "I c #dadada", "U c Gray86", "Y c #dddddd", "T c Gray87", "R c #dfdfdf", "E c Gray88", "W c #e1e1e1", "Q c #e2e2e2", "! c Gray89", "~ c #e4e4e4", "^ c #e6e6e6", "/ c #e7e7e7", "( c Gray91", ") c #e9e9e9", "_ c Gray92", "` c Gray93", "' c #eeeeee", "] c #efefef", "[ c #f8f8f8", "{ c #f9f9f9", /* pixels */ "JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ", "JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ", "JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ", "JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ", "JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ", "JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ", "JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ", "JJJJJJJJJJJJJJJJJJSW_USJJJJJJJ", "JJJJJJJJJJJJJJJJJS/jybWSJJJJJJ", "JJJJJJJJJJJSJJJJS/a:7 c #4848ff", ", c #4949ff", "< c #4a4aff", "1 c #4b4bff", "2 c #4c4cff", "3 c #4d4dff", "4 c #4e4eff", "5 c #4f4fff", "6 c #5050ff", "7 c #5151ff", "8 c #5252ff", "9 c #5353ff", "0 c #5454ff", "q c #5555ff", "w c #5656ff", "e c #5757ff", "r c #5858ff", "t c #5959ff", "y c #5a5aff", "u c #5c5cff", "i c #5d5dff", "p c #6060ff", "a c #6262ff", "s c #6363ff", "d c #6464ff", "f c #6565ff", "g c #6666ff", "h c #6969ff", "j c #6a6aff", "k c #6c6cff", "l c #6d6dff", "z c #6e6eff", "x c #7272ff", "c c #7474ff", "v c #7777ff", "b c #7878ff", "n c #7c7cff", "m c #7d7dff", "M c #7f7fff", "N c #8080ff", "B c #8181ff", "V c #8282ff", "C c #8383ff", "Z c #8484ff", "A c #8585ff", "S c #8686ff", "D c #8888ff", "F c #8989ff", "G c #8a8aff", "H c #8c8cff", "J c #8d8dff", "K c #8f8fff", "L c #9090ff", "P c #9191ff", "I c #9292ff", "U c #9393ff", "Y c #9494ff", "T c #9595ff", "R c #9696ff", "E c #9797ff", "W c #9898ff", "Q c #9999ff", "! c #9a9aff", "~ c #9b9bff", "^ c #9e9eff", "/ c #9f9fff", "( c #a5a5ff", ") c #aaaaff", "_ c #acacff", "` c #adadff", "' c #b0b0ff", "] c #b2b2ff", "[ c #b4b4ff", "{ c #b5b5ff", "} c #b6b6ff", "| c #b8b8ff", " . c #babaff", ".. c #bbbbff", "X. c #bcbcff", "o. c #bebeff", "O. c #bfbfff", "+. c #c4c4ff", "@. c #c5c5ff", "#. c #c6c6ff", "$. c #cdcdff", "%. c #d2d2ff", "&. c #d3d3ff", "*. c #d6d6ff", "=. c #d9d9ff", "-. c #dadaff", ";. c #ddddff", ":. c #e0e0ff", ">. c #e2e2ff", ",. c #eaeaff", "<. c #ececff", "1. c #ededff", "2. c #fafaff", "3. c #fcfcff", "4. c Gray100", /* pixels */ "7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 ", "7 7 7 7 7 7 7 0 0 7 7 7 7 7 7 7 7 7 7 7 0 7 0 0 7 7 7 7 7 7 ", "7 7 7 7 7 7 : X : 0 7 7 7 7 7 7 7 7 7 7 : : X $ 7 7 7 7 7 7 ", "7 7 7 7 0 : C @.W $ 0 7 7 7 7 7 7 7 3 0 L M @.W 1 7 7 7 7 7 ", "7 7 7 0 1 0 z F ( T $ 1 0 7 7 7 0 7 7 .C f L M 3 u 1 0 7 7 ", "7 7 0 $ C } $ $ 3 y 0 c X 3 0 1 $ $ W Z @ 3 $ 1 1 } C $ 0 7 ", "7 7 : C .1 7 0 7 3 0 ' o.z @ M o.7 1 1 7 7 7 7 3 1 .Z : 7 ", "7 7 1 c 0 3 7 7 7 7 3 7 T 0 x .M 0 7 7 7 7 7 7 7 3 7 z 1 7 ", "0 : J ` @ 0 7 7 7 7 7 7 $ 3 y 7 $ 7 7 7 7 7 7 7 7 3 u s 3 7 ", "7 1 z Z 1 7 7 7 7 7 7 7 7 7 3 7 0 7 7 7 7 7 7 7 0 $ F } @ 0 ", "7 7 3 1 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 : F ' @ 0 ", "0 : F ' @ 0 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 : 0 7 7 ", "0 : J } @ 0 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 3 7 W 1 7 7 ", "7 3 y s 3 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 .Z 1 7 7 ", "7 3 s s : 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 : W Z @ 7 7 7 ", "7 1 h o.s 3 7 7 7 7 7 7 3 7 7 7 0 7 7 7 7 7 7 3 : 3 7 7 7 7 ", "7 0 ) J $ 7 7 7 7 3 1 f 0 3 $ $ 7 1 $ : 0 $ F W : 0 7 7 7 ", "7 7 7 0 : 7 7 7 7 7 3 T :.h 0 L F 3 z L M : b ` 0 7 7 7 7 7 ", "7 7 0 1 W 3 7 3 1 1 u T @ 1 h o.' 3 C @.^ @ -.L @ 0 7 7 7 7 ", "7 7 7 1 F o.1 0 F W $ : 0 7 3 @ $ 7 1 X : : &.4.L $ 0 7 7 7 ", "7 7 7 3 0 .@ .o.3 7 0 7 7 7 0 0 7 7 0 0 : *.4.4.L $ 0 7 7 ", "7 7 7 7 7 : 7 1 : 7 7 7 7 7 7 7 7 7 7 7 0 : *.4.4.4.L @ 7 7 ", "7 7 7 7 7 7 7 0 7 7 7 7 7 7 7 7 7 7 7 7 0 : *.4.2.2.4.^ 1 7 ", "7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 $ *.4.4.4.-.:.z 1 ", "7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 $ ;.<.$.4.@ $ 3 7 ", "7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 : &.c 1 <.o.$ 0 7 ", "7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 3 $ .,.y 7 7 ", "7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 1 4.) $ 0 ", "7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 M f 3 7 ", "7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 : 3 7 7 " }; gpaint-2-0.3.3/pixmaps/lineOp.xpm0000664000076400007640000001210507431641702013531 00000000000000/* XPM */ const char * lineOp_xpm[] = { "30 30 201 2", " c None", ". c #DBDBDB", "+ c #D6D6D6", "@ c #303030", "# c #8D8D8D", "$ c #D1D1D1", "% c #B5B8B9", "& c #BDBDBD", "* c #525252", "= c #969695", "- c #3B2424", "; c #2E1515", "> c #7D7B7B", ", c #BABABA", "' c #C9C9C9", ") c #AAAAAA", "! c #464646", "~ c #5A5959", "{ c #3A3838", "] c #D67373", "^ c #FF9696", "/ c #412626", "( c #B5B5B5", "_ c #C4C5C4", ": c #6B6A6B", "< c #555555", "[ c #757676", "} c #000000", "| c #E17E7E", "1 c #834242", "2 c #D0D1D1", "3 c #232323", "4 c #737373", "5 c #7C8282", "6 c #6C5050", "7 c #613939", "8 c #949D9C", "9 c #6F6F6F", "0 c #414141", "a c #919191", "b c #1C1C1E", "c c #CED0D2", "d c #898989", "e c #4D4D4E", "f c #5E5237", "g c #674C15", "h c #17181B", "i c #403E3B", "j c #C2C2C2", "k c #494A4A", "l c #373737", "m c #909195", "n c #624A14", "o c #FFCF45", "p c #A97C20", "q c #4D4C4B", "r c #3D3B35", "s c #E2AD31", "t c #FFD245", "u c #463A19", "v c #CDC7C8", "w c #BCBABA", "x c #B7B7B7", "y c #D4D5D5", "z c #D6D4D3", "A c #696F7B", "B c #86641F", "C c #FFD448", "D c #8E6A16", "E c #69837D", "F c #B7BAB9", "G c #D1CCCD", "H c #B3B3B3", "I c #868686", "J c #504C44", "K c #C49324", "L c #FFC843", "M c #5C4920", "N c #9499A4", "O c #790009", "P c #4F3C3E", "Q c #627B76", "R c #3D3D3D", "S c #D5D4D3", "T c #878B97", "U c #6E5512", "V c #FFE24F", "W c #A9811E", "X c #575B64", "Y c #DADAD7", "Z c #FF2557", "` c #CF0729", " . c #8D0D24", ".. c #182A27", "+. c #767373", "@. c #898485", "#. c #262524", "$. c #8E9096", "%. c #4D4637", "&. c #E5AB35", "*. c #F3B936", "=. c #4B3E23", "-. c #E8657F", ";. c #FF0037", ">. c #87000C", ",. c #5A726E", "'. c #A7B6B3", "). c #25262A", "!. c #563F09", "~. c #B58726", "{. c #494B4E", "]. c #D77688", "^. c #FD3C65", "/. c #980013", "(. c #4F0D16", "_. c #859996", ":. c #D2D5D4", "<. c #F63761", "[. c #FE0635", "}. c #640E19", "|. c #7B9692", "1. c #C2C6C5", "2. c #726E6F", "3. c #282929", "4. c #CFCDCB", "5. c #656B76", "6. c #84621D", "7. c #9B7623", "8. c #EA4767", "9. c #FF1F48", "0. c #6F091B", "a. c #160000", "b. c #5E615E", "c. c #BBBBBC", "d. c #4E4942", "e. c #C59425", "f. c #FFC742", "g. c #5C481F", "h. c #8B909B", "i. c #92918E", "j. c #CAD5D3", "k. c #CAA4AB", "l. c #FF1848", "m. c #E70432", "n. c #522C33", "o. c #AABCB9", "p. c #CCC9CA", "q. c #CAC9C6", "r. c #828793", "s. c #545761", "t. c #D4D3D0", "u. c #C5A1A8", "v. c #FC1F4C", "w. c #E40B32", "x. c #441B20", "y. c #464D4D", "z. c #A3A4A4", "A. c #B6B9BE", "B. c #443E31", "C. c #E6AD38", "D. c #DD8394", "E. c #B90022", "F. c #373132", "G. c #787979", "H. c #97999E", "I. c #5F460C", "J. c #FFCF40", "K. c #B88929", "L. c #D68091", "M. c #FF073C", "N. c #C00327", "O. c #080000", "P. c #6C7D7A", "Q. c #33302B", "R. c #E3B35B", "S. c #FFD155", "T. c #453713", "U. c #B1B3BB", "V. c #BDBCBB", "W. c #C6A6AB", "X. c #E85C7A", "Y. c #E10330", "Z. c #7D0014", "`. c #6B7D7A", " + c #403E3D", ".+ c #D7AB7E", "++ c #84673D", "@+ c #6F6E67", "#+ c #EA5875", "$+ c #FF053B", "%+ c #970E29", "&+ c #0A0806", "*+ c #D4D6D8", "=+ c #E05671", "-+ c #A00C28", ";+ c #9C9B9B", ">+ c #636363", ",+ c #E34A68", "'+ c #EE758D", ")+ c #ABACAD", "!+ c #D4D4D4", ". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", "@ # + + + + + + + + + + + + + + + + + + + + + + + + $ % + + ", "& * @ + . + + + + + + + + + + + + + + + + + + + + = - ; > + ", ", ' ) ! ~ + + + + + + + + + + + + + + + + + + + + { ] ^ / % ", ", ( _ ) : < + + + + + + + + + + + + + + + + + + [ } | 1 : + ", ", , ( & 2 # 3 4 . + + + + + + + + + + + + + + + ~ 5 6 7 8 + ", ", , , , , & 2 9 0 a + + + + + + + + + + + + + = b c a ~ . + ", ", , , , , , ( _ d e d + + + + + + + + + + + + f g h i + + + ", ", , , , , , , ( ' j k l + . + + + + + + + + m n o p q + + + ", ", , , , , , , , , , ' ) ! ~ + + + + + + + + r s t u + + + + ", "v w ( , ( ( x , , , ( _ ) : * + y + + + z A B C D 9 + + + + ", "E F G H ' 2 _ , , , , ( & 2 I e # + + + + J K L M N + + + + ", "O P Q . : R I _ , , , , , ( ' # R 4 + S T U V W X Y + + + + ", "Z ` ...+.@.= j , , , , , , ( j 2 9 #.$.%.&.*.=.% + + + + + ", "+ -.;.>.,.'.G ( , , ( , , , , , , & H ).!.t ~.{.+ + + + + + ", "+ + ].^./.(._.v , j _ , , , , , , ( 2 r s t u + + + + + + + ", "+ + :.+ <.[.}.|.1.2.3., , , , , ( 4.5.6.t 7.} q + + + + + + ", "+ + + + + 8.9.0.a.b.& H , , , , , c.d.e.f.g.h.i.e # + + + + ", "+ + + + + j.k.l.m.n.o.p., , & , q.r.U V W s.t._ # R 4 + + + ", "+ + + + + + + u.v.w.x.y.1._ z.H A.B.C.*.=.) & ( j 2 9 3 = + ", "+ + + + + + + + + D.[.E.e 8 F.G.H.I.J.K.{.' ( , ( , & H k a ", "+ + + + + + + + + + L.M.N.O.P.. Q.R.S.T.U.V., , , , , & j < ", "+ + + + + + + + + + + W.X.Y.Z.`. +.+++@+c., , , , , , , & ( ", "+ + + + + + + + + + + + + #+$+%+} &+G.*+' , , , , , , , , & ", "+ + + + + + + + + + + + + + =+$+-+{.;+4 >+j , , , , , , , , ", "+ + + + + + + + + + + + + + :.,+'++ e * d _ ( , ( , , , , , ", "+ + + + + + + + + + + + + + + + + + + ~ 0 )+j , 2 & , , , , ", "+ + + + + + + + + + + + + + + + + + + !++ R H ( R z.j , , , ", "+ + + + + + + + + + + + + + + + + + + + + + l l > H & , , , ", "+ + + + + + + + + + + + + + + + + + + + + + + a >+, , , , , "}; gpaint-2-0.3.3/pixmaps/makepixmaps.pl0000775000076400007640000000113507172011161014425 00000000000000#!/usr/local/bin/perl -w my @files = glob("*.xpm"); open(F, "> ../src/pixmaps.c"); open(F2, "> ../src/pixmaps.h"); print F2 qq/ #ifndef __PIXMAPS_H__ #define __PIXMAPS_H__ #ifdef __cplusplus extern "C" { #endif /; print F "#include \"pixmaps.h\"\n"; my $filename; foreach $filename (@files) { my $basename = substr($filename, 0, -4); ## assume filename ends in .xpm system("put_in_name.pl $filename"); print F "#include \"../pixmaps/$filename\"\n"; print F2 "extern const char *${basename}_xpm\[\];\n"; } print F2 qq/ #ifdef __cplusplus } #endif #endif /; close F; close F2; gpaint-2-0.3.3/pixmaps/ovalOp.xpm0000664000076400007640000000404407427457132013555 00000000000000/* XPM */ const char *ovalOp_xpm[] = { /* columns rows colors chars-per-pixel */ "30 30 65 1", " c #323232", ". c #353535", "X c Gray23", "o c #3c3c3c", "O c #3f3f3f", "+ c #484848", "@ c #4e4e4e", "# c Gray31", "$ c #515151", "% c Gray32", "& c Gray33", "* c #555555", "= c Gray35", "- c Gray37", "; c #606060", ": c Gray40", "> c Gray41", ", c #888888", "< c #8e8e8e", "1 c Gray56", "2 c Gray57", "3 c #929292", "4 c #939393", "5 c #959595", "6 c #9d9d9d", "7 c Gray62", "8 c #a0a0a0", "9 c #a2a2a2", "0 c #a4a4a4", "q c #c0c0c0", "w c #c1c1c1", "e c Gray76", "r c #c3c3c3", "t c Gray77", "y c #cbcbcb", "u c Gray81", "i c #d0d0d0", "p c Gray82", "a c #d2d2d2", "s c #d3d3d3", "d c Gray83", "f c #d5d5d5", "g c Gray84", "h c #d7d7d7", "j c #d8d8d8", "k c Gray85", "l c Gray86", "z c gainsboro", "x c #dfdfdf", "c c Gray88", "v c #e1e1e1", "b c #e2e2e2", "n c #e6e6e6", "m c #e7e7e7", "M c Gray91", "N c #e9e9e9", "B c #eaeaea", "V c #ececec", "C c Gray93", "Z c #eeeeee", "A c #efefef", "S c #f1f1f1", "D c #f3f3f3", "F c #f6f6f6", "G c Gray97", /* pixels */ "gggggggggggggggggggggggggggggg", "gggggggggggggggggggggggggggggg", "gggggggggggggggggggggggggggggg", "gggggggggggggggggggggggggggggg", "gggggggggggggggggggggggggggggg", "gggggggggggggggggggggggggggggg", "gggggggggggagzllllaagggggggggg", "ggggggggguvVgrtrryMmaagggggggg", "gggggggglF04: oX.@54Vvaggggggg", "ggggggavt$;@8SvvVr$;@8Magggggg", "gggggavt$Suggggggggggggam8&Vaggg", "ggglrozaggggggggggggggaM-4mggg", "ggglrXmaggggggggggggggaV-Fuggggggggggggam8&Vaggg", "ggggzr@tvaggggggggggalv=8vaggg", "ggggavt+tVguggggggaamv&6Magggg", "gggggavt$ c #573030", ", c #5f3939", "< c #683333", "1 c #4d4126", "2 c #4e4227", "3 c #43413b", "4 c #4b4435", "5 c #4a463d", "6 c #584620", "7 c #5e4a21", "8 c #534a37", "9 c #614a14", "0 c #6c5310", "q c #7e5c17", "w c #705738", "e c Gray25", "r c Gray27", "t c #434c4c", "y c #58534b", "u c #58544b", "i c #515151", "p c #515353", "a c #535353", "s c #55575a", "d c #585b5a", "f c #5b5b5b", "g c #5d5d5d", "h c #5e5d5e", "j c #606060", "k c #666d6d", "l c #636770", "z c #727272", "x c #79797a", "c c #7b7b7b", "v c Gray50", "b c #787e89", "n c #87631e", "m c #86641e", "M c #8d6814", "N c #9c7d1d", "B c #a67e1b", "V c #aa7c2a", "C c #825555", "Z c #9a4949", "A c #807d7e", "S c #b15959", "D c #b26464", "F c #b88828", "G c #c29122", "H c #c29223", "J c #c59829", "K c #dfa735", "L c #e0ac30", "P c #e6ad36", "I c #f1b735", "U c #f0ba38", "Y c #ffc743", "T c #ffc843", "R c #ffd043", "E c #ffd044", "W c #ffd548", "Q c #ffd849", "! c #ffe350", "~ c #808686", "^ c Gray53", "/ c #878c8c", "( c #888888", ") c #8a8988", "_ c Gray54", "` c Gray56", "' c #929292", "] c #929295", "[ c #959595", "{ c Gray59", "} c #979797", "| c #959998", " . c #979ca9", ".. c #999da9", "X. c #9fa6a6", "o. c Gray64", "O. c #a1a2a6", "+. c #a3a7a7", "@. c #a1a8a8", "#. c #a9a7a6", "$. c #a6acb7", "%. c #a7adb7", "&. c #b2b1ac", "*. c #b4b4b4", "=. c #ff9898", "-. c #ffeaa3", ";. c #c0c0c0", ":. c #c1c1c1", ">. c #c3c3c3", ",. c #c0c2c7", "<. c #c3c4c7", "1. c #c6c4c0", "2. c Gray77", "3. c #c5c5c5", "4. c #c6c6c6", "5. c #c8cacb", "6. c #cbcbcb", "7. c #cdcdcd", "8. c #cecece", "9. c #caccd1", "0. c #cfcfd0", "q. c #cdcfd6", "w. c #d0d0d0", "e. c Gray82", "r. c #d2d2d2", "t. c #d2d3d3", "y. c #d3d3d3", "u. c Gray83", "i. c #d4d5d5", "p. c #d5d5d4", "a. c #d5d5d5", "s. c #d6d5d5", "d. c Gray84", "f. c #d7d7d6", "g. c #d7d7d7", "h. c #d1d4d9", "j. c #d4d5da", "k. c #d7d7d8", "l. c #d8d8d6", "z. c #d9d8d7", "x. c #d8d8d8", "c. c #d8d8d9", "v. c #d9d8d8", "b. c #d9d9d8", "n. c Gray85", "m. c #dad9d9", "M. c #dadada", "N. c #dbdbda", "B. c Gray86", "V. c #dbdcdc", "C. c #dcdada", "Z. c gainsboro", "A. c #dddddc", "S. c #dddddd", "D. c Gray87", "F. c #dfdede", "G. c #dfdfdf", "H. c #dedfe0", "J. c #e1e1e1", "K. c #e3e1e1", "L. c #e2e2e2", "P. c #e3e2e2", "I. c #e5e3e1", "U. c #e5e4e1", "Y. c #e7e6e3", "T. c #e4e4e4", "R. c #e6e6e6", "E. c #e7e6e6", "W. c #e7e7e7", "Q. c #e8e7e7", "!. c #e9e8e5", "~. c Gray91", "^. c #e9e9e9", "/. c #e9e9ea", "(. c #eae9e9", "). c #eaeaeb", "_. c #eaebeb", "`. c Gray92", "'. c #ebebed", "]. c #edecea", "[. c #ececec", "{. c #ececed", "}. c #eeeeee", "|. c #f2f1ef", " X c Gray94", ".X c #f2f1f1", "XX c #f4f3f3", "oX c Gray96", "OX c #f6f6f6", /* pixels */ "d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.r.r.d.d.d.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.r.E. XS.r.d.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.d.d.d.d.d.r.E.~ t +.Q.r.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.d.d.d.d.r.(./ < S > @.J.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.d.d.d.d.d.C.- D =., X.J.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.d.d.d.r.E.#.X C Z k XXr.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.d.d.d.v.d.= 1.| + 4.d.d.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.d.d.d.v.&.. * ] f ~.r.d.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.d.d.r.'.5 J q O k.d.d.d.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.d.r.].b n Q N v v.d.d.d.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.d.d.k.y H Y 6 $.Y.d.d.d.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.r.Y...0 ! B l |.0.d.d.d.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.l.h.4 P I 1 <.d.d.d.d.d.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.v.O.9 R F s (.r.d.d.d.d.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.r.{.3 L E ; q.l.d.d.d.d.d.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.r.].b m W M c S.d.d.d.d.d.d.r.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.k.u H T 7 %.I.d.d.d.d.d.d.J.S.d.d.d.d.d.d.d.", "d.d.d.d.d.d.r.!. .0 ! B l |.0.d.d.d.d.d.J.{ *.S.d.d.d.d.d.d.", "d.d.d.d.d.d.v.9.8 K U 1 <.d.d.d.d.d.d.r.{.f ( E.d.d.d.d.d.d.", "d.d.d.d.d.d.v.,.: -.V a (.r.d.d.d.d.d.d.u.J.& ;.v.d.d.d.d.d.", "d.d.d.d.d.d.v.5.o w h H.d.d.v.S.d.d.d.d.r.E.$ >.V.d.d.d.d.d.", "d.d.d.d.d.d.v.r. # (.d.8.J.4.;.S.d.r.r.5.(.e ;.v.d.d.d.d.d.", "d.d.d.d.d.d.d.r.S.( z XOXo.$ @ v X{.{.OX4.r 8.v.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.E.c a f j S. Xc a h f h a 4.S.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.d.E.{ ( d.v.r.E.{ ` ' ^ ;.J.r.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.d.r.E.(.d.d.d.r.E.E.E.(.S.r.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.d.d.r.r.d.d.d.d.r.r.r.r.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.", "d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d." }; gpaint-2-0.3.3/pixmaps/polyOp.xpm0000664000076400007640000000701607427457132013601 00000000000000/* XPM */ const char *polyOp_xpm[] = { /* columns rows colors chars-per-pixel */ "30 30 100 2", " c #111111", ". c #1e1e1e", "X c Gray12", "o c #282828", "O c #2a2a2a", "+ c Gray17", "@ c #393939", "# c #3a3a3a", "$ c Gray23", "% c #3c3c3c", "& c Gray24", "* c #3e3e3e", "= c #3f3f3f", "- c #434343", "; c #464646", ": c #4b4b4b", "> c #535353", ", c #555555", "< c Gray35", "1 c #5a5a5a", "2 c #5b5b5b", "3 c Gray36", "4 c #5f5f5f", "5 c #606060", "6 c Gray39", "7 c #646464", "8 c #656565", "9 c #686868", "0 c Gray41", "q c #777777", "w c #797979", "e c #7b7b7b", "r c #808080", "t c #8d8d8d", "y c #8e8e8e", "u c Gray56", "i c #909090", "p c Gray57", "a c #929292", "s c #939393", "d c Gray59", "f c #979797", "g c #9b9b9b", "h c #9d9d9d", "j c #9f9f9f", "k c Gray63", "l c Gray64", "z c #a5a5a5", "x c #a7a7a7", "c c #a9a9a9", "v c #b4b4b4", "b c Gray72", "n c Gray74", "m c Gray75", "M c #c0c0c0", "N c #c1c1c1", "B c Gray76", "V c #c3c3c3", "C c Gray77", "Z c #c8c8c8", "A c #cacaca", "S c #cbcbcb", "D c Gray80", "F c #cecece", "G c Gray81", "H c #d0d0d0", "J c Gray82", "K c #d2d2d2", "L c #d3d3d3", "P c Gray83", "I c #d5d5d5", "U c Gray84", "Y c #d7d7d7", "T c #d8d8d8", "R c Gray85", "E c #dadada", "W c Gray86", "Q c gainsboro", "! c #dddddd", "~ c Gray87", "^ c #dfdfdf", "/ c #e1e1e1", "( c #e2e2e2", ") c Gray89", "_ c #e4e4e4", "` c Gray90", "' c #e6e6e6", "] c #e7e7e7", "[ c Gray91", "{ c #e9e9e9", "} c Gray92", "| c Gray93", " . c #eeeeee", ".. c #efefef", "X. c Gray94", "o. c Gray95", "O. c #f4f4f4", "+. c Gray96", "@. c Gray97", "#. c Gray100", /* pixels */ "U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U ", "U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U ", "U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U ", "U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U ", "U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U ", "U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U ", "U U U U U U U U U U U U U U U U U U U U L U U U U U U U U U ", "U U U U U U U U U L U U U U U U U U U L { W L U U U U U U U ", "U U U U U U U U U ( W L U U U U U U L ( z % f ` U U U U U U ", "U U U U U U U L ( f n { W U U U L W ..e 4 . z ` L U U U U U ", "U U U U U U U L { 7 5 A ~ ( W o.z + r O.L : F W U U U U U ", "U U U U U U U ` i 5 ` j + q v C e 4 A ~ F { % n W U U U U U ", "U U U U U U L ` j 2 o.U ..e > 2 5 ~ ~ U L ( @ F W U U U U U ", "U U U U U U W L ; C W U L ..L b O.L U U U ~ k 2 ( L U U U U ", "U U U U U U ~ k , { L U U L W ~ F U U U U W A @ ( L U U U U ", "U U U U U L ` % F W U U U U U L U U U U U W B @ ` L U U U U ", "U U U U U U ~ % B W U U U U U U U U U U U W C % ~ U U U U U ", "U U U U L { 4 y ` L U U U U U U U U U U U U ` y 4 ..L U U U ", "U U U U L O.7 i ..W W L L U L U L U L L U L ` i 4 ..L U U U ", "U U U U ( z : C B B C ` ` ` ` ` ` ` ` ` L F ( y 2 { L U U U ", "U U U U ( c + - @ @ % y i i i y i i i i { ..{ #.9 i ` U U U ", "U U U U U W ` ( ` ` ~ 5 2 2 2 2 2 2 2 2 2 2 2 9 . g ` L U U ", "U U U U U U L L L L U { ..............{ i y i y f F W U U U ", "U U U U U U U U U U U L L L L L L L L L ` { ` ` ` U U U U U ", "U U U U U U U U U U U U U U U U U U U U L L L L L U U U U U ", "U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U ", "U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U ", "U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U ", "U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U ", "U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U " }; gpaint-2-0.3.3/pixmaps/pullright.xbm0000664000076400007640000000045207172011161014271 00000000000000#define pullright_width 16 #define pullright_height 16 static unsigned char pullright_bits[] = { 0x00, 0x00, 0x08, 0x00, 0x38, 0x00, 0xf8, 0x00, 0xf8, 0x03, 0xf8, 0x0f, 0xf8, 0x3f, 0xf8, 0x3f, 0xf8, 0x0f, 0xf8, 0x03, 0xf8, 0x00, 0x38, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; gpaint-2-0.3.3/pixmaps/put_in_name.pl0000775000076400007640000000073507172011161014411 00000000000000#!/usr/local/bin/perl -w my @args = @ARGV; my $i; foreach $filename (@args) { put_in_name($filename); } sub put_in_name($) { my $filename = shift(@_); my $basename = substr($filename, 0, -4); ## assume filename ends in .xpm open(F, "< $filename"); open(F2, "> /tmp/junk"); while () { s/static char/const char/i; s/magick/${basename}_xpm/i; print F2 $_; } close(F); close(F2); system("mv /tmp/junk $filename"); } gpaint-2-0.3.3/pixmaps/rayOp.xpm0000664000076400007640000000347707172011161013401 00000000000000/* XPM */ const char * rayOp_xpm[] = { "40 40 2 1", " c #D6D6D6D6D6D6", ". c #000000000000", " ", " ", " ", " ", " ... ", " ...... ", " ......... ", " ........... ", " .... .... .... ", " ... ..... .... ", " ... .. .. .... ", " ... .. .. .. ", " ... .. .. ", " ... .. .. ", " ... .. ... ", " .. .. ", " .. .. ", " .. .. ", " .. .. ", " .. .. ", " .. .. ", " .. ... ", " .. .. ", " .. .. ", " .. .. ", " .. .. ", " ... ", " .. ", " .. ", " .. ", " .. ", " .. ", " ", " ", " ", " ", " ", " ", " ", " "}; gpaint-2-0.3.3/pixmaps/selectOp.xpm0000664000076400007640000000350207172011161014052 00000000000000/* XPM */ const char * selectOp_xpm[] = { "40 40 2 1", " c #51445144FFFF", ". c #FFFFFFFFFFFF", " ", " ", " ", " ", " ", " .. .. .. .. .. .. ", " . . ", " ", " ", " . . ", " . . ", " ", " ", " . . ", " . . . .. .. ", " . . ", " .. . ", " . . . ", " .. .. .. .. .. .. . ", " . ... ", " . .... ", " . ..... . ", " ...... . ", " ....... ", " . ........ . ", " . ..... . ", " . .. .. ", " . . .. ", " .. .. .. ", " .. ", " .. ", " ", " ", " ", " ", " ", " ", " ", " ", " "}; gpaint-2-0.3.3/pixmaps/selpolyOp.xpm0000664000076400007640000000734507427457132014312 00000000000000/* XPM */ const char *selpolyOp_xpm[] = { /* columns rows colors chars-per-pixel */ "30 30 111 2", " c #3b3bff", ". c #3d3dff", "X c #3e3eff", "o c #3f3fff", "O c #4040ff", "+ c #4141ff", "@ c #4242ff", "# c #4343ff", "$ c #4444ff", "% c #4545ff", "& c #4646ff", "* c #4747ff", "= c #4848ff", "- c #4949ff", "; c #4a4aff", ": c #4b4bff", "> c #4c4cff", ", c #4d4dff", "< c #4e4eff", "1 c #4f4fff", "2 c #5050ff", "3 c #5151ff", "4 c #5252ff", "5 c #5353ff", "6 c #5454ff", "7 c #5555ff", "8 c #5656ff", "9 c #5858ff", "0 c #5959ff", "q c #5a5aff", "w c #5b5bff", "e c #5f5fff", "r c #6060ff", "t c #6161ff", "y c #6262ff", "u c #6363ff", "i c #6565ff", "p c #6767ff", "a c #6868ff", "s c #6969ff", "d c #6b6bff", "f c #6c6cff", "g c #6d6dff", "h c #6e6eff", "j c #6f6fff", "k c #7070ff", "l c #7171ff", "z c #7272ff", "x c #7777ff", "c c #7878ff", "v c #7979ff", "b c #7c7cff", "n c #7e7eff", "m c #7f7fff", "M c #8181ff", "N c #8282ff", "B c #8484ff", "V c #8686ff", "C c #8989ff", "Z c #8a8aff", "A c #8c8cff", "S c #8d8dff", "D c #8e8eff", "F c #9292ff", "G c #9494ff", "H c #9595ff", "J c #9797ff", "K c #9a9aff", "L c #9b9bff", "P c #9c9cff", "I c #a0a0ff", "U c #a3a3ff", "Y c #a4a4ff", "T c #a6a6ff", "R c #aaaaff", "E c #acacff", "W c #aeaeff", "Q c #b2b2ff", "! c #b5b5ff", "~ c #b6b6ff", "^ c #b7b7ff", "/ c #b8b8ff", "( c #babaff", ") c #bebeff", "_ c #c5c5ff", "` c #c6c6ff", "' c #cacaff", "] c #ccccff", "[ c #d0d0ff", "{ c #d4d4ff", "} c #d5d5ff", "| c #d6d6ff", " . c #d7d7ff", ".. c #d8d8ff", "X. c #dbdbff", "o. c #dcdcff", "O. c #ddddff", "+. c #dedeff", "@. c #e1e1ff", "#. c #e8e8ff", "$. c #ebebff", "%. c #f1f1ff", "&. c #f3f3ff", "*. c #f5f5ff", "=. c GhostWhite", "-. c #fafaff", ";. c #fbfbff", ":. c #fcfcff", ">. c #fdfdff", ",. c #fefeff", "<. c Gray100", /* pixels */ "3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ", "3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 6 3 3 3 3 3 3 3 3 3 3 ", "3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 6 % , 3 3 3 3 3 3 3 3 3 ", "3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 o D 0 3 3 3 3 3 3 3 3 3 ", "3 3 3 3 3 3 3 3 % 3 6 3 3 3 6 , % z X.#.3 , 3 3 3 3 3 3 3 3 ", "3 3 3 3 3 6 % } Z ; % 3 3 6 % p p 3 0 ( B ; 3 3 3 3 3 3 3 3 ", "3 3 3 3 3 6 ; K Y @ P , ; , e _ p ; , , J , 3 3 3 3 3 3 3 3 ", "3 3 3 3 3 ; 6 ; @ , b O.D , _ e % 6 3 6 , ; 3 3 3 3 3 3 3 3 ", "3 3 3 3 , 6 ( v ; 3 % t 0 3 0 ; 6 3 , 0 ) t , 3 3 3 3 3 3 3 ", "3 3 3 3 ; z B @ 6 3 3 , , 3 , 3 3 3 3 @ M ^ o 6 3 3 3 3 3 3 ", "3 3 3 3 6 , ; 6 3 3 3 3 3 3 3 3 3 3 3 % Z Q @ 6 3 3 3 3 3 3 ", "3 3 3 , 3 [ ; 3 3 3 3 3 3 3 3 3 3 3 3 3 6 ; ; 3 3 3 3 3 3 3 ", "3 3 3 ; I K ; 3 3 3 3 3 3 3 3 3 3 3 3 3 % M j ; 3 3 3 3 3 3 ", "3 3 3 ; v , 3 6 6 3 3 3 3 3 3 3 3 3 3 6 o ^ Z % 3 3 3 3 3 3 ", "3 3 , s % @ 6 @ @ 6 3 6 6 3 3 6 6 3 3 6 @ K b % 3 3 3 3 3 3 ", "3 6 o E O.J @ Y I @ 6 % % , , % % 3 , , 3 ; @ 3 3 3 3 3 3 3 ", "3 3 , t D b ; x R J ; ] O.s s O.' 6 0 t 3 6 ^ 6 3 3 3 3 3 3 ", "3 3 3 , @ % 6 % , 0 , t t 6 6 t t % F O.% D <.j % 6 3 3 3 3 ", "3 3 3 3 3 3 3 3 3 , 3 , , 3 3 , , 3 ; % 6 o } <.j % 6 3 3 3 ", "3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 6 6 % } <.%.z % 6 3 3 ", "3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 6 % } <.;.;.j % 6 3 ", "3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 6 % } <.;.<.*.z % 6 ", "3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 6 % } <.;.<.<.%.s ; ", "3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 6 % } ;.#.<., 0 6 3 ", "3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 6 % X.J p ;.J @ 3 3 ", "3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 , j , } @.@ 6 3 ", "3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ; 3 3 0 <.R @ 6 ", "3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 E b ; 3 ", "3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 o ; 3 3 ", "3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 6 3 3 3 " }; gpaint-2-0.3.3/pixmaps/selrectOp.xpm0000664000076400007640000000271010634163571014246 00000000000000/* XPM */ const char * selrectOp_xpm[] = { "30 30 27 1", " c None", ". c #5151FF", "+ c #FFFFFF", "@ c #B7B7FF", "# c #5454FF", "$ c #6F6FFF", "% c #4545FF", "& c #D5D5FF", "* c #F1F1FF", "= c #7272FF", "- c #FBFBFF", "; c #F5F5FF", "> c #6969FF", ", c #E8E8FF", "' c #4D4DFF", ") c #5959FF", "! c #DBDBFF", "~ c #9797FF", "{ c #6767FF", "] c #4242FF", "^ c #3B3BFF", "/ c #E1E1FF", "( c #4A4AFF", "_ c #AAAAFF", ": c #ACACFF", "< c #7C7CFF", "[ c #3F3FFF", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", ".......+.+.+.+.+..+..+.+......", "..............................", ".......+...............+......", "..............................", ".......+...............+......", "..............................", ".......+...............+......", "..............................", ".......+...............@#.....", ".......................+$%#...", ".......+...............&+$%#..", ".......................&+*=%#.", ".......+.+..+..+.+.+.+.&+--$%#", ".......................&+-+;=%", ".......................&+-++*>", ".......................&-,+')#", ".......................!~{-~].", ".......................$'^&/]#", ".......................(..)+_]", "...........................:<(", "...........................[(."}; gpaint-2-0.3.3/pixmaps/smearOp.xpm0000664000076400007640000000360007172011161013701 00000000000000/* XPM */ const char * smearOp_xpm[] = { "40 40 5 1", " c #D6D6D6D6D6D6", ". c #FBFB14144141", "X c #AEAE28281C1C", "o c #000000000000", "O c #51515151FFFF", " ", " .... ", " ........ ", " .......... ", " .......... ", " ..........XX ", " ..........X.X ", " ..........X.XX ", " oo .........X.XX ", " oo .....X.XX.XX ", " oo ..X..XXXXXX ", " oo .XXXXXXXXX ", " oo XXXXXXX ", " oo ooXX ", " oo OOoo ", " oOOOOOOOOOOOOoo ", " oOOOOOOOOOOOo ", " oOOOOOOOOOoo ", " ooOOOOOOOoo ", " ooOOOOOOOoo ", " oOOOOooooo ", " OOoo ", " oo ", " ", " ", " ", " O ", " OOO ", " OOO ", " OOO ", " OOOOO ", " OOOOO ", " OOOOO ", " OOOOO ", " OOO ", " ", " ", " ", " ", " "}; gpaint-2-0.3.3/pixmaps/sprayOp.xpm0000664000076400007640000000362507172011161013737 00000000000000/* XPM */ const char * sprayOp_xpm[] = { "40 40 6 1", " c #D6D6D6D6D6D6", ". c #757575757575", "X c #000000000000", "o c #CBCBC7C7C7C7", "O c #FFFFFFFFFFFF", "+ c #51515151FFFF", " ", " ", " ", " ", " ", " ........... ", " ..Xo.o.ooOOOOO... ..", " .XX+.+.++++++++OOO. X..oo", " ....+.+++++++++...XXooooo", " .ooo...........oooXo.oooo", " .oooooooooooooooo..oooooo", " .oooooooooooooooo.o.oooo", " .ooooooooooooooo.ooooooo", " .o.ooooooooooo.ooo.ooooo", " .oo.ooooooooooooooooooo", " XoXo.ooooo.oooooooooooo", " XXoo.o.ooooooooooooooo", " ..ooXXooooooooooooooo.o.", " ..OOOooooooooooooooo.o.o.o", " .OOOOooooooooooooooo.o.oXX.", " ..OXOooooooooooooo.o.ooXX. ", " XOOOo.oooooo.o.o.o.oXXX. ", " .oXoooXooo.o.o.ooXXX. ", " .ooXoo.o..o.oXXX. ", " .ooXo.X.oXXX. ", "++ ++ + + .oXoXXX. ", " + + X.. ", " + + + ", " + + + ", " + + ", "+ + ", " +O+ ", " + ", " ", " ", " ", " ", " ", " ", " "}; gpaint-2-0.3.3/pixmaps/textOp.xpm0000664000076400007640000001142607427457132013602 00000000000000/* XPM */ const char *textOp_xpm[] = { /* columns rows colors chars-per-pixel */ "30 30 182 2", " c Gray0", ". c #010101", "X c #020101", "o c #020202", "O c Gray2", "+ c #060606", "@ c Gray3", "# c #090909", "$ c Gray4", "% c #0c0c0c", "& c Gray5", "* c #0e0e0e", "= c #101010", "- c #111111", "; c #161616", ": c Gray9", "> c Gray10", ", c #20190b", "< c #222222", "1 c #232323", "2 c Gray15", "3 c #272727", "4 c #282828", "5 c Gray16", "6 c Gray17", "7 c #2c2c2c", "8 c Gray19", "9 c #313131", "0 c #343434", "q c #353535", "w c Gray21", "e c #373737", "r c Gray22", "t c #393939", "y c #3a3a3a", "u c Gray23", "i c #3c3c3c", "p c Gray24", "a c #3e3e3e", "s c #433518", "d c #413816", "f c #5e4614", "g c #534a37", "h c #664d1b", "j c #6a4e12", "k c #6f530e", "l c #7b5a16", "z c #6a562a", "x c Gray25", "c c Gray27", "v c #45484e", "b c #484848", "n c #494949", "m c #4c4c4c", "M c Gray31", "N c #4c5057", "B c #565656", "V c Gray34", "C c #585858", "Z c #5d5d5d", "A c Gray37", "S c #5f5f5f", "D c #625e55", "F c #61605e", "G c Gray40", "H c Gray41", "J c Gray42", "K c Gray45", "L c #757472", "P c #767676", "I c Gray48", "U c #b48218", "Y c #b9861c", "T c #b58628", "R c #dca533", "E c #e4b537", "W c #ebb139", "Q c #f3b73c", "! c #f4b73b", "~ c #f5b93c", "^ c #f6bc3e", "/ c #f9bd3f", "( c #fbbf3f", ") c #ffc237", "_ c #fdc13a", "` c #ffc13f", "' c #ffc53d", "] c #f6c743", "[ c #fec945", "{ c #ffce44", "} c #ffd748", "| c #ffe249", " . c Gray51", ".. c #838383", "X. c #848484", "o. c #868686", "O. c #888888", "+. c Gray57", "@. c #929292", "#. c #959595", "$. c #90929b", "%. c #9a9a9a", "&. c #9b9b9b", "*. c #979da9", "=. c #999fab", "-. c #9ea1a7", ";. c #9ca2af", ":. c #9fa5b0", ">. c #a0a0a0", ",. c Gray63", "<. c #a2a2a2", "1. c #a5a5a5", "2. c #a8a7a6", "3. c Gray66", "4. c #aaaaaa", "5. c Gray67", "6. c Gray68", "7. c #aeaeae", "8. c Gray69", "9. c #b1b1b1", "0. c #b2b2b2", "q. c Gray70", "w. c Gray71", "e. c #b6b6b6", "r. c #bebebe", "t. c Gray75", "y. c #c0c0c0", "u. c Gray76", "i. c #c3c3c3", "p. c #c5c5c5", "a. c #cacaca", "s. c Gray80", "d. c #cdcdcd", "f. c Gray81", "g. c #d0d0d0", "h. c Gray82", "j. c #d2d2d2", "k. c #d3d3d3", "l. c #d3d3d4", "z. c Gray83", "x. c #d5d5d5", "c. c #d5d5d6", "v. c #d6d6d5", "b. c Gray84", "n. c #d7d7d7", "m. c #d5d8dc", "M. c #d8d8d8", "N. c #d9d9d8", "B. c Gray85", "V. c #dadada", "C. c Gray86", "Z. c #dddbd8", "A. c #dddddd", "S. c Gray87", "D. c #dfdfdf", "F. c #d9dce4", "G. c #dcdee2", "H. c #e1e1df", "J. c Gray88", "K. c #e1e1e1", "L. c #e2e2e2", "P. c Gray89", "I. c #e6e5e2", "U. c #e4e4e4", "Y. c Gray90", "T. c #e6e5e4", "R. c #e6e6e6", "E. c #e7e7e7", "W. c #e9e7e4", "Q. c #eae9e7", "!. c Gray91", "~. c #e9e9e9", "^. c #eaeae8", "/. c #eaeaea", "(. c Gray92", "). c #ececec", "_. c Gray93", "`. c #efefef", "'. c Gray94", "]. c #f4f4f4", "[. c #fdfbf8", "{. c Gray100", /* pixels */ "b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.l.Z.F.s ' ! ~ ", "b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.M.G.F T ` ! ^ ", "b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.D U { ! / E ", "b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.h.h.I.*.k } W / ) z ", "b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.J.E.m.g R Q [ _ f :.", "b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.h.J.5.2.$.d | ] Y h =.W.", "b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.h.(.X. , l j N -.(.h.", "b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.(. . * O O v ;.Q.H.h.b.", "b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.A. . O h. . L [.f.h.b.b.", "b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.M.h.$ C E.{.u 5.M.b.b.b.b.", "b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.f. V J.u 7 * 8.E.h.b.b.b.b.", "b.b.b.b.b.b.b.b.b.b.b.b.b.b.f.].8 M (.2 $ 7.E.h.b.b.b.b.b.", "b.b.b.b.b.b.b.b.b.b.b.A.J.h.(.%.G M.2 - w.E.h.b.b.b.b.b.b.", "b.b.b.b.b.b.b.b.b.b.A.%.K ).#.S f.B &.<.w.J.h.b.b.b.b.b.b.b.", "b.b.b.b.b.b.b.b.b.b.A.- 1.P f.b y.(.J.A.h.b.b.b.b.b.b.b.b.", "b.b.b.b.b.b.b.b.h.E.X. S a.b p.J.h.h.b.b.b.b.b.b.b.b.b.b.", "b.b.b.b.b.b.b.h.E.@. * 8.t.E.h.b.b.b.b.b.b.b.b.b.b.b.b.", "b.b.b.b.b.b.b.b.).x @.a $ h.A.h.b.b.b.b.b.b.b.b.b.b.b.b.b.", "b.b.b.b.b.b.b.A.M < M.8. * M.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.", "b.b.b.b.b.b.M.y.6 h.(.<. V J.h.b.b.b.b.b.b.b.b.b.b.b.b.b.", "b.b.b.b.b.f.'.e M J.M.<. 8 E.h.b.b.b.b.b.b.b.b.b.b.b.b.b.", "b.b.b.b.h.J.7.; E.E.(.b.e a ).h.b.b.b.b.b.b.b.b.b.b.b.b.b.", "b.b.b.b.A.t.* O e u e c 7 O.E.h.b.b.b.b.b.b.b.b.b.b.b.b.", "b.b.b.b.A.J S E.t.y.t.h.S J (.h.b.b.b.b.b.b.b.b.b.b.b.b.", "b.b.b.A.M.> 5.J.M.M.M.E.8.; I ].h.b.b.b.b.b.b.b.b.b.b.b.b.", "b.b.f.h.a 6 (.h.b.b.M.f.M.e $ <.A.b.b.b.b.b.b.b.b.b.b.b.b.", "h.A.8.8 8 < X.E.h.b.A.8.7 e e 6 u h.M.b.b.b.b.b.b.b.b.b.b.b.", "b.b.M.E.E.E.A.b.b.b.b.M.J.E.E.(.E.b.b.b.b.b.b.b.b.b.b.b.b.b.", "b.b.b.h.h.h.b.b.b.b.b.b.h.h.h.h.h.b.b.b.b.b.b.b.b.b.b.b.b.b.", "b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b." }; gpaint-2-0.3.3/pixmaps/tfillOp.xpm0000664000076400007640000000457107172011161013714 00000000000000/* XPM */ const char * tfillOp_xpm[] = { "40 40 29 1", " c #D6D6D6D6D6D6", ". c #000000000000", "X c #FFFFFFFFFFFF", "o c #E3E32C2C3C3C", "O c #D3D341413C3C", "+ c #C3C351513C3C", "@ c #B6B665653838", "# c #A6A679793838", "$ c #96968A8A3838", "% c #86869E9E3838", "& c #7979AEAE3434", "* c #6969C3C33434", "= c #5959D3D33434", "- c #4949E7E73434", "; c #3C3CFBFB3434", ": c #F3F31C1C3C3C", "> c #8E8E92923838", ", c #FBFB14144141", "< c #7D7DA6A63838", "1 c #AEAE6D6D3838", "2 c #7171BABA3434", "3 c #EBEB24243C3C", "4 c #DBDB38383C3C", "5 c #CBCB49493C3C", "6 c #9E9E82823838", "7 c #6161CBCB3434", "8 c #BABA5D5D3C3C", "9 c #5151DFDF3434", "0 c #4141EFEF3434", " ", " ", " ", " ", " ", " ", " ", " .. ", " .X.. ", " .XXXX.. ", " .XXXXXX.. ", " ..XXXXXXXX.. ", " .XXXXXXXXXXX.. ", " .XXXXXXXXXXXXX.. ", " .oO+@#$%&*=-;. % ", " ..oO+@#$%&*=-. % ", " .:oO+@#$%&*=-. >% ", " .,:oO+@#$%&*=. >% ", " .,:oO+@#$%&*=. %% ", " .,,:oO+@#$%&*. %% ", " ..,:oO+@#$%&*. %%< ", " ...oO+@#$%&. %< ", " ..O+@#$%&. % ", " ...#$%. % , ", " ..$.. %% , ", " .. >% , ", " > >%% , ", " >>> $>%% >> ", " >%% > ", " 1 $>%% ", " , ,,:3 4OO5+ 11#6$>%%<&2*77 ", ",,,,,,,,,,,:3o4OO5+8@11#6$>%%<&2*77=9-0;", ",,,,,,,,,,,:3o4OO5+8@11#6$>%%<&2*77=9-0;", ",,,,,,,,,,,:3o4OO5+8@11#6$>%%<&2*77=9-0;", ",,,,,,,,,,,:3o4OO5+8@11#6$>%%<&2*77=9-0;", ",,,,,,,,,,,:3o4OO5+8@11#6$>%%<&2*77=9-0;", ",,,,,,,,,,,:3o4OO5+8@11#6$>%%%<&2*77=9-0", ",,,,,,,,,,,,:3o4OO5+8@11#6$>%%<&2*77=9-0", ",,,,,,,,,,,,:3o4OO5+8@11#6$>%%<&2*77=9-0", ",,,,,,,,,,,,:3o4OO5+8@11#6$>%%<&2*77=9-0"}; gpaint-2-0.3.3/pixmaps/unfilled.xpm0000664000076400007640000000074207203720120014076 00000000000000/* XPM */ const char * unfilled_xpm[] = { "20 16 2 1", " c #FFFFFFFFFFFF", ". c #000000000000", " ", " ", " .............. ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " .............. ", " ", " ", " "}; gpaint-2-0.3.3/pixmaps/wait1.xbm0000664000076400007640000000102607172011161013302 00000000000000#define wait1_width 24 #define wait1_height 24 static unsigned char wait1_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x80, 0xcf, 0x00, 0xc0, 0x0f, 0x01, 0xe0, 0x0f, 0x02, 0xf0, 0x0f, 0x04, 0xf0, 0x0f, 0x04, 0xf8, 0x0f, 0x08, 0xf8, 0x0f, 0x08, 0xf8, 0xff, 0x0f, 0x08, 0xf8, 0x0f, 0x08, 0xf8, 0x0f, 0x10, 0xf8, 0x07, 0x10, 0xf8, 0x07, 0x20, 0xf8, 0x03, 0x40, 0xf8, 0x01, 0x80, 0xf9, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; gpaint-2-0.3.3/pixmaps/wait2.xbm0000664000076400007640000000102607172011161013303 00000000000000#define wait2_width 24 #define wait2_height 24 static unsigned char wait2_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x80, 0xff, 0x00, 0xc0, 0xff, 0x01, 0xe0, 0xff, 0x03, 0x90, 0xff, 0x04, 0x10, 0x7f, 0x04, 0x08, 0x3e, 0x08, 0x08, 0x1c, 0x08, 0x08, 0x08, 0x08, 0x08, 0x1c, 0x08, 0x08, 0x3e, 0x08, 0x10, 0x7f, 0x04, 0x90, 0xff, 0x04, 0xe0, 0xff, 0x03, 0xc0, 0xff, 0x01, 0x80, 0xff, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; gpaint-2-0.3.3/pixmaps/wait3.xbm0000664000076400007640000000102607172011161013304 00000000000000#define wait3_width 24 #define wait3_height 24 static unsigned char wait3_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x80, 0xf9, 0x00, 0x40, 0xf8, 0x01, 0x20, 0xf8, 0x03, 0x10, 0xf8, 0x07, 0x10, 0xf8, 0x07, 0x08, 0xf8, 0x0f, 0x08, 0xf8, 0x0f, 0xf8, 0xff, 0x0f, 0xf8, 0x0f, 0x08, 0xf8, 0x0f, 0x08, 0xf0, 0x0f, 0x04, 0xf0, 0x0f, 0x04, 0xe0, 0x0f, 0x02, 0xc0, 0x0f, 0x01, 0x80, 0xcf, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; gpaint-2-0.3.3/pixmaps/wait4.xbm0000664000076400007640000000102607172011161013305 00000000000000#define wait4_width 24 #define wait4_height 24 static unsigned char wait4_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x80, 0xc1, 0x00, 0x40, 0x00, 0x01, 0x60, 0x00, 0x03, 0xf0, 0x80, 0x07, 0xf0, 0xc1, 0x07, 0xf8, 0xe3, 0x0f, 0xf8, 0xf7, 0x0f, 0xf8, 0xff, 0x0f, 0xf8, 0xf7, 0x0f, 0xf8, 0xe3, 0x0f, 0xf0, 0xc1, 0x07, 0xf0, 0x80, 0x07, 0x60, 0x00, 0x03, 0x40, 0x00, 0x01, 0x80, 0xc1, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };